{"openapi":"3.0.0","paths":{"/v1/bank/conciliacion":{"get":{"description":"Proxy a Banco ConciliacionTransferenciasDeBanco. `fecha` = FechaConciliacion (YYYY-MM-DD), por defecto hoy AR. Keys de tenant solo ven CVUs de su PSP.","operationId":"BankController_conciliacion","parameters":[{"name":"fecha","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"api-key":[]}],"summary":"Transferencias conciliadas por el banco (fecha Debin)","tags":["bank"]}},"/v1/voucher-types":{"get":{"description":"Incluye tipos de sistema (hold/transfer/crédito/etc.) y tipos custom del tenant.","operationId":"LedgerController_listVoucherTypes","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/VoucherTypeResponse"}}}}},"401":{"description":"API key ausente o inválida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Listar tipos de comprobante","tags":["ledger-comprobantes"]},"post":{"operationId":"LedgerController_createVoucherType","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateVoucherTypeDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoucherTypeResponse"}}}},"401":{"description":"API key ausente o inválida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Crear tipo de comprobante custom (credit|debit)","tags":["ledger-comprobantes"]}},"/v1/voucher-types/{code}":{"patch":{"operationId":"LedgerController_patchVoucherType","parameters":[{"name":"code","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToggleVoucherTypeDto"}}}},"responses":{"200":{"description":""},"401":{"description":"API key ausente o inválida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Activar/desactivar tipo custom","tags":["ledger-comprobantes"]},"delete":{"operationId":"LedgerController_deleteVoucherType","parameters":[{"name":"code","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"204":{"description":""},"401":{"description":"API key ausente o inválida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Eliminar tipo custom","tags":["ledger-comprobantes"]}},"/v1/accounts/{cvu}/comprobantes":{"get":{"description":"Proyección legible de ledger_movements (sentido, tipo, saldos después).","operationId":"LedgerController_listComprobantes","parameters":[{"name":"cvu","required":true,"in":"path","schema":{"type":"string"}},{"name":"limit","required":true,"in":"query","schema":{"type":"string"}},{"name":"offset","required":true,"in":"query","schema":{"type":"string"}},{"name":"type","required":true,"in":"query","schema":{"type":"string"}},{"name":"referenceType","required":true,"in":"query","schema":{"type":"string"}},{"name":"from","required":true,"in":"query","schema":{"type":"string"}},{"name":"to","required":true,"in":"query","schema":{"type":"string"}},{"name":"q","required":true,"in":"query","schema":{"type":"string"}},{"name":"sort","required":true,"in":"query","schema":{"type":"string"}},{"name":"order","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ComprobanteResponse"}}}}},"401":{"description":"API key ausente o inválida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Listar comprobantes de una CVU","tags":["ledger-comprobantes"]},"post":{"description":"Solo tipos custom del tenant. Idempotente por idExterno + sentido (credit/debit).","operationId":"LedgerController_createComprobante","parameters":[{"name":"cvu","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateComprobanteDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComprobanteResponse"}}}},"401":{"description":"API key ausente o inválida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Crear comprobante de ajuste","tags":["ledger-comprobantes"]}},"/v1/comprobantes/internal":{"get":{"description":"Ajustes manuales y liquidaciones P2P internas (INTERNAL_P2P_IN/OUT) de todas las CVU, paginado.","operationId":"LedgerController_listInternalComprobantes","parameters":[{"name":"limit","required":true,"in":"query","schema":{"type":"string"}},{"name":"offset","required":true,"in":"query","schema":{"type":"string"}},{"name":"desde","required":true,"in":"query","schema":{"type":"string"}},{"name":"hasta","required":true,"in":"query","schema":{"type":"string"}},{"name":"cvu","required":true,"in":"query","schema":{"type":"string"}},{"name":"tipo","required":true,"in":"query","schema":{"type":"string"}},{"name":"importeMin","required":true,"in":"query","schema":{"type":"string"}},{"name":"importeMax","required":true,"in":"query","schema":{"type":"string"}},{"name":"sort","required":true,"in":"query","schema":{"type":"string"}},{"name":"order","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":"API key ausente o inválida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Listar comprobantes internos (global)","tags":["ledger-comprobantes"]}},"/v1/comprobantes/by-external/{idExterno}":{"get":{"description":"Solo comprobantes de tipo adjustment.","operationId":"LedgerController_getByExternal","parameters":[{"name":"idExterno","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComprobanteResponse"}}}},"401":{"description":"API key ausente o inválida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Consultar ajuste por idExterno","tags":["ledger-comprobantes"]}},"/v1/comprobantes/{id}":{"get":{"operationId":"LedgerController_getComprobante","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComprobanteResponse"}}}},"401":{"description":"API key ausente o inválida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Consultar comprobante por ID interno","tags":["ledger-comprobantes"]}},"/v1/accounts/{cvu}/balance/historical":{"get":{"operationId":"LedgerController_historicalBalance","parameters":[{"name":"cvu","required":true,"in":"path","schema":{"type":"string"}},{"name":"date","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HistoricalBalanceResponse"}}}},"401":{"description":"API key ausente o inválida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Saldo histórico de cierre por fecha (EOD o último movimiento del día)","tags":["ledger-comprobantes"]}},"/wallet/v1/Remuneracion/Alta":{"post":{"operationId":"WalletRemuneracionController_alta","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnrollRemuneracionDto"}}}},"responses":{"201":{"description":""}},"security":[{"api-key":[]}],"summary":"Alta de cuenta comitente en remuneración de saldos","tags":["wallet-remuneracion"]}},"/wallet/v1/Remuneracion/Estado/{cvu}":{"get":{"operationId":"WalletRemuneracionController_estado","parameters":[{"name":"cvu","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"api-key":[]}],"summary":"Estado de enrolamiento y saldo valorizado","tags":["wallet-remuneracion"]}},"/v1/treasury":{"get":{"description":"freeBalance es informativo y puede ser negativo si el PSP usa float de clientes.","operationId":"TreasuryController_getTreasury","parameters":[],"responses":{"200":{"description":"Treasury snapshot"}},"security":[{"api-key":[]}],"summary":"Snapshot de tesorería (sweep)","tags":["treasury"]}},"/v1/treasury/positions":{"get":{"operationId":"TreasuryController_listPositions","parameters":[{"name":"q","required":true,"in":"query","schema":{"type":"string"}},{"name":"min","required":true,"in":"query","schema":{"type":"string"}},{"name":"max","required":true,"in":"query","schema":{"type":"string"}},{"name":"limit","required":true,"in":"query","schema":{"type":"string"}},{"name":"offset","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"api-key":[]}],"summary":"Listar posiciones de cliente","tags":["treasury"]}},"/v1/treasury/positions/{cvu}":{"get":{"operationId":"TreasuryController_getPosition","parameters":[{"name":"cvu","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"api-key":[]}],"summary":"Saldo de cliente de una CVU","tags":["treasury"]}},"/v1/treasury/positions/{cvu}/movements":{"get":{"operationId":"TreasuryController_listMovements","parameters":[{"name":"cvu","required":true,"in":"path","schema":{"type":"string"}},{"name":"from","required":true,"in":"query","schema":{"type":"string"}},{"name":"to","required":true,"in":"query","schema":{"type":"string"}},{"name":"limit","required":true,"in":"query","schema":{"type":"string"}},{"name":"offset","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"api-key":[]}],"summary":"Movimientos del libro cliente","tags":["treasury"]}},"/v1/treasury/positions/{cvu}/balance/historical":{"get":{"operationId":"TreasuryController_historical","parameters":[{"name":"cvu","required":true,"in":"path","schema":{"type":"string"}},{"name":"date","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"api-key":[]}],"summary":"Saldo histórico de posición cliente","tags":["treasury"]}},"/wallet/v1/Tesoreria":{"get":{"operationId":"WalletTreasuryController_getTesoreria","parameters":[],"responses":{"200":{"description":""}},"security":[{"api-key":[]}],"summary":"Snapshot tesorería (wallet)","tags":["wallet-treasury"]}},"/wallet/v1/SaldosClientes":{"get":{"operationId":"WalletTreasuryController_listSaldos","parameters":[{"name":"q","required":true,"in":"query","schema":{"type":"string"}},{"name":"page","required":true,"in":"query","schema":{"type":"string"}},{"name":"pageSize","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"api-key":[]}],"summary":"Listar saldos de cliente","tags":["wallet-treasury"]}},"/wallet/v1/SaldoClienteByCVU/{cvu}":{"get":{"operationId":"WalletTreasuryController_byCvu","parameters":[{"name":"cvu","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"api-key":[]}],"summary":"Saldo cliente por CVU","tags":["wallet-treasury"]}},"/wallet/v1/SaldoClienteByIdCuenta/{idCuenta}":{"get":{"operationId":"WalletTreasuryController_byIdCuenta","parameters":[{"name":"idCuenta","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"api-key":[]}],"summary":"Saldo cliente por idCuenta","tags":["wallet-treasury"]}},"/wallet/v1/MovimientosCliente":{"get":{"operationId":"WalletTreasuryController_movimientos","parameters":[{"name":"cvu","required":true,"in":"query","schema":{"type":"string"}},{"name":"idCuenta","required":true,"in":"query","schema":{"type":"string"}},{"name":"from","required":true,"in":"query","schema":{"type":"string"}},{"name":"to","required":true,"in":"query","schema":{"type":"string"}},{"name":"limit","required":true,"in":"query","schema":{"type":"string"}},{"name":"offset","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"api-key":[]}],"summary":"Movimientos del libro cliente","tags":["wallet-treasury"]}},"/wallet/v1/SaldoClienteHistoricoByCVU/{cvu}":{"get":{"operationId":"WalletTreasuryController_historico","parameters":[{"name":"cvu","required":true,"in":"path","schema":{"type":"string"}},{"name":"date","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"api-key":[]}],"summary":"Saldo histórico cliente por CVU","tags":["wallet-treasury"]}},"/v1/fees/preview":{"get":{"operationId":"FeesController_preview","parameters":[{"name":"cvu","required":true,"in":"query","schema":{"type":"string"}},{"name":"importe","required":true,"in":"query","schema":{"type":"string"}},{"name":"voucherTypeCode","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"api-key":[]}],"summary":"Preview de comisión sin postear (tarjeta de confirmación)","tags":["fees"]}},"/v1/accounts":{"post":{"description":"Da de alta una CVU sobre Banco para el titular indicado. Requiere Idempotency-Key. Emite el webhook `account.created`.","operationId":"AccountsController_create","parameters":[{"name":"idempotency-key","required":true,"in":"header","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAccountDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountResponse"}}}},"400":{"description":"Request inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"API key ausente o inválida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Crear CVU (y alias opcional)","tags":["accounts"]},"get":{"description":"Lista paginada de CVUs. `q` busca por CVU, alias, titular o CUIT.","operationId":"AccountsController_list","parameters":[{"name":"limit","required":true,"in":"query","schema":{"type":"string"}},{"name":"offset","required":true,"in":"query","schema":{"type":"string"}},{"name":"q","required":true,"in":"query","schema":{"type":"string"}},{"name":"status","required":true,"in":"query","schema":{"type":"string"}},{"name":"sort","required":true,"in":"query","schema":{"type":"string"}},{"name":"order","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedAccounts"}}}},"400":{"description":"Request inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"API key ausente o inválida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Listar CVUs","tags":["accounts"]}},"/v1/accounts/{cvu}":{"get":{"operationId":"AccountsController_findOne","parameters":[{"name":"cvu","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountResponse"}}}},"400":{"description":"Request inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"API key ausente o inválida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"CVU inexistente","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Obtener CVU (incluye límites efectivos y uso)","tags":["accounts"]},"delete":{"description":"Cierra la CVU. Emite el webhook `account.closed`.","operationId":"AccountsController_close","parameters":[{"name":"cvu","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountResponse"}}}},"400":{"description":"Request inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"API key ausente o inválida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Dar de baja una CVU","tags":["accounts"]}},"/v1/accounts/{cvu}/limits":{"get":{"operationId":"AccountsController_limits","parameters":[{"name":"cvu","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"400":{"description":"Request inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"API key ausente o inválida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Límites efectivos de una CVU (mismo snapshot que GET account)","tags":["accounts"]},"patch":{"operationId":"AccountsController_updateLimits","parameters":[{"name":"cvu","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateLimitsDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountResponse"}}}},"400":{"description":"Request inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"API key ausente o inválida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Actualizar límites de CVU (null = hereda PSP/plataforma)","tags":["accounts"]}},"/v1/accounts/{cvu}/suspend":{"post":{"operationId":"AccountsController_suspend","parameters":[{"name":"cvu","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuspendAccountDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountResponse"}}}},"400":{"description":"Request inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"API key ausente o inválida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Suspender CVU (bloquea salientes; cash-in sigue)","tags":["accounts"]}},"/v1/accounts/{cvu}/reactivate":{"post":{"operationId":"AccountsController_reactivate","parameters":[{"name":"cvu","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountResponse"}}}},"400":{"description":"Request inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"API key ausente o inválida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Reactivar CVU suspendida","tags":["accounts"]}},"/v1/accounts/{cvu}/identidad":{"patch":{"description":"Sincroniza titular y tipoPersona con Banco. Cotitulares se persisten en Gallo (SIRCUPA). titulares[0] debe ser el CUIT de la CVU.","operationId":"AccountsController_updateIdentidad","parameters":[{"name":"cvu","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAccountIdentidadDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountResponse"}}}},"400":{"description":"Request inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"API key ausente o inválida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Actualizar titular / tipo persona / cotitulares","tags":["accounts"]}},"/v1/accounts/{cvu}/kyc":{"patch":{"operationId":"AccountsController_updateKyc","parameters":[{"name":"cvu","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAccountKycDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountResponse"}}}},"400":{"description":"Request inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"API key ausente o inválida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Actualizar datos KYC / Padrón BCRA de una CVU","tags":["accounts"]}},"/v1/accounts/{cvu}/alias":{"put":{"description":"Emite el webhook `account.alias.updated`.","operationId":"AccountsController_setAlias","parameters":[{"name":"cvu","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetAliasDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountResponse"}}}},"400":{"description":"Request inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"API key ausente o inválida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Alias ya tomado","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Crear/actualizar alias de una CVU","tags":["accounts"]}},"/v1/accounts/{cvu}/balance":{"get":{"operationId":"AccountsController_balance","parameters":[{"name":"cvu","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BalanceResponse"}}}},"400":{"description":"Request inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"API key ausente o inválida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Saldo del ledger para una CVU","tags":["accounts"]}},"/v1/accounts/{cvu}/movements":{"get":{"operationId":"AccountsController_movements","parameters":[{"name":"cvu","required":true,"in":"path","schema":{"type":"string"}},{"name":"limit","required":true,"in":"query","schema":{"type":"string"}},{"name":"offset","required":true,"in":"query","schema":{"type":"string"}},{"name":"type","required":true,"in":"query","schema":{"type":"string"}},{"name":"from","required":true,"in":"query","schema":{"type":"string"}},{"name":"to","required":true,"in":"query","schema":{"type":"string"}},{"name":"q","required":true,"in":"query","schema":{"type":"string"}},{"name":"sort","required":true,"in":"query","schema":{"type":"string"}},{"name":"order","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/LedgerMovementResponse"}}}}},"400":{"description":"Request inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"API key ausente o inválida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Movimientos del ledger para una CVU","tags":["accounts"]}},"/v1/lookup/cbu/{cbu}":{"get":{"operationId":"AccountsController_lookupCbu","parameters":[{"name":"cbu","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"400":{"description":"Request inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"API key ausente o inválida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Resolver titular de una CBU/CVU vía Banco","tags":["accounts"]}},"/v1/lookup/alias/{alias}":{"get":{"operationId":"AccountsController_lookupAlias","parameters":[{"name":"alias","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"400":{"description":"Request inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"API key ausente o inválida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Resolver titular de un alias vía Banco","tags":["accounts"]}},"/wallet/v1/Cuentas":{"get":{"description":"Paginado. `q` filtra por CUIT, email, nombre, código o id.","operationId":"WalletCuentasController_list","parameters":[{"name":"pageNumber","required":true,"in":"query","schema":{"type":"string"}},{"name":"pageSize","required":true,"in":"query","schema":{"type":"string"}},{"name":"q","required":true,"in":"query","schema":{"type":"string"}},{"name":"habilitado","required":true,"in":"query","schema":{"type":"string"}},{"name":"sort","required":true,"in":"query","schema":{"type":"string"}},{"name":"order","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CuentasListResponse"}}}},"400":{"description":"Request inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"API key ausente o inválida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Listar cuentas wallet","tags":["wallet-cuentas"]}},"/wallet/v1/Cuenta":{"post":{"operationId":"WalletCuentasController_create","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateWalletAccountDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateWalletAccountResponse"}}}},"400":{"description":"Request inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"API key ausente o inválida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Código ya existe"}},"security":[{"api-key":[]}],"summary":"Crear cuenta wallet","tags":["wallet-cuentas"]}},"/wallet/v1/Habilitado/Cuenta/{id}":{"patch":{"operationId":"WalletCuentasController_setHabilitado","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"number"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetHabilitadoDto"}}}},"responses":{"204":{"description":"OK"},"400":{"description":"Request inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"API key ausente o inválida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Habilitar/deshabilitar cuenta","tags":["wallet-cuentas"]}},"/wallet/v1/Cuenta/{id}":{"put":{"operationId":"WalletCuentasController_update","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"number"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateWalletAccountDto"}}}},"responses":{"204":{"description":"OK"},"400":{"description":"Request inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"API key ausente o inválida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Modificar cuenta","tags":["wallet-cuentas"]},"get":{"operationId":"WalletCuentasController_findById","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"number"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletAccountDetailResponse"}}}},"400":{"description":"Request inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"API key ausente o inválida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Consultar cuenta por ID","tags":["wallet-cuentas"]}},"/wallet/v1/CuentaByCuit":{"get":{"operationId":"WalletCuentasController_findByCuit","parameters":[{"name":"cuit","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WalletAccountDetailResponse"}}}}},"400":{"description":"Request inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"API key ausente o inválida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Consultar cuentas por CUIT","tags":["wallet-cuentas"]}},"/wallet/v1/CuentaByEmail":{"get":{"operationId":"WalletCuentasController_findByEmail","parameters":[{"name":"email","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WalletAccountDetailResponse"}}}}},"400":{"description":"Request inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"API key ausente o inválida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Consultar cuentas por email","tags":["wallet-cuentas"]}},"/wallet/v1/CuentaByCelular":{"get":{"operationId":"WalletCuentasController_findByCelular","parameters":[{"name":"celular","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WalletAccountDetailResponse"}}}}},"400":{"description":"Request inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"API key ausente o inválida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Consultar cuentas por celular","tags":["wallet-cuentas"]}},"/wallet/v1/CVU":{"post":{"operationId":"WalletCvuController_create","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateWalletCvuDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateWalletCvuResponse"}}}},"400":{"description":"Request inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"API key ausente o inválida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Crear CVU para una cuenta wallet","tags":["wallet-cvu"]}},"/wallet/v1/CVU/{id}":{"delete":{"operationId":"WalletCvuController_remove","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"number"}}],"responses":{"204":{"description":"OK"},"400":{"description":"Request inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"API key ausente o inválida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Eliminar CVU","tags":["wallet-cvu"]}},"/wallet/v1/AsignarAlias/CVU/{id}":{"patch":{"operationId":"WalletCvuController_assignAlias","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"number"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsignarAliasDto"}}}},"responses":{"204":{"description":"OK"},"400":{"description":"Request inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"API key ausente o inválida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Alias inválido / en uso / 24h"}},"security":[{"api-key":[]}],"summary":"Asignar o modificar alias de un CVU","tags":["wallet-cvu"]}},"/wallet/v1/CuentaCVUByCbuCvuOrAlias":{"get":{"operationId":"WalletCvuController_lookup","parameters":[{"name":"cbuOrCvu","required":true,"in":"query","schema":{"type":"string"}},{"name":"alias","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CuentaCvuLookupResponse"}}}},"400":{"description":"Request inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"API key ausente o inválida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Consultar cuenta por CBU/CVU o alias","tags":["wallet-cvu"]}},"/wallet/v1/CuentasCVU":{"get":{"operationId":"WalletCvuController_list","parameters":[{"name":"pageNumber","required":true,"in":"query","schema":{"type":"string"}},{"name":"pageSize","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CuentasCvuListResponse"}}}},"204":{"description":"Sin contenido en la página"},"400":{"description":"Request inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"API key ausente o inválida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Listar cuentas CVU de la entidad","tags":["wallet-cvu"]}},"/wallet/v1/TiposComprobantes":{"get":{"operationId":"WalletSaldoController_listTipos","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WalletTipoComprobanteResponse"}}}}},"400":{"description":"Request inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"API key ausente o inválida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Listar tipos de comprobante","tags":["wallet-saldo"]}},"/wallet/v1/TipoComprobante":{"post":{"description":"signo 1 = crédito, -1 = débito; u opcionalmente sentido credit|debit|hold|release|confirm_hold.","operationId":"WalletSaldoController_createTipo","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletCreateTipoComprobanteDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletCreateTipoResponse"}}}},"400":{"description":"Request inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"API key ausente o inválida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Crear tipo de comprobante","tags":["wallet-saldo"]}},"/wallet/v1/TipoComprobante/{id}":{"delete":{"operationId":"WalletSaldoController_deleteTipo","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"number"}}],"responses":{"204":{"description":""},"400":{"description":"Request inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"API key ausente o inválida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Eliminar tipo por legacyId","tags":["wallet-saldo"]}},"/wallet/v1/Comprobante":{"post":{"operationId":"WalletSaldoController_createComprobante","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletCreateComprobanteDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletCreateComprobanteResponse"}}}},"400":{"description":"Request inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"API key ausente o inválida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Crear comprobante de ajuste sobre idCuenta wallet","tags":["wallet-saldo"]}},"/wallet/v1/ComprobanteByIdExterno/{idExterno}":{"get":{"operationId":"WalletSaldoController_byExterno","parameters":[{"name":"idExterno","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletComprobanteItemResponse"}}}},"400":{"description":"Request inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"API key ausente o inválida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Consultar comprobante por idExterno","tags":["wallet-saldo"]}},"/wallet/v1/Comprobante/{id}":{"get":{"operationId":"WalletSaldoController_byId","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletComprobanteItemResponse"}}}},"400":{"description":"Request inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"API key ausente o inválida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Consultar comprobante por ID (UUID movimiento)","tags":["wallet-saldo"]}},"/wallet/v1/SaldoActualByCVU/{cvu}":{"get":{"operationId":"WalletSaldoController_saldoByCvu","parameters":[{"name":"cvu","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletSaldoResponse"}}}},"400":{"description":"Request inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"API key ausente o inválida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Saldo actual por CVU","tags":["wallet-saldo"]}},"/wallet/v1/SaldoActualByIdCuenta/{idCuenta}":{"get":{"operationId":"WalletSaldoController_saldoByIdCuenta","parameters":[{"name":"idCuenta","required":true,"in":"path","schema":{"type":"number"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletSaldoResponse"}}}},"400":{"description":"Request inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"API key ausente o inválida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Saldo actual por idCuenta wallet","tags":["wallet-saldo"]}},"/wallet/v1/SaldosActuales":{"get":{"description":"`pageSize` máximo 1000. Paginar hasta `totalPages` — no enviar 1_000_000.","operationId":"WalletSaldoController_saldosActuales","parameters":[{"name":"pageNumber","required":true,"in":"query","schema":{"type":"string"}},{"name":"pageSize","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletSaldosPageResponse"}}}},"400":{"description":"Request inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"API key ausente o inválida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Listar saldos actuales (cuentas con CVU)","tags":["wallet-saldo"]}},"/wallet/v1/SaldoHistoricoByCVU/{cvu}":{"get":{"operationId":"WalletSaldoController_historicoByCvu","parameters":[{"name":"cvu","required":true,"in":"path","schema":{"type":"string"}},{"name":"date","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletSaldoHistoricoResponse"}}}},"400":{"description":"Request inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"API key ausente o inválida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Saldo histórico por CVU","tags":["wallet-saldo"]}},"/wallet/v1/SaldoHistoricoByIdCuenta/{idCuenta}":{"get":{"operationId":"WalletSaldoController_historicoByIdCuenta","parameters":[{"name":"idCuenta","required":true,"in":"path","schema":{"type":"number"}},{"name":"date","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletSaldoHistoricoResponse"}}}},"400":{"description":"Request inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"API key ausente o inválida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Saldo histórico por idCuenta","tags":["wallet-saldo"]}},"/wallet/v1/SaldosHistoricos":{"get":{"operationId":"WalletSaldoController_saldosHistoricos","parameters":[{"name":"date","required":true,"in":"query","schema":{"type":"string"}},{"name":"pageNumber","required":true,"in":"query","schema":{"type":"string"}},{"name":"pageSize","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletSaldosPageResponse"}}}},"400":{"description":"Request inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"API key ausente o inválida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Listar saldos históricos por fecha","tags":["wallet-saldo"]}},"/wallet/v1/ComprobantesByFilters":{"get":{"description":"`fechaDesde`/`fechaHasta` en yyyy-MM-dd. `pageSize` máximo 100; paginar hasta `totalPages`.","operationId":"WalletConciliarController_comprobantesByFilters","parameters":[{"name":"fechaDesde","required":true,"in":"query","schema":{"type":"string"}},{"name":"fechaHasta","required":true,"in":"query","schema":{"type":"string"}},{"name":"pageNumber","required":true,"in":"query","schema":{"type":"string"}},{"name":"pageSize","required":true,"in":"query","schema":{"type":"string"}},{"name":"idCuenta","required":true,"in":"query","schema":{"type":"string"}},{"name":"idTipoComprobante","required":true,"in":"query","schema":{"type":"string"}},{"name":"codigo","required":true,"in":"query","schema":{"type":"string"}},{"name":"signo","required":true,"in":"query","schema":{"type":"string"}},{"name":"orderByDesc","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletComprobantesPageResponse"}}}},"400":{"description":"Request inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"API key ausente o inválida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Listar comprobantes con filtros (conciliación)","tags":["wallet-conciliar"]}},"/wallet/v1/MovimientosCuentaCorriente":{"get":{"operationId":"WalletConciliarController_movimientos","parameters":[{"name":"idCuenta","required":true,"in":"query","schema":{"type":"string"}},{"name":"cvu","required":true,"in":"query","schema":{"type":"string"}},{"name":"pageNumber","required":true,"in":"query","schema":{"type":"string"}},{"name":"pageSize","required":true,"in":"query","schema":{"type":"string"}},{"name":"fechaDesde","required":true,"in":"query","schema":{"type":"string"}},{"name":"fechaHasta","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletComprobantesPageResponse"}}}},"400":{"description":"Request inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"API key ausente o inválida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Movimientos de cuenta corriente por idCuenta o cvu","tags":["wallet-conciliar"]}},"/wallet/v1/Operaciones":{"get":{"operationId":"WalletConciliarController_operaciones","parameters":[{"name":"pageNumber","required":true,"in":"query","schema":{"type":"string"}},{"name":"pageSize","required":true,"in":"query","schema":{"type":"string"}},{"name":"fechaDesde","required":true,"in":"query","schema":{"type":"string"}},{"name":"fechaHasta","required":true,"in":"query","schema":{"type":"string"}},{"name":"status","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletOperacionesPageResponse"}}}},"400":{"description":"Request inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"API key ausente o inválida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Listar operaciones (transfers) del tenant","tags":["wallet-conciliar"]}},"/v1/accounts/{cvu}/fraud/policies/{code}":{"put":{"operationId":"FraudAccountOverridesController_upsert","parameters":[{"name":"cvu","required":true,"in":"path","schema":{"type":"string"}},{"name":"code","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertFraudOverrideDto"}}}},"responses":{"200":{"description":""}},"security":[{"api-key":[]}],"summary":"Override de política de fraude a nivel CVU","tags":["fraud"]},"delete":{"operationId":"FraudAccountOverridesController_remove","parameters":[{"name":"cvu","required":true,"in":"path","schema":{"type":"string"}},{"name":"code","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"api-key":[]}],"summary":"Eliminar override CVU (vuelve a PSP/plataforma)","tags":["fraud"]}},"/v1/accounts/{cvu}/tags":{"post":{"operationId":"AccountTagsController_addTag","parameters":[{"name":"cvu","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountTagDto"}}}},"responses":{"201":{"description":""}},"security":[{"api-key":[]}],"summary":"Add segment tag to CVU","tags":["accounts"]}},"/v1/accounts/{cvu}/tags/{tag}":{"delete":{"operationId":"AccountTagsController_removeTag","parameters":[{"name":"cvu","required":true,"in":"path","schema":{"type":"string"}},{"name":"tag","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"api-key":[]}],"summary":"Remove segment tag from CVU","tags":["accounts"]}},"/v1/transfers":{"post":{"description":"Registra y envía una transferencia hacia una CBU/CVU destino sobre Red. Requiere Idempotency-Key. El estado evoluciona pending → sent → confirmed | failed, emitiendo un webhook por cambio.","operationId":"TransfersController_create","parameters":[{"name":"idempotency-key","required":true,"in":"header","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTransferDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransferResponse"}}}},"400":{"description":"Request inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"API key ausente o inválida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Saldo insuficiente / rechazo de negocio","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Crear transferencia de salida (cash-out) en ARS","tags":["transfers"]},"get":{"description":"Lista paginada. Filtrable por `status` y búsqueda libre `q`.","operationId":"TransfersController_list","parameters":[{"name":"limit","required":true,"in":"query","schema":{"type":"string"}},{"name":"offset","required":true,"in":"query","schema":{"type":"string"}},{"name":"status","required":true,"in":"query","schema":{"type":"string"}},{"name":"q","required":true,"in":"query","schema":{"type":"string"}},{"name":"desde","required":true,"in":"query","schema":{"type":"string"}},{"name":"hasta","required":true,"in":"query","schema":{"type":"string"}},{"name":"cvu","required":true,"in":"query","schema":{"type":"string"}},{"name":"importeMin","required":true,"in":"query","schema":{"type":"string"}},{"name":"importeMax","required":true,"in":"query","schema":{"type":"string"}},{"name":"sort","required":true,"in":"query","schema":{"type":"string"}},{"name":"order","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedTransfers"}}}},"400":{"description":"Request inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"API key ausente o inválida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Listar transferencias","tags":["transfers"]}},"/v1/transfers/summary":{"get":{"description":"Totales, desglose por estado y top CUIT destino para el mismo filtro que el listado (status, q, desde, hasta, tenantId).","operationId":"TransfersController_summary","parameters":[{"name":"status","required":true,"in":"query","schema":{"type":"string"}},{"name":"q","required":true,"in":"query","schema":{"type":"string"}},{"name":"desde","required":true,"in":"query","schema":{"type":"string"}},{"name":"hasta","required":true,"in":"query","schema":{"type":"string"}},{"name":"cvu","required":true,"in":"query","schema":{"type":"string"}},{"name":"importeMin","required":true,"in":"query","schema":{"type":"string"}},{"name":"importeMax","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""},"400":{"description":"Request inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"API key ausente o inválida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"KPIs de transferencias según filtros","tags":["transfers"]}},"/v1/transfers/by-Red/{idRed}":{"get":{"description":"Reemplazo de ConciliarTransferenciaEntrante. 404 = no hay operación en este tenant (no es error de integración). Prioridad: transfer local → aviso de crédito → Banco.","operationId":"TransfersController_findByRed","parameters":[{"name":"idRed","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RedLookupResponse"}}}},"400":{"description":"Request inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"API key ausente o inválida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"id Red inexistente en este tenant","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Buscar cash-out o cash-in por id Red","tags":["transfers"]}},"/v1/transfers/{id}/timeline":{"get":{"description":"Trace completo con timestamps, deltas en ms y estados (pending → sent → confirmed | failed | reversed) incluyendo respuestas del banco y reconciliaciones.","operationId":"TransfersController_timeline","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"format","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransferTimelineResponse"}}}},"400":{"description":"Request inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"API key ausente o inválida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Transferencia inexistente","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Timeline de estados de una transferencia","tags":["transfers"]}},"/v1/transfers/{id}":{"get":{"operationId":"TransfersController_findOne","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransferResponse"}}}},"400":{"description":"Request inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"API key ausente o inválida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Transferencia inexistente","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Obtener transferencia por id","tags":["transfers"]}},"/v1/debin/adhesiones":{"post":{"operationId":"DebinController_createAdhesion","parameters":[{"name":"idempotency-key","required":true,"in":"header","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDebinAdhesionDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DebinAdhesionResponse"}}}},"400":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Adherir recurrencia (Programado o Recurrente). Baja: activo=false + id","tags":["debin"]},"get":{"operationId":"DebinController_listAdhesiones","parameters":[{"name":"limit","required":true,"in":"query","schema":{"type":"string"}},{"name":"offset","required":true,"in":"query","schema":{"type":"string"}},{"name":"status","required":true,"in":"query","schema":{"type":"string"}},{"name":"q","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedDebinAdhesiones"}}}},"400":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Listar adhesiones Debin","tags":["debin"]}},"/v1/debin/adhesiones/confirmar":{"post":{"operationId":"DebinController_confirmarRecurrencia","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConfirmarRecurrenciaDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DebinAdhesionResponse"}}}},"400":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Comprador: ConfirmarRecurrencia (aprobar/rechazar adhesión)","tags":["debin"]}},"/v1/debin/adhesiones/baja":{"post":{"operationId":"DebinController_bajaAdhesion","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BajaAdhesionDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DebinAdhesionResponse"}}}},"400":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Comprador: baja adhesión (activo=false + tipo_adhesion)","tags":["debin"]}},"/v1/debin/spot":{"post":{"operationId":"DebinController_createSpot","parameters":[{"name":"idempotency-key","required":true,"in":"header","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDebinSpotDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DebinProgramadoResponse"}}}},"400":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Crear Debin Spot","tags":["debin"]}},"/v1/debin/pull":{"post":{"operationId":"DebinController_createPull","parameters":[{"name":"idempotency-key","required":true,"in":"header","schema":{"type":"string"}},{"name":"x-trx-pull","required":false,"in":"header","description":"Consent JWT (alt: body.trxPullToken / DEBIN_TRX_PULL_TOKEN)","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDebinPullDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DebinProgramadoResponse"}}}},"400":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Crear Transferencia Pull (requiere X-TRX-PULL o body.trxPullToken)","tags":["debin"]}},"/v1/debin/programado":{"post":{"operationId":"DebinController_createProgramado","parameters":[{"name":"idempotency-key","required":true,"in":"header","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDebinProgramadoDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DebinProgramadoResponse"}}}},"400":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Crear Debin Programado (cuota)","tags":["debin"]},"get":{"operationId":"DebinController_listProgramado","parameters":[{"name":"limit","required":true,"in":"query","schema":{"type":"string"}},{"name":"offset","required":true,"in":"query","schema":{"type":"string"}},{"name":"status","required":true,"in":"query","schema":{"type":"string"}},{"name":"subtipo","required":true,"in":"query","schema":{"type":"string"}},{"name":"q","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedDebinProgramados"}}}},"400":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Listar Debin (Spot + Programado)","tags":["debin"]}},"/v1/debin/programado/{id}":{"get":{"operationId":"DebinController_getProgramado","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DebinProgramadoDetailResponse"}}}},"400":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Detalle Debin + timeline","tags":["debin"]}},"/v1/debin/programado/{id}/refresh":{"post":{"operationId":"DebinController_refresh","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DebinProgramadoResponse"}}}},"400":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Consultar estado en Red (GET Debin)","tags":["debin"]}},"/v1/debin/programado/{id}/delete":{"post":{"operationId":"DebinController_deleteDebin","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DebinProgramadoResponse"}}}},"400":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Eliminar Debin en Red (DELETE Debin/{id}/{cuit})","tags":["debin"]}},"/v1/debin/confirma-debito":{"post":{"operationId":"DebinController_confirmaDebito","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConfirmaDebitoCvuDto"}}}},"responses":{"201":{"description":""},"400":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"ConfirmaDebitoCVU (PSP comprador)","tags":["debin"]}},"/v1/debin/contracargo":{"post":{"operationId":"DebinController_contracargo","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDebinContracargoDto"}}}},"responses":{"201":{"description":""},"400":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Contracargo Programado","tags":["debin"]}},"/v1/debin/contracargo-pull":{"post":{"operationId":"DebinController_contracargoPull","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDebinContracargoPullDto"}}}},"responses":{"201":{"description":""},"400":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"ContraCargoPull (Transferencia Pull)","tags":["debin"]}},"/v1/debin":{"get":{"operationId":"DebinController_listAlias","parameters":[{"name":"limit","required":true,"in":"query","schema":{"type":"string"}},{"name":"offset","required":true,"in":"query","schema":{"type":"string"}},{"name":"status","required":true,"in":"query","schema":{"type":"string"}},{"name":"subtipo","required":true,"in":"query","schema":{"type":"string"}},{"name":"q","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedDebinProgramados"}}}},"400":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Listar Debin (alias)","tags":["debin"]}},"/v1/debin/{id}":{"get":{"operationId":"DebinController_getAlias","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"400":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Detalle Debin (alias)","tags":["debin"]}},"/v1/qr/pay":{"post":{"operationId":"QrController_pay","parameters":[{"name":"idempotency-key","required":true,"in":"header","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateQrPayDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QrOperacionResponse"}}}},"400":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Pago QR rol billetera → Red QRDebin","tags":["qr"]}},"/v1/qr/commerce":{"post":{"operationId":"QrController_commerce","parameters":[{"name":"idempotency-key","required":true,"in":"header","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateQrCommerceDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QrOperacionResponse"}}}},"400":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Emitir QR comercio (EMV local, rol aceptador)","tags":["qr"]}},"/v1/qr/cashout":{"post":{"operationId":"QrController_cashout","parameters":[{"name":"idempotency-key","required":true,"in":"header","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateQrCashoutDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QrOperacionResponse"}}}},"400":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Cashout QR → Red CashOut","tags":["qr"]}},"/v1/qr/cashout/confirma":{"post":{"operationId":"QrController_confirmaCashout","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConfirmaQrCashoutDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QrOperacionResponse"}}}},"400":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"ConfirmaCashOut manual","tags":["qr"]}},"/v1/qr/billetera":{"post":{"operationId":"QrController_altaBilletera","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateQrBilleteraDto"}}}},"responses":{"201":{"description":""},"400":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Alta billetera Red (ops / platform)","tags":["qr"]}},"/v1/qr":{"get":{"operationId":"QrController_list","parameters":[{"name":"limit","required":true,"in":"query","schema":{"type":"string"}},{"name":"offset","required":true,"in":"query","schema":{"type":"string"}},{"name":"role","required":true,"in":"query","schema":{"type":"string"}},{"name":"status","required":true,"in":"query","schema":{"type":"string"}},{"name":"q","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedQrOperaciones"}}}},"400":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Listar operaciones Pago QR","tags":["qr"]}},"/v1/qr/{id}":{"get":{"operationId":"QrController_get","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QrOperacionDetailResponse"}}}},"400":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Detalle operación Pago QR","tags":["qr"]}},"/v1/qr/{id}/contracargo":{"post":{"operationId":"QrController_contracargo","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateQrContracargoDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QrOperacionResponse"}}}},"400":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"QRSolicitudContraCargo","tags":["qr"]}},"/v1/webhook-events":{"get":{"operationId":"WebhookEventsController_list","parameters":[{"name":"limit","required":true,"in":"query","schema":{"type":"string"}},{"name":"offset","required":true,"in":"query","schema":{"type":"string"}},{"name":"type","required":true,"in":"query","schema":{"type":"string"}},{"name":"status","required":true,"in":"query","schema":{"type":"string"}},{"name":"q","required":true,"in":"query","schema":{"type":"string"}},{"name":"desde","required":true,"in":"query","schema":{"type":"string"}},{"name":"hasta","required":true,"in":"query","schema":{"type":"string"}},{"name":"cvu","required":true,"in":"query","schema":{"type":"string"}},{"name":"importeMin","required":true,"in":"query","schema":{"type":"string"}},{"name":"importeMax","required":true,"in":"query","schema":{"type":"string"}},{"name":"sort","required":true,"in":"query","schema":{"type":"string"}},{"name":"order","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"api-key":[]}],"summary":"List received bank webhook events","tags":["webhooks"]}},"/v1/webhook-events/summary":{"get":{"operationId":"WebhookEventsController_summary","parameters":[{"name":"type","required":true,"in":"query","schema":{"type":"string"}},{"name":"desde","required":true,"in":"query","schema":{"type":"string"}},{"name":"hasta","required":true,"in":"query","schema":{"type":"string"}},{"name":"cvu","required":true,"in":"query","schema":{"type":"string"}},{"name":"importeMin","required":true,"in":"query","schema":{"type":"string"}},{"name":"importeMax","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"api-key":[]}],"summary":"KPIs de créditos entrantes (totales + top CUIT originante)","tags":["webhooks"]}},"/v1/agentic/orders":{"post":{"description":"El LLM (o gallo-api) crea una orden persistida. La política corre en código. Confirmá con POST …/confirm usando payloadHash de GET, no del chat. Cash-out one-shot sigue siendo POST /v1/transfers.","operationId":"AgenticOrdersController_propose","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProposeAgenticOrderDto"}}}},"responses":{"400":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"503":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Proponer orden de cash-out agéntica (no mueve fondos)","tags":["agentic"]},"get":{"operationId":"AgenticOrdersController_list","parameters":[{"name":"status","required":true,"in":"query","schema":{"type":"string"}},{"name":"kind","required":true,"in":"query","schema":{"type":"string"}},{"name":"origin","required":true,"in":"query","schema":{"type":"string"}},{"name":"limit","required":true,"in":"query","schema":{"type":"string"}},{"name":"offset","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""},"400":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Listar órdenes agénticas del tenant","tags":["agentic"]}},"/v1/agentic/orders/{id}":{"get":{"description":"Key agent o human (`agentic.read`). No exige confirm. La card en Sigil lee payloadHash de acá.","operationId":"AgenticOrdersController_get","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"400":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Ver orden (fuente de verdad para confirmar — no el texto del LLM)","tags":["agentic"]}},"/v1/agentic/orders/{id}/confirm":{"post":{"description":"JWT: MFA aal2. API key Sigil: payloadHash + confirmedBy. transfer → TransfersService; suspend/reactivate → AccountsService; debin_spot / qr_commerce → Debin/Qr. No es tool MCP.","operationId":"AgenticOrdersController_confirm","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConfirmAgenticOrderDto"}}}},"responses":{"201":{"description":""},"400":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Confirmar orden y ejecutar el servicio de dominio (por kind)","tags":["agentic"]}},"/v1/agentic/orders/{id}/reject":{"post":{"operationId":"AgenticOrdersController_reject","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RejectAgenticOrderDto"}}}},"responses":{"201":{"description":""},"400":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"tags":["agentic"]}},"/v1/agentic/chat":{"post":{"description":"Saldo, límites, movimientos, freeze/DEBIN/QR/transfer como órdenes. Confirmá con POST /v1/agentic/orders/:id/confirm (key human). cvuDebito del body queda pineado para débito/vendedor por defecto.","operationId":"AgenticChatController_post","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgenticChatDto"}}}},"responses":{"401":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"503":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api-key":[]}],"summary":"Chat operativo PSP (lecturas L0 + propose L2/L3; no ejecuta)","tags":["agentic"]}}},"info":{"title":"Gallo Pay API","description":"Gallo Pay es un **PSP-as-a-Service**: usás nuestras APIs para crear CVUs, mover\npesos (cash-in / cash-out) sobre los rieles de **Banco / Red** y recibís\n**webhooks firmados** para cada evento de tu operación. Esta documentación es la **superficie de integración del PSP**. Podés probar\nendpoints con **Authorize** (tu `x-api-key`) y **Try it out**. No incluye\nAPIs internas de plataforma, compliance ni operación del banco. Hay dos familias de paths: | Familia | Para qué |\n| ------- | -------- |\n| `/v1/...` | API nativa Gallo (cuentas/CVU, transfers, debin, pago QR, comprobantes, **tesorería**) |\n| `/wallet/v1/...` | API wallet (Cuentas, CVU, saldos, comprobantes, conciliaciones, **Tesoreria / SaldosClientes**) | ### Modo sweep (tesorería PSP) Algunos PSPs habilitan **sweep**: el cash-in a una CVU de usuario se barre a una\n**CVU tesorería** del mismo tenant. La otra app consulta el **saldo de cliente**\n(`GET /v1/treasury/positions/:cvu` o `SaldoActualByCVU` / `SaldoClienteByCVU`).\nCash-out del usuario sigue siendo `POST /v1/transfers` con `cvuDebito` = CVU del\nusuario; Gallo debita tesorería + posición. Tesorería puede cash-in/out propio\nsin mover saldos de clientes (`freeBalance` es informativo y puede ser negativo). ### Órdenes agénticas (Sigil / LLM) Si el cash-out lo propone un modelo, usá `POST /v1/agentic/orders` y recién\ndespués `POST /v1/agentic/orders/:id/confirm` con el `payloadHash` de\n`GET` (no del texto del LLM). El rail interno es el mismo `TransfersService`.\nEl camino one-shot `POST /v1/transfers` no cambia. Cada cliente (PSP) opera de forma aislada con su propia **API key**. Todos los\nrecursos (cuentas, transferencias, movimientos, webhooks) quedan automáticamente\nacotados a tu tenant — no necesitás enviar ningún identificador de tenant. --- ## Autenticación Todas las llamadas requieren tu API key en el header: ```\nx-api-key: gpk_live_xxxxxxxxxxxxxxxxxxxxxxxx\n``` - La key es **secreta**: guardala en tu backend, nunca en el frontend.\n- Si sospechás que se filtró, pedí una rotación y la anterior se revoca.\n- Recibirás una key de **sandbox** (`gpk_test_...`) y otra de **producción** (`gpk_live_...`). ## Entornos | Entorno | Base URL |\n| -------------------- | ---------------------------------------- |\n| Homolog / sandbox | `https://api.dev.gallo-pay.com` |\n| Producción | `https://api.prod.gallo-pay.com` | Guías públicas: [gallo-pay.com/developers](https://gallo-pay.com/developers). ## Idempotencia Las operaciones de escritura (`POST /v1/accounts`, `POST /v1/transfers`) exigen\nel header: ```\nIdempotency-Key: <uuid-v4 único por operación>\n``` Si reintentás con la **misma** `Idempotency-Key`, devolvemos la respuesta\noriginal (mismo status y body) sin volver a ejecutar la operación. Usá una key\nnueva por cada operación distinta y reutilizá la misma ante timeouts/reintentos. ## Formato de errores Todos los errores devuelven este shape: ```json\n{ \"statusCode\": 400, \"message\": \"Idempotency-Key header is required\", \"timestamp\": \"2026-07-30T12:00:00.000Z\"\n}\n``` - `message` puede ser un string o un array de strings (errores de validación).\n- Cuando el rechazo proviene del banco, incluímos `bankStatus` y `bankBody`. | Código | Significado |\n| ------ | ------------------------------------------------------- |\n| 400 | Request inválido / falta header / validación de campos |\n| 401 | API key ausente o inválida |\n| 403 | El recurso pertenece a otro tenant |\n| 404 | Recurso inexistente |\n| 409 | Conflicto (p. ej. alias ya tomado) |\n| 422 | Rechazo de negocio (saldo insuficiente, etc.) | ## Paginación Los listados aceptan `limit` (máx. 100, default 50) y `offset`, y devuelven: ```json\n{ \"items\": [... ], \"total\": 137, \"limit\": 50, \"offset\": 0 }\n``` --- ## Webhooks Configuramos junto a vos una URL HTTPS a la que hacemos `POST` por cada evento.\nCada request incluye estos headers: | Header | Descripción |\n| ------------------- | ------------------------------------------------------- |\n| `X-Gallo-Signature` | HMAC-SHA256 en hex de `${timestamp}.${body}` |\n| `X-Gallo-Timestamp` | Unix time en **segundos** usado para firmar |\n| `X-Gallo-Event-Id` | ID único del evento (idempotencia del lado receptor) |\n| `X-Gallo-Event-Type`| Tipo de evento (ver tabla más abajo) | El **body** siempre tiene esta forma: ```json\n{ \"eventId\": \"d290f1ee-6c54-4b01-90e6-d701748f0851\", \"type\": \"transfer.confirmed\", \"version\": \"1\", \"occurredAt\": \"2026-07-30T12:00:00.000Z\", \"tenantId\": \"3f6d9c1e-8b2a-4a1f-9c3e-6b7a1d2e5f40\", \"data\": { }\n}\n``` ### Verificar la firma (Node.js) ```js\nconst crypto = require('crypto'); function verify(req, secret) { const ts = req.headers['x-gallo-timestamp']; const sig = req.headers['x-gallo-signature']; const body = req.rawBody; // el body crudo, sin re-serializar const expected = crypto.createHmac('sha256', secret) // secret = whsec_....update(`${ts}.${body}`).digest('hex'); return crypto.timingSafeEqual(Buffer.from(expected), Buffer.from(sig));\n}\n``` - Firmá/verificá sobre el **body crudo** (no lo vuelvas a serializar).\n- Rechazá timestamps con demasiada antigüedad (p. ej. > 5 min) para evitar replay.\n- Respondé **2xx** rápido. Si respondés error o hay timeout, reintentamos con backoff exponencial hasta agotar los intentos. ### Tipos de evento | `type` | Cuándo se emite |\n| ------------------------- | -------------------------------------------------- |\n| `account.created` | Se creó una CVU |\n| `account.alias.updated` | Se asignó/actualizó el alias |\n| `account.closed` | Se dio de baja la CVU |\n| `account.suspended` | CVU suspendida (ops o motor de fraude) |\n| `account.credited` | Cash-in acreditado en una CVU |\n| `transfer.created` | Se registró una transferencia (pending) |\n| `transfer.sent` | Enviada a Red |\n| `transfer.confirmed` | Confirmada / liquidada |\n| `transfer.failed` | Rechazada / fallida |\n| `transfer.reversed` | Reversada |\n| `debin.adhesion.created` | Adhesión Debin creada |\n| `debin.adhesion.updated` | Adhesión actualizada (aviso inbound) |\n| `debin.adhesion.confirmed`| Comprador aprobó ConfirmarRecurrencia |\n| `debin.adhesion.rejected` | Comprador rechazó ConfirmarRecurrencia |\n| `debin.adhesion.cancelled`| Baja de adhesión |\n| `debin.spot.created` | Debin Spot iniciado |\n| `debin.spot.deleted` | Debin Spot eliminado en Red |\n| `debin.pull.created` | Transferencia Pull iniciada |\n| `debin.pull.chargeback` | Contracargo Pull (API o AvisoContracargoPull) |\n| `debin.programado.created`| Debin Programado iniciado |\n| `debin.programado.pending`| Aviso pendiente al comprador |\n| `debin.programado.credited`| Crédito AvisoCVU asociado |\n| `debin.programado.finalized`| Operación finalizada |\n| `debin.pending` | Aviso Debin pendiente (Spot o Programado) |\n| `debin.credited` | Crédito Debin (AvisoCVU) |\n| `debin.debit.confirmed` | ConfirmaDebitoCVU aceptado/rechazado |\n| `qr.created` | Pago QR (billetera) iniciado vía QRDebin |\n| `qr.pending` | QRIntencionPago |\n| `qr.debit.confirmed` | QRConfirmaDebito APPROVED |\n| `qr.debit.rejected` | QRConfirmaDebito REJECTED |\n| `qr.finalized` | QROperacionFinalizada / Adquirente |\n| `qr.credited` | Crédito ledger aceptador |\n| `qr.chargeback` | Contracargo / devolución QR |\n| `qr.cashout.created` | Cashout QR iniciado |\n| `qr.cashout.pending` | AvisoCashoutPendiente |\n| `qr.cashout.confirmed` | ConfirmaCashOut OK |\n| `qr.commerce.created` | QR comercio EMV emitido |","version":"1.0","contact":{"name":"Gallo Pay","url":"https://gallo-pay.com","email":"soporte@gallo-pay.com"}},"tags":[{"name":"accounts","description":"CVUs, alias, saldos y movimientos (`/v1`)"},{"name":"transfers","description":"Transferencias de salida / P2P interno (`/v1`)"},{"name":"ledger-comprobantes","description":"Tipos y comprobantes de ledger nativos (`/v1`)"},{"name":"agentic","description":"Órdenes de cash-out agénticas: propose → confirm humano → rail (`/v1`)"},{"name":"wallet-cuentas","description":"Cuentas wallet (`/wallet/v1`)"},{"name":"wallet-cvu","description":"CVU / alias wallet (`/wallet/v1`)"},{"name":"wallet-saldo","description":"Saldo en pesos y comprobantes (`/wallet/v1`)"},{"name":"wallet-conciliar","description":"Consultas y conciliaciones (`/wallet/v1`)"}],"servers":[{"url":"https://api.dev.gallo-pay.com","description":"Homologación / dev"},{"url":"https://api.prod.gallo-pay.com","description":"Producción"},{"url":"https://api.dev.gallo-pay.com","description":"Sandbox / homologación"}],"components":{"securitySchemes":{"api-key":{"type":"apiKey","in":"header","name":"x-api-key","description":"Tu API key de PSP (`gpk_live_...` o `gpk_test_...`). Authorize arriba y usá Try it out."}},"schemas":{"UpdateLimitsDto":{"type":"object","properties":{"maxTransferAmount":{"type":"object","nullable":true,"description":"Máximo por operación ARS. null = hereda."},"dailyTransferLimit":{"type":"object","nullable":true,"description":"Tope diario ARS. null = hereda."},"monthlyTransferLimit":{"type":"object","nullable":true,"description":"Tope mensual ARS. null = hereda."},"commissionPercent":{"type":"object","nullable":true,"description":"Comisión % override. null = hereda PSP/comprobante."},"commissionFixed":{"type":"object","nullable":true,"description":"Comisión fija ARS override. null = hereda PSP/comprobante."}}},"ErrorResponse":{"type":"object","properties":{"statusCode":{"type":"number","example":400},"message":{"type":"object","example":"Idempotency-Key header is required","description":"Mensaje legible. Puede ser un string o un array de strings."},"timestamp":{"type":"string","example":"2026-07-30T12:00:00.000Z"},"bankStatus":{"type":"number","example":400,"description":"Código HTTP devuelto por el banco Banco/Red (si aplica)."},"bankBody":{"type":"object","description":"Cuerpo crudo devuelto por el banco (si aplica)."}},"required":["statusCode","message","timestamp"]},"VoucherTypeResponse":{"type":"object","properties":{"id":{"type":"object","description":"Null for system (built-in) types","nullable":true},"legacyId":{"type":"object","description":"Numeric id for wallet API (custom only)","nullable":true},"tenantId":{"type":"object","nullable":true},"code":{"type":"string"},"name":{"type":"string"},"sense":{"type":"string","enum":["credit","debit","hold","release","confirm_hold"]},"active":{"type":"boolean"},"system":{"type":"boolean"}},"required":["code","name","sense","active","system"]},"CreateVoucherTypeDto":{"type":"object","properties":{"code":{"type":"string","example":"PROMO_REINTEGRO"},"name":{"type":"string","example":"Reintegro por promoción"},"sense":{"type":"string","enum":["credit","debit","hold","release","confirm_hold"],"example":"credit"}},"required":["code","name","sense"]},"ToggleVoucherTypeDto":{"type":"object","properties":{"active":{"type":"boolean"}},"required":["active"]},"ComprobanteResponse":{"type":"object","properties":{"id":{"type":"string"},"cvu":{"type":"string"},"amount":{"type":"string"},"availableAfter":{"type":"string"},"heldAfter":{"type":"string"},"totalAfter":{"type":"string"},"sense":{"type":"string","enum":["credit","debit","hold","release","confirm_hold"]},"voucherTypeCode":{"type":"string"},"voucherTypeName":{"type":"string"},"idExterno":{"type":"string"},"referenceType":{"type":"string"},"referenceId":{"type":"string"},"ledgerType":{"type":"string"},"description":{"type":"object","nullable":true},"createdAt":{"type":"string"}},"required":["id","cvu","amount","availableAfter","heldAfter","totalAfter","sense","voucherTypeCode","voucherTypeName","idExterno","referenceType","referenceId","ledgerType","description","createdAt"]},"CreateComprobanteDto":{"type":"object","properties":{"voucherTypeCode":{"type":"string","example":"PROMO_REINTEGRO","description":"Código de tipo de comprobante custom del tenant (no tipos de sistema)."},"amount":{"type":"number","example":150.5,"description":"Importe positivo en ARS"},"idExterno":{"type":"string","example":"promo-2026-08-0042","description":"Id externo del PSP (idempotencia de este ajuste)."},"description":{"type":"string","example":"Promo verano CVU"}},"required":["voucherTypeCode","amount","idExterno"]},"HistoricalBalanceResponse":{"type":"object","properties":{"cvu":{"type":"string"},"date":{"type":"string","example":"2026-08-03"},"availableBalance":{"type":"string"},"heldBalance":{"type":"string"},"totalBalance":{"type":"string"},"source":{"type":"string","enum":["snapshot","movement","zero"],"description":"Origen del valor histórico"}},"required":["cvu","date","availableBalance","heldBalance","totalBalance","source"]},"EnrollRemuneracionDto":{"type":"object","properties":{}},"CreateAccountDto":{"type":"object","properties":{"cuit":{"type":"string","example":"20370994049"},"titular":{"type":"string","example":"JUAN PEREZ"},"tipoPersona":{"type":"string","enum":["F","J"]},"alias":{"type":"string","example":"gallo.juan.perez"},"pep":{"type":"boolean","example":false,"description":"Persona expuesta políticamente"},"postalCode":{"type":"string","example":"1425"},"documentType":{"type":"string","example":"DNI"},"documentNumber":{"type":"string","example":"30123456"},"nationality":{"type":"string","example":"AR"},"commercialUse":{"type":"boolean","example":false,"description":"Uso comercial de la cuenta (Apartado B)"}},"required":["cuit","titular","tipoPersona"]},"AccountResponse":{"type":"object","properties":{"id":{"type":"string","example":"3f6d9c1e-8b2a-4a1f-9c3e-6b7a1d2e5f40"},"cvu":{"type":"string","example":"0000208200000000000147","description":"CVU generada por el banco (22 dígitos)."},"cuit":{"type":"string","example":"20370994049"},"titular":{"type":"string","example":"JUAN PEREZ"},"tipoPersona":{"type":"string","enum":["F","J"],"example":"F"},"titulares":{"type":"array","description":"Titulares / cotitulares (SIRCUPA). [0] = titular principal.","example":[{"cuit":"20370994049","titular":"JUAN PEREZ","tipoPersona":"F"}]},"alias":{"type":"object","example":"gallo.juan.perez","nullable":true,"description":"Alias CBU, null si no fue asignado."},"status":{"type":"string","enum":["active","suspended","closed"],"example":"active"},"isTreasury":{"type":"boolean","example":false,"description":"true si esta CVU es tesorería (`tenants.treasuryCvu`) o recaudadora de comisiones (`tenants.commissionCvu`)."},"sweepEnabled":{"type":"boolean","example":true,"description":"PSP con modo sweep (CVU primera recaudadora) activo."},"visibleBalance":{"type":"object","example":"15230.50","description":"Saldo visible: posición cliente si sweep+usuario; ledger si tesorería o modo standard."},"ledgerAvailable":{"type":"object","example":"0.00","description":"Ledger disponible de la CVU (≈0 en usuario con sweep). Solo útil con sweep."},"pep":{"type":"object","example":false,"nullable":true},"postalCode":{"type":"object","example":"1425","nullable":true},"documentType":{"type":"object","example":"DNI","nullable":true},"documentNumber":{"type":"object","example":"30123456","nullable":true},"nationality":{"type":"object","example":"AR","nullable":true},"commercialUse":{"type":"boolean","example":false},"createdAt":{"type":"string","example":"2026-07-30T12:00:00.000Z"},"updatedAt":{"type":"string","example":"2026-07-30T12:00:00.000Z"}},"required":["id","cvu","cuit","titular","tipoPersona","alias","status","isTreasury","pep","postalCode","documentType","documentNumber","nationality","commercialUse","createdAt","updatedAt"]},"PaginatedAccounts":{"type":"object","properties":{"total":{"type":"number","example":137,"description":"Total de registros que cumplen el filtro."},"limit":{"type":"number","example":50,"description":"Tamaño de página aplicado (máx. 100)."},"offset":{"type":"number","example":0,"description":"Offset actual."},"items":{"type":"array","items":{"$ref":"#/components/schemas/AccountResponse"}}},"required":["total","limit","offset","items"]},"SuspendAccountDto":{"type":"object","properties":{"reason":{"type":"string","example":"Revisión de compliance"}}},"TitularIdentidadDto":{"type":"object","properties":{"cuit":{"type":"string","example":"20370994049"},"titular":{"type":"string","example":"JUAN PEREZ"},"tipoPersona":{"type":"string","enum":["F","J"],"example":"F"}},"required":["cuit","tipoPersona"]},"UpdateAccountIdentidadDto":{"type":"object","properties":{"titular":{"type":"string","example":"JUAN PEREZ"},"tipoPersona":{"type":"string","enum":["F","J"],"example":"F"},"titulares":{"description":"Lista completa de titulares. [0] debe coincidir con el CUIT de la CVU (titular principal).","type":"array","items":{"$ref":"#/components/schemas/TitularIdentidadDto"}}},"required":["titular","tipoPersona","titulares"]},"UpdateAccountKycDto":{"type":"object","properties":{"pep":{"type":"object","example":false,"nullable":true},"postalCode":{"type":"string","example":"1425"},"documentType":{"type":"string","example":"DNI"},"documentNumber":{"type":"string","example":"30123456"},"nationality":{"type":"string","example":"AR"},"commercialUse":{"type":"boolean","example":false}}},"SetAliasDto":{"type":"object","properties":{"alias":{"type":"string","example":"gallo.juan.perez"}},"required":["alias"]},"BalanceResponse":{"type":"object","properties":{"cvu":{"type":"string","example":"0000208200000000000147"},"availableBalance":{"type":"string","example":"15230.50","description":"Saldo disponible para transferir (ARS). En modo sweep (CVU usuario) = posición cliente."},"heldBalance":{"type":"string","example":"500.00","description":"Saldo retenido por transferencias en vuelo (ARS)."},"totalBalance":{"type":"string","example":"15730.50","description":"availableBalance + heldBalance."},"mode":{"type":"string","enum":["standard","sweep"]},"treasuryCvu":{"type":"object","nullable":true},"cvuAvailableBalance":{"type":"string","description":"Ledger disponible real de la CVU (≈0 si sweep + usuario)."},"customerLiabilities":{"type":"object","description":"Pasivo total de clientes (solo CVU tesorería)."},"freeBalance":{"type":"object","description":"treasuryAvailable - customerLiabilities (informativo; puede ser negativo)."},"isTreasury":{"type":"boolean","description":"true si esta CVU es tesorería o recaudadora de comisiones del PSP."}},"required":["cvu","availableBalance","heldBalance","totalBalance"]},"LedgerMovementResponse":{"type":"object","properties":{"id":{"type":"string","example":"a1b2c3d4-0000-4000-8000-000000000000"},"cvu":{"type":"string","example":"0000208200000000000147"},"type":{"type":"string","enum":["credit","debit","hold","release","confirm_hold"],"example":"credit"},"amount":{"type":"string","example":"1500.00"},"availableAfter":{"type":"string","example":"15230.50"},"heldAfter":{"type":"string","example":"0.00"},"referenceType":{"type":"string","enum":["transfer","webhook_credit","webhook_reversal","adjustment"],"example":"webhook_credit"},"referenceId":{"type":"string","example":"evt-9f8e7d6c"},"description":{"type":"object","example":"Cash-in G1LMP68 from 0000208200000000000291","nullable":true},"createdAt":{"type":"string","example":"2026-07-30T12:00:00.000Z"}},"required":["id","cvu","type","amount","availableAfter","heldAfter","referenceType","referenceId","description","createdAt"]},"DomicilioResponse":{"type":"object","properties":{"calle":{"type":"object"},"numero":{"type":"object"},"piso":{"type":"object"},"departamento":{"type":"object"},"localidadCodigo":{"type":"object"},"provinciaCodigo":{"type":"object"},"cp":{"type":"object"},"cpa":{"type":"object"},"localidadNombre":{"type":"object"},"provinciaNombre":{"type":"object"},"pais":{"type":"object","description":"Código país Regis (1 = AR)"}}},"WalletCvuSummaryResponse":{"type":"object","properties":{"id":{"type":"number"},"cvu":{"type":"string"},"alias":{"type":"object","nullable":true},"nombreCvu":{"type":"object","nullable":true},"fechaAlta":{"type":"string"}},"required":["id","cvu","fechaAlta"]},"WalletAccountDetailResponse":{"type":"object","properties":{"id":{"type":"number"},"tenantId":{"type":"string","description":"Tenant (PSP) owner"},"codigo":{"type":"object","nullable":true},"cuitCuil":{"type":"string"},"nombre":{"type":"string"},"apellido":{"type":"string"},"razonSocial":{"type":"string"},"email":{"type":"string"},"celular":{"type":"string"},"actividadAfip":{"type":"string"},"idOrganizacion":{"type":"object","nullable":true},"habilitado":{"type":"boolean"},"cvu":{"type":"object","nullable":true},"alias":{"type":"object","nullable":true},"nombreCvu":{"type":"object","nullable":true},"domicilio":{"$ref":"#/components/schemas/DomicilioResponse"},"cuentaCVUId":{"type":"object","nullable":true},"cvus":{"description":"Todos los CVUs activos de la wallet. cvu/alias/cuentaCVUId apuntan al primario (más antiguo).","type":"array","items":{"$ref":"#/components/schemas/WalletCvuSummaryResponse"}},"esPep":{"type":"boolean"},"esFatca":{"type":"boolean"},"esUif":{"type":"boolean"},"organizacionCuentaBancoId":{"type":"object","nullable":true},"fechaNacimiento":{"type":"object","nullable":true},"ocupacion":{"type":"object","nullable":true},"estadoCivil":{"type":"object","nullable":true},"dni":{"type":"object","nullable":true},"tipoPersona":{"type":"string","enum":["F","J"],"nullable":true},"nacionalidad":{"type":"string","example":"AR"},"sujetoObligado":{"type":"object","nullable":true},"nse":{"type":"object","nullable":true},"nivelRiesgo":{"type":"object","nullable":true},"perfilTransaccional":{"type":"object","nullable":true},"ingresosAnuales":{"type":"object","nullable":true,"description":"Facturación / ingresos anuales estimados"},"montoAnualInvertir":{"type":"object","nullable":true},"pepDetalle":{"type":"object","nullable":true},"fechaAltaSiscri":{"type":"object","nullable":true},"fechaMonitoreada":{"type":"object","nullable":true}},"required":["id","cuitCuil","nombre","apellido","razonSocial","email","celular","actividadAfip","habilitado","domicilio","esPep","esFatca","esUif","nacionalidad"]},"CuentasListResponse":{"type":"object","properties":{"totalPages":{"type":"number"},"totalRecords":{"type":"number"},"items":{"type":"array","items":{"$ref":"#/components/schemas/WalletAccountDetailResponse"}}},"required":["totalPages","totalRecords","items"]},"DomicilioDto":{"type":"object","properties":{"calle":{"type":"string"},"numero":{"type":"string"},"piso":{"type":"object"},"departamento":{"type":"object"},"localidadCodigo":{"type":"object"},"provinciaCodigo":{"type":"object"},"localidadId":{"type":"number","description":"Alias integración: localidadId"},"provinciaId":{"type":"number","description":"Alias integración: provinciaId"},"cp":{"type":"string"},"localidadNombre":{"type":"object"},"provinciaNombre":{"type":"object"},"pais":{"type":"object","description":"Código país Regis (1 = AR)"}}},"CreateWalletAccountDto":{"type":"object","properties":{"codigo":{"type":"string"},"cuitCuil":{"type":"string","example":"20374315679"},"nombre":{"type":"string"},"apellido":{"type":"string"},"razonSocial":{"type":"string"},"email":{"type":"string"},"celular":{"type":"string"},"actividadAfip":{"type":"string","example":"000012"},"habilitado":{"type":"boolean","default":false},"domicilio":{"$ref":"#/components/schemas/DomicilioDto"},"datosDomicilio":{"$ref":"#/components/schemas/DomicilioDto"},"esPep":{"type":"boolean"},"esFatca":{"type":"boolean"},"esFacta":{"type":"boolean"},"esUif":{"type":"boolean"},"nacionalidad":{"type":"string","example":"AR"},"fechaNacimiento":{"type":"string"},"ocupacion":{"type":"string"},"estadoCivil":{"type":"string"},"dni":{"type":"string"},"tipoPersona":{"type":"string","enum":["F","J"]},"sujetoObligado":{"type":"object"},"nse":{"type":"object","description":"Nivel socioeconómico (Regis NSE)"},"nivelRiesgo":{"type":"object"},"perfilTransaccional":{"type":"object"},"ingresosAnuales":{"type":"object","description":"Facturación / ingresos anuales estimados"},"montoAnualInvertir":{"type":"object"},"pepDetalle":{"type":"object","description":"Detalle declaración PEP (parentesco, función, fechas)"}},"required":["cuitCuil","nombre","apellido","razonSocial","email","celular","actividadAfip","esPep","esUif","nacionalidad"]},"CreateWalletAccountResponse":{"type":"object","properties":{"id":{"type":"number","example":274926},"habilitado":{"type":"boolean","example":true}},"required":["id","habilitado"]},"SetHabilitadoDto":{"type":"object","properties":{"habilitado":{"type":"boolean"}},"required":["habilitado"]},"UpdateWalletAccountDto":{"type":"object","properties":{"codigo":{"type":"string"},"cuitCuil":{"type":"string","example":"20374315679"},"nombre":{"type":"string"},"apellido":{"type":"string"},"razonSocial":{"type":"string"},"email":{"type":"string"},"celular":{"type":"string"},"actividadAfip":{"type":"string","example":"000012"},"habilitado":{"type":"boolean","default":false},"domicilio":{"$ref":"#/components/schemas/DomicilioDto"},"datosDomicilio":{"$ref":"#/components/schemas/DomicilioDto"},"esPep":{"type":"boolean"},"esFatca":{"type":"boolean"},"esFacta":{"type":"boolean"},"esUif":{"type":"boolean"},"nacionalidad":{"type":"string","example":"AR"},"fechaNacimiento":{"type":"string"},"ocupacion":{"type":"string"},"estadoCivil":{"type":"string"},"dni":{"type":"string"},"tipoPersona":{"type":"string","enum":["F","J"]},"sujetoObligado":{"type":"object"},"nse":{"type":"object","description":"Nivel socioeconómico (Regis NSE)"},"nivelRiesgo":{"type":"object"},"perfilTransaccional":{"type":"object"},"ingresosAnuales":{"type":"object","description":"Facturación / ingresos anuales estimados"},"montoAnualInvertir":{"type":"object"},"pepDetalle":{"type":"object","description":"Detalle declaración PEP (parentesco, función, fechas)"}},"required":["cuitCuil","nombre","apellido","razonSocial","email","celular","actividadAfip","esPep","esUif","nacionalidad"]},"CreateWalletCvuDto":{"type":"object","properties":{"idCuenta":{"type":"number","example":274926},"nombreCVU":{"type":"string","example":"Juan Alberto Perez"},"aliasAutomatico":{"type":"boolean","default":true},"tipoPersona":{"type":"string","enum":["F","J"],"description":"Override de tipo de persona. Si no se envía, se infiere del prefijo del CUIT."},"permitirAdicional":{"type":"boolean","default":false,"description":"Permitir un CVU adicional cuando la wallet ya tiene uno activo. Solo tiene efecto para platform_admin; los PSP lo ignoran."}},"required":["idCuenta"]},"CreateWalletCvuResponse":{"type":"object","properties":{"id":{"type":"number","example":154552},"cvu":{"type":"string","example":"0000208200000000000147"},"alias":{"type":"object","example":"gp.20374315679","nullable":true},"idCuenta":{"type":"number","example":274926},"nombreCvu":{"type":"string","example":"Juan Alberto Perez"}},"required":["id","cvu","alias","idCuenta","nombreCvu"]},"AsignarAliasDto":{"type":"object","properties":{"alias":{"type":"string","example":"Carlitos.perez7896"},"idEsCuenta":{"type":"boolean","default":false}},"required":["alias"]},"CuentaCvuLookupResponse":{"type":"object","properties":{"cuentaId":{"type":"object","nullable":true},"cbucvu":{"type":"string"},"alias":{"type":"object","nullable":true},"cuitCuil":{"type":"object","nullable":true},"nombre":{"type":"object","nullable":true},"bancoNombre":{"type":"object","nullable":true},"tipoCuenta":{"type":"object","nullable":true,"example":"CVU","description":"Tipo de cuenta según Red (p. ej. CVU, CC, CA)"},"activo":{"type":"boolean"},"billeteraId":{"type":"object","nullable":true},"nombreCvu":{"type":"object","nullable":true},"entidad":{"type":"object","nullable":true},"moneda":{"type":"string","example":"ARS"}},"required":["cbucvu","activo","moneda"]},"CuentasCvuItemResponse":{"type":"object","properties":{"id":{"type":"number"},"idCuenta":{"type":"number"},"nombre":{"type":"string"},"apellido":{"type":"string"},"cuitCuil":{"type":"string"},"cvu":{"type":"string"},"alias":{"type":"object","nullable":true},"fechaAlta":{"type":"string"}},"required":["id","idCuenta","nombre","apellido","cuitCuil","cvu","fechaAlta"]},"CuentasCvuListResponse":{"type":"object","properties":{"totalPages":{"type":"number"},"totalRecords":{"type":"number"},"cuentasCVU":{"type":"array","items":{"$ref":"#/components/schemas/CuentasCvuItemResponse"}}},"required":["totalPages","totalRecords","cuentasCVU"]},"WalletTipoComprobanteResponse":{"type":"object","properties":{"id":{"type":"number","example":357},"nombre":{"type":"string"},"codigo":{"type":"string"},"descripcion":{"type":"object","nullable":true},"signo":{"type":"number","enum":[1,-1],"description":"1 crédito / -1 débito"},"sentido":{"type":"string","enum":["credit","debit","hold","release","confirm_hold"]},"habilitado":{"type":"boolean"}},"required":["id","nombre","codigo","signo","sentido","habilitado"]},"WalletCreateTipoComprobanteDto":{"type":"object","properties":{"nombre":{"type":"string","example":"Promo reintegro"},"codigo":{"type":"string","example":"PROMO_REINTEGRO"},"descripcion":{"type":"string","example":"Reintegro por promoción"},"signo":{"type":"number","enum":[1,-1],"description":"1 = crédito, -1 = débito"},"sentido":{"type":"string","enum":["credit","debit","hold","release","confirm_hold"],"description":"Extensión Gallo; si viene, manda sobre signo"},"tipoMovimiento":{"type":"string","example":"001","description":"Categoría de movimiento (opcional)"}},"required":["nombre","codigo"]},"WalletCreateTipoResponse":{"type":"object","properties":{"id":{"type":"number"}},"required":["id"]},"WalletCreateComprobanteDto":{"type":"object","properties":{"idTipoComprobante":{"type":"number","description":"Id numérico del tipo de comprobante"},"codigo":{"type":"string","example":"PROMO_REINTEGRO","description":"Código del tipo (alternativa a idTipoComprobante)"},"idCuenta":{"type":"number","example":274931,"description":"ID cuenta wallet"},"importe":{"type":"number","example":100},"referencia":{"type":"string","example":"Recarga"},"idExterno":{"type":"string","example":"promo-42"},"fechaExterna":{"type":"string","example":"2026-08-05"}},"required":["idCuenta","importe"]},"WalletCreateComprobanteResponse":{"type":"object","properties":{"id":{"type":"string","description":"UUID del movimiento ledger"},"saldo":{"type":"number","description":"Saldo disponible post-ajuste"},"availableBalance":{"type":"string"},"heldBalance":{"type":"string"},"totalBalance":{"type":"string"}},"required":["id","saldo"]},"WalletComprobanteItemResponse":{"type":"object","properties":{"idComprobante":{"type":"string"},"idTipoComprobante":{"type":"object","nullable":true},"descripcionTipoComprobante":{"type":"string"},"idCuenta":{"type":"object","nullable":true},"fecha":{"type":"string"},"importe":{"type":"number"},"signo":{"type":"number","enum":[1,-1]},"sentido":{"type":"string"},"saldo":{"type":"number"},"referencia":{"type":"object","nullable":true},"idExterno":{"type":"string"},"cvu":{"type":"string"},"fechaExterna":{"type":"object","nullable":true}},"required":["idComprobante","descripcionTipoComprobante","fecha","importe","signo","sentido","saldo","idExterno","cvu"]},"WalletSaldoResponse":{"type":"object","properties":{"saldo":{"type":"number","description":"Saldo disponible"},"availableBalance":{"type":"string"},"heldBalance":{"type":"string"},"totalBalance":{"type":"string"},"cvu":{"type":"string"},"idCuenta":{"type":"number"}},"required":["saldo"]},"WalletSaldosPageResponse":{"type":"object","properties":{"totalPages":{"type":"number"},"totalRecords":{"type":"number"},"items":{"type":"array","items":{"$ref":"#/components/schemas/WalletSaldoResponse"}}},"required":["totalPages","totalRecords","items"]},"WalletSaldoHistoricoResponse":{"type":"object","properties":{"saldo":{"type":"number","description":"Saldo disponible"},"availableBalance":{"type":"string"},"heldBalance":{"type":"string"},"totalBalance":{"type":"string"},"cvu":{"type":"string"},"idCuenta":{"type":"number"},"date":{"type":"string"},"source":{"type":"string","enum":["snapshot","movement","zero"]}},"required":["saldo","date"]},"WalletComprobantesPageResponse":{"type":"object","properties":{"totalPages":{"type":"number"},"totalRecords":{"type":"number"},"comprobantes":{"type":"array","items":{"$ref":"#/components/schemas/WalletComprobanteItemResponse"}}},"required":["totalPages","totalRecords","comprobantes"]},"WalletOperacionItemResponse":{"type":"object","properties":{"id":{"type":"string"},"idExterno":{"type":"string"},"idTrxRed":{"type":"object","nullable":true},"importe":{"type":"string"},"status":{"type":"string"},"cvuDebito":{"type":"string"},"cbuCredito":{"type":"string"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"isInternal":{"type":"boolean"}},"required":["id","idExterno","importe","status","cvuDebito","cbuCredito","createdAt","updatedAt"]},"WalletOperacionesPageResponse":{"type":"object","properties":{"totalPages":{"type":"number"},"totalRecords":{"type":"number"},"operaciones":{"type":"array","items":{"$ref":"#/components/schemas/WalletOperacionItemResponse"}}},"required":["totalPages","totalRecords","operaciones"]},"UpsertFraudOverrideDto":{"type":"object","properties":{"enabled":{"type":"object","nullable":true},"severity":{"type":"string","enum":["low","medium","high","critical"],"nullable":true},"action":{"type":"string","enum":["allow_case","reject","reject_suspend"],"nullable":true},"params":{"type":"object","nullable":true}}},"AccountTagDto":{"type":"object","properties":{"tag":{"type":"string","example":"vip"}},"required":["tag"]},"CreateTransferDto":{"type":"object","properties":{"cvuDebito":{"type":"string","example":"0000208200000000000147"},"cbuCredito":{"type":"string","example":"0000208200000000000291"},"cuitCredito":{"type":"string","example":"20370994049"},"titularCredito":{"type":"string","example":"JUAN PEREZ"},"concepto":{"type":"string","example":"VAR","enum":["ALQ","APC","BRH","BRN","CUO","ESE","EXP","FAC","HAB","HON","OIH","OIN","PRE","ROP","SEG","SIS","SON","VAR","PLF"]},"importe":{"type":"number","example":1500.5},"descripcion":{"type":"string","example":"Pago servicio"}},"required":["cvuDebito","cbuCredito","cuitCredito","concepto","importe"]},"TransferResponse":{"type":"object","properties":{"id":{"type":"string","example":"7c9e6679-7425-40de-944b-e07fc1f90ae7"},"idTrxCliente":{"type":"string","example":"1024","description":"ID de transacción correlativo asignado por Gallo Pay."},"idTrxRed":{"type":"object","example":"G1LMP68NKVYE3XD2R7OEV4","nullable":true,"description":"ID de la operación en Red (una vez liquidada)."},"cvuDebito":{"type":"string","example":"0000208200000000000147"},"cuitDebito":{"type":"string","example":"20370994049"},"titularDebito":{"type":"string","example":"JUAN PEREZ"},"cbuCredito":{"type":"string","example":"0000208200000000000291"},"cuitCredito":{"type":"string","example":"20111111112"},"titularCredito":{"type":"object","example":"MARIA GOMEZ","nullable":true},"concepto":{"type":"string","example":"VAR","description":"Concepto BCRA."},"importe":{"type":"string","example":"1500.50"},"descripcion":{"type":"object","example":"Pago servicio","nullable":true},"status":{"type":"string","enum":["pending","sent","confirmed","failed","reversed"],"example":"confirmed","description":"pending → sent → confirmed | failed | reversed. Cada cambio emite un webhook."},"errorRed":{"type":"object","example":null,"nullable":true},"estadoCodigo":{"type":"object","example":"00","nullable":true},"estadoDescripcion":{"type":"object","example":"OK","nullable":true},"isInternal":{"type":"boolean","example":false,"description":"true = liquidada solo con comprobantes de ledger (CVU→CVU mismo PSP)."},"createdAt":{"type":"string","example":"2026-07-30T12:00:00.000Z"},"updatedAt":{"type":"string","example":"2026-07-30T12:00:00.000Z"}},"required":["id","idTrxCliente","idTrxRed","cvuDebito","cuitDebito","titularDebito","cbuCredito","cuitCredito","titularCredito","concepto","importe","descripcion","status","errorRed","estadoCodigo","estadoDescripcion","isInternal","createdAt","updatedAt"]},"PaginatedTransfers":{"type":"object","properties":{"total":{"type":"number","example":137,"description":"Total de registros que cumplen el filtro."},"limit":{"type":"number","example":50,"description":"Tamaño de página aplicado (máx. 100)."},"offset":{"type":"number","example":0,"description":"Offset actual."},"items":{"type":"array","items":{"$ref":"#/components/schemas/TransferResponse"}}},"required":["total","limit","offset","items"]},"RedCashInHit":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"tenantId":{"type":"object","nullable":true},"externalId":{"type":"string"},"status":{"type":"string"},"createdAt":{"format":"date-time","type":"string"},"payload":{"type":"object","description":"Payload Banco original (opaco)."}},"required":["id","type","tenantId","externalId","status","createdAt","payload"]},"RedLookupResponse":{"type":"object","properties":{"idRed":{"type":"string","example":"G1LMP68NKVYE3XD2R7OEV4"},"source":{"type":"string","enum":["transfer","cash_in","Banco"],"description":"transfer = cash-out local; cash_in = aviso de crédito; Banco = banco, sin fila Gallo."},"transfer":{"type":"object","nullable":true},"cashIn":{"nullable":true,"type":"object","allOf":[{"$ref":"#/components/schemas/RedCashInHit"}]},"bank":{"type":"object","nullable":true,"description":"Detalle Banco cuando no hay fila local."}},"required":["idRed","source"]},"TransferSnapshot":{"type":"object","properties":{"id":{"type":"string"},"tenantId":{"type":"string"},"idTrxCliente":{"type":"string"},"idTrxRed":{"type":"object","nullable":true},"bankDebitoId":{"type":"object","nullable":true},"cvuDebito":{"type":"string"},"cuitDebito":{"type":"string"},"titularDebito":{"type":"string"},"cbuCredito":{"type":"string"},"cuitCredito":{"type":"string"},"titularCredito":{"type":"object","nullable":true},"concepto":{"type":"string"},"importe":{"type":"string"},"descripcion":{"type":"object","nullable":true},"status":{"type":"string"},"errorRed":{"type":"object","nullable":true},"estadoCodigo":{"type":"object","nullable":true},"estadoDescripcion":{"type":"object","nullable":true},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["id","tenantId","idTrxCliente","cvuDebito","cuitDebito","titularDebito","cbuCredito","cuitCredito","concepto","importe","status","createdAt","updatedAt"]},"TransferTimelinePoint":{"type":"object","properties":{"id":{"type":"string"},"channel":{"type":"string","enum":["lifecycle","ledger","audit","bank_webhook","outbound"],"example":"lifecycle"},"seq":{"type":"number","example":1,"description":"Orden en la línea de tiempo unificada"},"elapsedMs":{"type":"number","example":1247,"description":"ms desde createdAt"},"deltaMs":{"type":"number","example":312,"description":"ms desde el punto anterior"},"fromStatus":{"type":"object","nullable":true},"toStatus":{"type":"object","nullable":true},"type":{"type":"string","example":"bank_response"},"source":{"type":"string","example":"bank"},"estadoCodigo":{"type":"object","nullable":true},"estadoDescripcion":{"type":"object","nullable":true},"message":{"type":"object","nullable":true},"outcome":{"type":"object","nullable":true},"detail":{"type":"object","nullable":true},"at":{"type":"string"}},"required":["id","channel","seq","elapsedMs","deltaMs","type","source","at"]},"TransferTimelineResponse":{"type":"object","properties":{"transferId":{"type":"string"},"idTrxCliente":{"type":"string"},"status":{"type":"string"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"totalElapsedMs":{"type":"number","description":"Duración total en ms","example":3500},"transfer":{"$ref":"#/components/schemas/TransferSnapshot"},"points":{"description":"Línea de tiempo unificada: lifecycle + ledger + audit + webhooks banco + outbox","type":"array","items":{"$ref":"#/components/schemas/TransferTimelinePoint"}},"events":{"type":"array","items":{"$ref":"#/components/schemas/TransferTimelinePoint"}},"counts":{"type":"object","description":"Conteos por canal","example":{"lifecycle":6,"ledger":2,"audit":1,"bank_webhook":0,"outbound":2}}},"required":["transferId","idTrxCliente","status","createdAt","updatedAt","totalElapsedMs","transfer","points","events","counts"]},"AdherirVendedorDto":{"type":"object","properties":{"cuit":{"type":"string","example":"30712345678"}},"required":["cuit"]},"AdherirCompradorDto":{"type":"object","properties":{"cuit":{"type":"string","example":"20345678901"},"cbu":{"type":"string","example":"0000003100010000000001"}},"required":["cuit","cbu"]},"AdherirDebinDto":{"type":"object","properties":{"moneda":{"type":"string","example":"032"},"concepto":{"type":"string","example":"FAC"},"detalle":{"type":"string","example":"Cuota servicio"},"prestacion":{"type":"string","example":"Suscripcion mensual"},"referencia":{"type":"string","example":"REF-001"},"limite_cuotas":{"type":"number","example":12},"importe":{"type":"number","example":1500.5}},"required":["moneda","detalle","prestacion","referencia"]},"CreateDebinAdhesionDto":{"type":"object","properties":{"vendedor":{"$ref":"#/components/schemas/AdherirVendedorDto"},"comprador":{"$ref":"#/components/schemas/AdherirCompradorDto"},"debin":{"$ref":"#/components/schemas/AdherirDebinDto"},"id":{"type":"number","description":"Red recurrence id. Required for baja (activo=false) and updates."},"activo":{"type":"boolean","default":true,"description":"false = baja de la recurrencia (requiere id)"},"tipo_adhesion":{"type":"number","description":"Alta: 0 no propia / 1 propia. Baja: 0 normal / 1 definitiva."},"role":{"type":"string","enum":["vendedor","comprador"],"default":"vendedor"},"kind":{"type":"string","enum":["programado","recurrente"],"description":"Default: programado if limite_cuotas set, else recurrente"}},"required":["vendedor","comprador","debin"]},"DebinAdhesionResponse":{"type":"object","properties":{"id":{"type":"string"},"tenantId":{"type":"string"},"role":{"type":"string","enum":["vendedor","comprador"]},"kind":{"type":"string","enum":["programado","recurrente"]},"status":{"type":"string","enum":["pending","pending_confirm","active","inactive","failed"]},"vendedorCuit":{"type":"string"},"compradorCuit":{"type":"string"},"compradorCbu":{"type":"string"},"prestacion":{"type":"string"},"referencia":{"type":"string"},"limiteCuotas":{"type":"object"},"importe":{"type":"object"},"RedAdhesionId":{"type":"object"},"respuestaCodigo":{"type":"object"},"respuestaDescripcion":{"type":"object"},"createdAt":{"format":"date-time","type":"string"},"updatedAt":{"format":"date-time","type":"string"}},"required":["id","tenantId","role","kind","status","vendedorCuit","compradorCuit","compradorCbu","prestacion","referencia","createdAt","updatedAt"]},"ConfirmVendedorDto":{"type":"object","properties":{"cuit":{"type":"string"}},"required":["cuit"]},"ConfirmCompradorDto":{"type":"object","properties":{"cuit":{"type":"string"},"cbu":{"type":"string"}},"required":["cuit","cbu"]},"ConfirmDebinDto":{"type":"object","properties":{"moneda":{"type":"string","example":"032"},"prestacion":{"type":"string"},"referencia":{"type":"string"}},"required":["moneda","prestacion","referencia"]},"ConfirmarRecurrenciaDto":{"type":"object","properties":{"id":{"type":"number","description":"Red recurrence id"},"autorizacion":{"type":"boolean","description":"true = aprobar, false = rechazar"},"vendedor":{"$ref":"#/components/schemas/ConfirmVendedorDto"},"comprador":{"$ref":"#/components/schemas/ConfirmCompradorDto"},"debin":{"$ref":"#/components/schemas/ConfirmDebinDto"},"adhesionId":{"type":"string","description":"Local adhesion UUID (optional; looks up by Red id if omitted)"}},"required":["id","autorizacion","vendedor","comprador","debin"]},"BajaAdhesionDto":{"type":"object","properties":{"adhesionId":{"type":"string","description":"Local adhesion UUID; if omitted use RedAdhesionId"},"RedAdhesionId":{"type":"number","description":"Red recurrence id"},"tipo_adhesion":{"type":"number","description":"0 = baja normal (INACTIVA), 1 = baja definitiva","default":0}}},"PaginatedDebinAdhesiones":{"type":"object","properties":{"total":{"type":"number"},"limit":{"type":"number"},"offset":{"type":"number"},"items":{"type":"array","items":{"$ref":"#/components/schemas/DebinAdhesionResponse"}}},"required":["total","limit","offset","items"]},"ProgramadoVendedorDto":{"type":"object","properties":{"cuit":{"type":"string"},"cbu":{"type":"string"},"banco":{"type":"string","example":"322"},"sucursal":{"type":"string"},"terminal":{"type":"string"},"prestacion":{"type":"string"},"recurrencia":{"type":"boolean","default":true}},"required":["cuit","cbu","banco","prestacion"]},"ProgramadoCompradorCuentaDto":{"type":"object","properties":{"cbu":{"type":"string"},"alias":{"type":"string"}},"required":["cbu","alias"]},"ProgramadoCompradorDto":{"type":"object","properties":{"cuit":{"type":"string"},"cuenta":{"$ref":"#/components/schemas/ProgramadoCompradorCuentaDto"}},"required":["cuit","cuenta"]},"ProgramadoDetalleDto":{"type":"object","properties":{"concepto":{"type":"string","example":"CUO"},"idUsuario":{"type":"number"},"idComprobante":{"type":"number"},"moneda":{"type":"string","example":"032"},"importe":{"type":"number","example":1500.5},"devolucion":{"type":"boolean"},"tiempoExpiracion":{"type":"number","example":1440,"description":"Minutes 1..4320"},"descripcion":{"type":"string","example":"001/012"},"mismoTitular":{"type":"number"},"idLote":{"type":"number"}},"required":["concepto","moneda","importe","tiempoExpiracion"]},"ProgramadoDatosGeneradorDto":{"type":"object","properties":{"ipCliente":{"type":"string"},"tipoDispositivo":{"type":"string"},"plataforma":{"type":"string"}}},"CreateDebinSpotDto":{"type":"object","properties":{"ori_trx_id":{"type":"string","description":"Originator id (max 40). Auto-generated if omitted."},"vendedor":{"$ref":"#/components/schemas/ProgramadoVendedorDto"},"comprador":{"$ref":"#/components/schemas/ProgramadoCompradorDto"},"detalle":{"$ref":"#/components/schemas/ProgramadoDetalleDto"},"datosGenerador":{"$ref":"#/components/schemas/ProgramadoDatosGeneradorDto"}},"required":["vendedor","comprador","detalle"]},"DebinProgramadoResponse":{"type":"object","properties":{"id":{"type":"string"},"tenantId":{"type":"string"},"subtipo":{"type":"string","enum":["SPOT","PROGRAMADO","PULL"]},"oriTrxId":{"type":"string"},"RedDebinId":{"type":"object"},"status":{"type":"string","enum":["pending","initiated","pending_buyer","credited","finalized","failed","expired","chargeback","debit_confirmed","debit_rejected"]},"vendedorCuit":{"type":"string"},"vendedorCbu":{"type":"string"},"compradorCuit":{"type":"string"},"compradorCbu":{"type":"string"},"concepto":{"type":"string"},"moneda":{"type":"string"},"importe":{"type":"string"},"prestacion":{"type":"string"},"descripcion":{"type":"object"},"estadoCodigo":{"type":"object"},"estadoDescripcion":{"type":"object"},"respuestaCodigo":{"type":"object"},"respuestaDescripcion":{"type":"object"},"RedAdhesionId":{"type":"object"},"adhesionId":{"type":"object"},"fechaExpiracion":{"type":"object"},"createdAt":{"format":"date-time","type":"string"},"updatedAt":{"format":"date-time","type":"string"}},"required":["id","tenantId","subtipo","oriTrxId","status","vendedorCuit","vendedorCbu","compradorCuit","compradorCbu","concepto","moneda","importe","prestacion","createdAt","updatedAt"]},"PullVendedorDto":{"type":"object","properties":{"cuit":{"type":"string"},"cbu":{"type":"string"},"banco":{"type":"string","example":"322"},"sucursal":{"type":"string"},"terminal":{"type":"string"},"recurrencia":{"type":"boolean","default":false}},"required":["cuit","cbu","banco"]},"PullCompradorCuentaDto":{"type":"object","properties":{"cbu":{"type":"string"},"alias":{"type":"string"}},"required":["cbu"]},"PullCompradorDto":{"type":"object","properties":{"cuit":{"type":"string"},"cuenta":{"$ref":"#/components/schemas/PullCompradorCuentaDto"}},"required":["cuit","cuenta"]},"PullDetalleDto":{"type":"object","properties":{"concepto":{"type":"string","example":"VAR"},"idUsuario":{"type":"number"},"idComprobante":{"type":"number"},"moneda":{"type":"string","example":"032"},"importe":{"type":"number","example":1500.5},"devolucion":{"type":"boolean"},"tiempoExpiracion":{"type":"number","example":15},"descripcion":{"type":"string"},"mismoTitular":{"type":"number"},"idLote":{"type":"number"}},"required":["concepto","moneda","importe","tiempoExpiracion"]},"PullDatosGeneradorDto":{"type":"object","properties":{"ipCliente":{"type":"string"},"tipoDispositivo":{"type":"string"},"plataforma":{"type":"string"}}},"CreateDebinPullDto":{"type":"object","properties":{"ori_trx_id":{"type":"string"},"trxPullToken":{"type":"string","description":"Consent JWT for Red header X-TRX-PULL"},"tacito":{"type":"boolean","description":"Use TransferenciaPullTacito instead of TransferenciaPull"},"vendedor":{"$ref":"#/components/schemas/PullVendedorDto"},"comprador":{"$ref":"#/components/schemas/PullCompradorDto"},"detalle":{"$ref":"#/components/schemas/PullDetalleDto"},"datosGenerador":{"$ref":"#/components/schemas/PullDatosGeneradorDto"}},"required":["vendedor","comprador","detalle"]},"CreateDebinProgramadoDto":{"type":"object","properties":{"ori_trx_id":{"type":"string","description":"Originator id (max 40). Auto-generated if omitted."},"vendedor":{"$ref":"#/components/schemas/ProgramadoVendedorDto"},"comprador":{"$ref":"#/components/schemas/ProgramadoCompradorDto"},"detalle":{"$ref":"#/components/schemas/ProgramadoDetalleDto"},"datosGenerador":{"$ref":"#/components/schemas/ProgramadoDatosGeneradorDto"},"adhesionId":{"type":"string","description":"Local adhesion UUID to link"}},"required":["vendedor","comprador","detalle"]},"PaginatedDebinProgramados":{"type":"object","properties":{"total":{"type":"number"},"limit":{"type":"number"},"offset":{"type":"number"},"items":{"type":"array","items":{"$ref":"#/components/schemas/DebinProgramadoResponse"}}},"required":["total","limit","offset","items"]},"DebinEventResponse":{"type":"object","properties":{"id":{"type":"string"},"seq":{"type":"number"},"type":{"type":"string"},"source":{"type":"string"},"fromStatus":{"type":"object"},"toStatus":{"type":"object"},"message":{"type":"object"},"at":{"format":"date-time","type":"string"}},"required":["id","seq","type","source","at"]},"DebinProgramadoDetailResponse":{"type":"object","properties":{"id":{"type":"string"},"tenantId":{"type":"string"},"subtipo":{"type":"string","enum":["SPOT","PROGRAMADO","PULL"]},"oriTrxId":{"type":"string"},"RedDebinId":{"type":"object"},"status":{"type":"string","enum":["pending","initiated","pending_buyer","credited","finalized","failed","expired","chargeback","debit_confirmed","debit_rejected"]},"vendedorCuit":{"type":"string"},"vendedorCbu":{"type":"string"},"compradorCuit":{"type":"string"},"compradorCbu":{"type":"string"},"concepto":{"type":"string"},"moneda":{"type":"string"},"importe":{"type":"string"},"prestacion":{"type":"string"},"descripcion":{"type":"object"},"estadoCodigo":{"type":"object"},"estadoDescripcion":{"type":"object"},"respuestaCodigo":{"type":"object"},"respuestaDescripcion":{"type":"object"},"RedAdhesionId":{"type":"object"},"adhesionId":{"type":"object"},"fechaExpiracion":{"type":"object"},"createdAt":{"format":"date-time","type":"string"},"updatedAt":{"format":"date-time","type":"string"},"events":{"type":"array","items":{"$ref":"#/components/schemas/DebinEventResponse"}}},"required":["id","tenantId","subtipo","oriTrxId","status","vendedorCuit","vendedorCbu","compradorCuit","compradorCbu","concepto","moneda","importe","prestacion","createdAt","updatedAt","events"]},"ConfirmaDebitoCvuDto":{"type":"object","properties":{"debinId":{"type":"string","description":"Red Debin id (22)"},"codigo":{"type":"string","example":"00","description":"00 accept+debit, 01 accept, 02 reject. Homolog error-débito: 20/30/35/40"},"compradorCuit":{"type":"string"},"compradorCbu":{"type":"string"},"moneda":{"type":"string"},"importe":{"type":"number","example":1500.5},"ori_trx":{"type":"string"}},"required":["debinId","codigo","compradorCuit","compradorCbu","moneda","importe"]},"CreateDebinContracargoDto":{"type":"object","properties":{"debinId":{"type":"string","description":"Red Debin id (22)"},"compradorCuit":{"type":"string"},"vendedorCuit":{"type":"string"},"importe":{"type":"number"},"motivo":{"type":"string"}},"required":["debinId","compradorCuit","vendedorCuit","importe"]},"ContracargoPullDetalleDto":{"type":"object","properties":{"importe":{"type":"number"},"moneda":{"type":"string","example":"032"},"motivo":{"type":"string"}},"required":["importe","moneda","motivo"]},"ContracargoPullOperacionDto":{"type":"object","properties":{"id":{"type":"string","description":"Red id of original Pull (22)"},"detalle":{"$ref":"#/components/schemas/ContracargoPullDetalleDto"}},"required":["id","detalle"]},"CreateDebinContracargoPullDto":{"type":"object","properties":{"operacionOriginal":{"$ref":"#/components/schemas/ContracargoPullOperacionDto"},"tacito":{"type":"boolean","description":"Use ContraCargoPullTacito path (default false)"}},"required":["operacionOriginal"]},"CreateQrPayDto":{"type":"object","properties":{"qr":{"type":"string","description":"QR raw (EMV / Red). Prefer with qrIdTrx when known."},"qrIdTrx":{"type":"string","description":"Identificador operación QR (qr_id_trx)"},"adquirenteCuit":{"type":"string","description":"CUIT adquirente para GET QRPayment"},"compradorCuit":{"type":"string","description":"CUIT comprador (billetera)"},"compradorCbu":{"type":"string","description":"CBU/CVU comprador"},"compradorAlias":{"type":"string"},"vendedorCuit":{"type":"string","description":"CUIT vendedor (si no se resuelve vía QRPayment)"},"vendedorCbu":{"type":"string"},"vendedorBanco":{"type":"string"},"vendedorSucursal":{"type":"string"},"vendedorTerminal":{"type":"string"},"concepto":{"type":"string","default":"PCT"},"moneda":{"type":"string","example":"032"},"importe":{"type":"number","example":100.5},"tiempoExpiracion":{"type":"number","description":"Minutos (1–4320; Red homolog acepta máx 10)","default":10},"descripcion":{"type":"string"},"promoCode":{"type":"string","description":"Código de campaña / cupón para cashback QR","example":"VERANO10"},"idBilletera":{"type":"number"},"subtipo":{"type":"string","description":"objeto.subtipo Red"},"iniciador":{"type":"string","description":"objeto.iniciador Red"},"datosGenerador":{"type":"object","description":"datos_generador (ip, dispositivo, etc.)"}},"required":["compradorCuit","compradorCbu","moneda","importe"]},"QrOperacionResponse":{"type":"object","properties":{"id":{"type":"string"},"tenantId":{"type":"string"},"role":{"type":"string","enum":["billetera","aceptador","cashout"]},"kind":{"type":"object"},"commerceMode":{"type":"object"},"status":{"type":"string","enum":["created","pending_confirm","approved","rejected","finalized","failed","chargeback"]},"debinId":{"type":"object"},"qrIdTrx":{"type":"object"},"paymentReference":{"type":"object"},"rawQr":{"type":"object"},"cvuComprador":{"type":"object"},"cvuVendedor":{"type":"object"},"importe":{"type":"string"},"moneda":{"type":"string"},"RedCodigo":{"type":"object"},"RedDescripcion":{"type":"object"},"expiresAt":{"type":"object"},"createdAt":{"format":"date-time","type":"string"},"updatedAt":{"format":"date-time","type":"string"}},"required":["id","tenantId","role","status","importe","moneda","createdAt","updatedAt"]},"CreateQrCommerceDto":{"type":"object","properties":{"cvuVendedor":{"type":"string","description":"CVU/CBU vendedor (comercio)"},"cuitVendedor":{"type":"string"},"importe":{"type":"number","description":"Si se omite → QR estático; si presente → dinámico"},"moneda":{"type":"string","example":"032"},"softDescriptor":{"type":"string"},"mcc":{"type":"string"},"codigoPostal":{"type":"string","description":"Código postal del comercio (8 alfanum, EMV tag 61 / IEP postal_code). Default: QR_POSTAL_CODE_DEFAULT","example":"C1001AAA"},"tiempoExpiracion":{"type":"number","description":"Minutos hasta expiración"}},"required":["cvuVendedor","cuitVendedor","moneda"]},"CreateQrCashoutDto":{"type":"object","properties":{"debitoCuit":{"type":"string","description":"CUIT cuenta débito (nuestra CVU)"},"debitoCbu":{"type":"string","description":"CBU/CVU débito"},"debitoBanco":{"type":"string"},"debitoSucursal":{"type":"string"},"debitoTitular":{"type":"string"},"creditoCuit":{"type":"string","description":"CUIT crédito destino"},"creditoCbu":{"type":"string","description":"CBU/CVU crédito"},"creditoBanco":{"type":"string"},"creditoSucursal":{"type":"string"},"moneda":{"type":"string","example":"032"},"importe":{"type":"number","example":100.5},"concepto":{"type":"string","default":"VAR"},"descripcion":{"type":"string"},"tiempoExpiracion":{"type":"number","description":"Minutos (1–4320)","default":15},"iniciador":{"type":"string"},"subtipo":{"type":"string"},"datosGenerador":{"type":"object"}},"required":["debitoCuit","debitoCbu","creditoCuit","creditoCbu","creditoBanco","moneda","importe"]},"ConfirmaQrCashoutDto":{"type":"object","properties":{"operacionId":{"type":"string","description":"Local QR operation id"},"RedId":{"type":"string","description":"Red cashout id"},"codigo":{"type":"string","description":"Success code (default 0)"},"descripcion":{"type":"string"}}},"CreateQrBilleteraDto":{"type":"object","properties":{"payload":{"type":"object","description":"Payload Red Alta Billetera (passthrough)"}},"required":["payload"]},"PaginatedQrOperaciones":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/QrOperacionResponse"}},"total":{"type":"number"},"limit":{"type":"number"},"offset":{"type":"number"}},"required":["items","total","limit","offset"]},"QrEventResponse":{"type":"object","properties":{"id":{"type":"string"},"seq":{"type":"number"},"type":{"type":"string"},"source":{"type":"string"},"fromStatus":{"type":"object"},"toStatus":{"type":"object"},"message":{"type":"object"},"at":{"format":"date-time","type":"string"}},"required":["id","seq","type","source","at"]},"QrOperacionDetailResponse":{"type":"object","properties":{"id":{"type":"string"},"tenantId":{"type":"string"},"role":{"type":"string","enum":["billetera","aceptador","cashout"]},"kind":{"type":"object"},"commerceMode":{"type":"object"},"status":{"type":"string","enum":["created","pending_confirm","approved","rejected","finalized","failed","chargeback"]},"debinId":{"type":"object"},"qrIdTrx":{"type":"object"},"paymentReference":{"type":"object"},"rawQr":{"type":"object"},"cvuComprador":{"type":"object"},"cvuVendedor":{"type":"object"},"importe":{"type":"string"},"moneda":{"type":"string"},"RedCodigo":{"type":"object"},"RedDescripcion":{"type":"object"},"expiresAt":{"type":"object"},"createdAt":{"format":"date-time","type":"string"},"updatedAt":{"format":"date-time","type":"string"},"events":{"type":"array","items":{"$ref":"#/components/schemas/QrEventResponse"}}},"required":["id","tenantId","role","status","importe","moneda","createdAt","updatedAt","events"]},"CreateQrContracargoDto":{"type":"object","properties":{"motivo":{"type":"string"},"importe":{"type":"number","description":"Defaults to operation importe"},"moneda":{"type":"string"}}},"ProposeAgenticOrderDto":{"type":"object","properties":{"cvuDebito":{"type":"string","example":"0000208200000000000147"},"cbuCredito":{"type":"string","example":"0000208200000000000291"},"cuitCredito":{"type":"string","example":"20370994049"},"concepto":{"type":"string","example":"VAR","enum":["ALQ","APC","BRH","BRN","CUO","ESE","EXP","FAC","HAB","HON","OIH","OIN","PRE","ROP","SEG","SIS","SON","VAR","PLF"]},"importe":{"type":"number","example":1500.5},"titularCredito":{"type":"string","example":"JUAN PEREZ"},"descripcion":{"type":"string","example":"Pago servicio"},"intentRaw":{"type":"string","description":"Texto original del usuario (P5). No se usa para ejecutar."}},"required":["cvuDebito","cbuCredito","cuitCredito","concepto","importe"]},"ConfirmAgenticOrderDto":{"type":"object","properties":{"payloadHash":{"type":"string","description":"SHA-256 hex of the canonical payload from GET /v1/agentic/orders/:id — never from LLM text","example":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"},"confirmedBy":{"type":"string","description":"Required for API keys: identifier of the human who confirmed (email / user id in Sigil).","example":"trader@sigil.example"}},"required":["payloadHash"]},"RejectAgenticOrderDto":{"type":"object","properties":{"reason":{"type":"string"}}},"AgenticDirectoryEntryDto":{"type":"object","properties":{"name":{"type":"string","example":"Guido"},"cbu":{"type":"string"},"cvu":{"type":"string"},"cuit":{"type":"string"},"alias":{"type":"string"}},"required":["name"]},"AgenticChatDto":{"type":"object","properties":{"message":{"type":"string","example":"Mandale 50k a Guido"},"cvuDebito":{"type":"string","example":"0000208200000000000147"},"threadId":{"type":"string"},"directory":{"type":"array","items":{"$ref":"#/components/schemas/AgenticDirectoryEntryDto"}}},"required":["message","cvuDebito"]},"WebhookEventEnvelope":{"type":"object","properties":{"eventId":{"type":"string","example":"d290f1ee-6c54-4b01-90e6-d701748f0851"},"type":{"type":"string","enum":["account.created","account.alias.updated","account.closed","account.suspended","account.credited","DESHABILITAR_CUENTA","transfer.created","transfer.sent","transfer.confirmed","transfer.failed","transfer.reversed","debin.adhesion.created","debin.adhesion.updated","debin.adhesion.confirmed","debin.adhesion.rejected","debin.adhesion.cancelled","debin.programado.created","debin.programado.pending","debin.programado.credited","debin.programado.finalized","debin.programado.chargeback","debin.spot.created","debin.spot.deleted","debin.pull.created","debin.pull.chargeback","debin.debit.confirmed","debin.pending","debin.credited","qr.created","qr.pending","qr.debit.confirmed","qr.debit.rejected","qr.finalized","qr.credited","qr.chargeback","qr.cashout.created","qr.cashout.pending","qr.cashout.confirmed","qr.commerce.created","promo.applied","promo.skipped","promo.reversed","agentic.order.pending_confirm","agentic.order.settled","agentic.order.failed"],"example":"transfer.confirmed"},"version":{"type":"string","example":"1","description":"Versión del schema del evento."},"occurredAt":{"type":"string","example":"2026-07-30T12:00:00.000Z"},"tenantId":{"type":"string","example":"3f6d9c1e-8b2a-4a1f-9c3e-6b7a1d2e5f40"},"data":{"type":"object","description":"Payload específico del evento.","example":{"id":"7c9e6679-7425-40de-944b-e07fc1f90ae7","idTrxCliente":"1024","cvuDebito":"0000208200000000000147","cbuCredito":"0000208200000000000291","importe":"1500.50","status":"confirmed"}}},"required":["eventId","type","version","occurredAt","tenantId","data"]}}}}