Download OpenAPI specification:
Las APIs regulatorias basadas en PSD2 proporcionan acceso a cierta información financiera como saldos de cuentas bancarias y transacciones. Sin embargo, hay otras fuentes de información patrimonial que no son accesibles por estas APIs. La API de Wealth Reader amplía la información ofrecida por las APIs regulatorias proporcionando acceso en tiempo real a las fuentes patrimoniales adicionales en cualquier entidad del mundo. Existen otros dos documentos relacionados que te ayudarán a integrar la API de Wealth Reader. Uno es la guía de integración del widget Javascript: https://docs-es.wealthreader.com/ y el otro una colección Postman basada en esta documentación. Muy importante: Esta definición de la API está adaptada para los clientes que integran por Widget, por lo que se han omitido algunos parámetros que no son necesarios para este tipo de integración, como pueden ser los de autenticación con el banco, ya que se utilizará token.
Obtiene los activos financieros y el detalle de su composición de carteras de inversión (acciones, fondos, bonos, planes de pensiones, inversiones alternativas, criptoactivos), tarjetas de crédito, seguros y préstamos. Incluye información de titularidad de cada uno de los activos así como identificadores únicos que facilitan el tratamiento del dato. Es posible obtener datos Mock. Consulte con el equipo técnico cómo hacerlo.
| api_key | string Identifica al cliente en el servicio |
| code | string Nombre de la entidad. El listado completo está disponible con GET Ejemplo: |
| token | string Identifica la credencial custodiada. El flujo mediante el cual se ha obtenido el token se describe en el documento 'Guía de integración del Widget'. Los siguientes usuarios Mock están disponibles: MOCKDATA, respuesta OK; MOCKOTP, respuesta con desafío OTP; MOCKLOGINKO, respuesta con error de login Ejemplo: |
| product_types | string Enum: "accounts" "portfolios" "cards" "receipts" "loans" "factoring" "confirming" "properties" "invoices" "files" "deposits" "leases" "insurances" Lista de tipos de producto de los que se desea obtener información. Acepta múltiples valores separados por comas. Ejemplo: |
| only_balances | boolean Default: false Indica si se desean obtener solo los saldos de los productos en lugar de toda la información disponible. Valor por defecto: false. Ejemplo: |
| fetch_transaction_details | boolean Default: false Indica si se deben obtener detalles ampliados de las transacciones cuando el conector de la entidad lo soporte. IMPORTANTE: Activarlo implica realizar una o más navegaciones adicionales por cada transacción para enriquecer la información devuelta. Esto aumentará inevitablemente y de forma significativa el tiempo de ejecución. El número de navegaciones adicionales crece con el volumen de transacciones. Se recomienda activarlo únicamente cuando se tenga certeza de que se requiere un nivel de detalle adicional al devuelto por defecto. Los detalles obtenidos se insertan en la clave Ejemplo: |
| date_from | string <date> Fecha a partir de la cual se solicitan las transacciones, en formato AAAA-MM-DD. Debe ser una fecha anterior a hoy. Ejemplo: |
| date_to | string <date> Esto solo aplica para restringir por fechas futuras para productos loan y confirming, en formato AAAA-MM-DD. La fecha debe ser posterior a hoy Ejemplo: |
| required_products_schema | string Esquema de productos requeridos. Indica las cuentas o tarjetas de las que se desea obtener datos, con configuraciones adicionales. Ejemplo:
|
| add_pdf_from_uuids | string Acepta uuids de transacciones separados por comas. Parámetro que solo se tiene en cuenta si product_types es ALL o incluye accounts. Añade el documento PDF asociado a cada una de las transacciones bancarias solicitadas. Ejemplo:
|
| otp_method | string Indica qué canal de entrega del segundo factor debe usarse cuando la API devolvió el código 2017 o 20171 (varios métodos OTP). Repita la petición con el mismo identificador de sesión de esa respuesta y envíe en este campo el valor exacto del campo otp_method de uno de los objetos de statistics.otpMethods (no use la posición en el array ni un alias). Opcional en la primera petición con credenciales; debe enviarse tras la elección del usuario. El ejemplo que muestra la referencia (p. ej. OTP_SMS ****1234) es solo orientativo: copie siempre la cadena que devuelve statistics.otpMethods para su entidad (puede ser otro formato, p. ej. SMS *****1234, según el banco). Ejemplo: |
api_key=a1b2c3d4e5f6g7h8i9j0&code=caixabank&token=1234Asdf&product_types=accounts%2Cportfolios&only_balances=false&date_from=2024-01-01&date_to=2025-12-31&required_products_schema=%7B%22ACCOUNTS%22%3A%7B%220ae4d722b1c82feeafb4b36b2893230444071335%22%3A%7B%22only_balances%22%3Afalse%2C%22add_pdf_from_uuids%22%3A%5B%2290763109952d4f2ebece8dceca8254078c5384a0%22%5D%2C%22date_from%22%3A%222024-04-03%22%7D%7D%2C%22CARDS%22%3A%7B%22957e6f63546f3fecacce80192b6f7436496dc057%22%3A%7B%7D%7D%7D&add_pdf_from_uuids=20966426721d0885ef9d4b95535e1d3198936f16%2C8772d6c978d37d7af83094abf380b8b703e94105
[- {
- "success": true,
- "payload": {
- "user_information": {
- "ID": "12345678Z",
- "name": "LUIS GARCIA BAQUERO",
- "gender": "male",
- "birth_date": "1980-09-26",
- "birth_place": "Ibiza",
- "email": "lgarcia@gmail.com",
- "cell_phone": "+34666123456",
- "address": "CALLE BAILEN 41 1A",
- "city": "MADRID",
- "country": "SPAIN",
- "postal_code": "28005",
- "marital_status": "married",
- "job": "CUENTA PROPIA"
}, - "portfolios": [
- {
- "subtype": "funds",
- "uuid": "05e4563f5bbf2d06efd0a29ebe7edbbb4e1bff63",
- "code": "1465010091400123456789",
- "name": "Fondo Dinámico",
- "currency": "EUR",
- "total_value": 3275.6,
- "weighted_return": 8.49,
- "annualized_volatility": 0,
- "yield": 256.27,
- "contributions": 3019.33,
- "withholdings": 0,
- "contracting_date": "2016-04-27",
- "linked_account": "ES4021005321592566566159",
- "portfolio_statement": "JVBERi0xLjQKJ...",
- "owners": [
- {
- "ID": "12345678Z",
- "name": "LUIS GARCIA BAQUERO",
- "role": "owner"
}
], - "composition": [
- {
- "ISIN": "LU1234567890",
- "ISIN_description": "My Fund Class A",
- "currency": "EUR",
- "weighting": 100,
- "shares": 225.0077,
- "price": 14.5577,
- "total_amount": 3275.6,
- "reference_currency": "EUR",
- "exchange_rate": 1
}
], - "transactions": [
- {
- "uuid": "05e4563f5bbf2d06efd0a29ebe7edbbb4e1bff63",
- "operation_pending": false,
- "operation_date": "2020-01-30",
- "value_date": "2020-01-30",
- "operation_type": "purchase",
- "shares": 1076.8273,
- "price": 11.1438,
- "total_amount": 12000,
- "currency": "EUR",
- "reference_currency": "USD",
- "exchange_rate": 1
}
]
}
], - "accounts": [
- {
- "uuid": "8076932f04f73e27fe608fee4d12fca8708dec8c",
- "subtype": "checking",
- "interest_rate": 0.5,
- "line_of_credit_details": {
- "credit_limit": 50000,
- "interest_rate": 4.5,
- "credit_used": 15000,
- "credit_available": 35000,
- "constitution_date": "2021-05-20",
- "expiration_date": "2031-05-20"
}, - "code": "ES4914651234561234567890",
- "name": "Cuenta NÓMINA",
- "currency": "EUR",
- "owners": [
- {
- "ID": "12345678Z",
- "name": "LUIS GARCIA BAQUERO",
- "role": "owner"
}
], - "balances": {
- "available": 14302.07,
- "current": 14302.07
}, - "additional_info": [
- {
- "key": "string",
- "value": "string"
}
], - "transactions": [
- {
- "uuid": "d0c2ea4c072cf4d7b0fd494d7728260d736e6b25",
- "operation_date": "2022-12-30",
- "value_date": "2022-12-30",
- "amount": -1.1,
- "balance": 14302.07,
- "description": "Pago en TELPARK MADRID ES",
- "pdf_file": "string",
- "pdf_file_settled": true,
- "categorization": {
- "type": 1,
- "portfolio-uuid": "1465010091400123456789",
- "ISIN": "US88160R1014"
}, - "transfer_details": {
- "concept": "Pago de factura 12345",
- "sender_receiver": "Juan Pérez",
- "account_number": "ESXX12341234121234567890"
}, - "additional_info": [
- {
- "key": "string",
- "value": "string"
}
]
}
]
}
], - "cards": [
- {
- "status": "active",
- "subtype": "credit",
- "uuid": "aefd89eade0a6a09d9b8eab4c22da6a6a37632e6",
- "code": "516097********1234",
- "name": "Credit Card",
- "currency": "EUR",
- "next_payment_date": "2023-01-05",
- "anual_interest": 17.48,
- "tae": 18.95,
- "balances": {
- "available": 3980,
- "limit": 4000,
- "disposed": 20
}, - "linked_account": "ES4021005321592566566159",
- "owner": [
- {
- "ID": "12345678Z",
- "name": "LUIS GARCIA BAQUERO",
- "role": "owner"
}
], - "additional_info": [
- {
- "key": "string",
- "value": "string"
}
], - "transactions": [
- {
- "uuid": "78ceedca9cd9d2f2bfbb2439795ab6a1fcefc12b",
- "settled": false,
- "operation_date": "2022-12-28",
- "value_date": "2022-12-28",
- "amount": -20,
- "currency": "EUR",
- "exchange_rate": 1,
- "description": "Pago en AMZN MKTP ES123CM0ZM4",
- "categorization": {
- "type": 0
}, - "additional_info": [
- {
- "key": "string",
- "value": "string"
}
]
}
]
}
], - "receipts": [
- {
- "last_receipt_date": "2023-07-23",
- "issuer": "Canal de Isabel II",
- "description": "RECIBO CONTRATO 328774628 FACTURA DEL 18 07 23",
- "account": "ES0123456789012345678901",
- "status": "paid",
- "amount": 50.75,
- "pdf_file": "string",
- "pdf_file_settled": true
}
], - "loans": [
- {
- "uuid": "0ae4d722b1c82feeafb4b36b2893230444071335",
- "contract_number": "9620.321-205439-70",
- "loan_type": "Variable rate mortgage",
- "constitution_date": "2022-02-23",
- "currency": "EUR",
- "granted_capital": 207000,
- "pending_amount": 166639.77,
- "next_installment": 1040.3,
- "linked_account": "ES0123456789012345678901",
- "holders": [
- {
- "id": "32945945D",
- "name": "Diego Serrano"
}
], - "interest_rate": 3.768,
- "expiration_date": "2042-03-01",
- "pending_receipts": 223,
- "amortization_made": [
- {
- "uuid": "8772d6c978d37d7af83094abf380b8b703e94105",
- "date": "2022-12-01",
- "amortized": 515.43,
- "interest": 524.87,
- "total": 1040.3,
- "pending_capital": 166639.77,
- "operation_type": "receipt_paid"
}
], - "amortization_pending": [
- {
- "uuid": "e59296b79e7f80cec26679d2c65883025fd59295",
- "date": "2030-12-01",
- "amortized": 515.43,
- "interest": 524.87,
- "total": 1040.3,
- "pending_capital": 66639.77,
- "operation_type": "receipt_scheduled"
}
]
}
], - "deposits": [
- {
- "uuid": "0ae4d722b1c82feeafb4b36b2893230444071335",
- "code": "DPZ-1234567890",
- "name": "12-month deposit",
- "currency": "EUR",
- "principal": 10000,
- "pending_principal": 5000,
- "start_date": "2024-09-01",
- "maturity_date": "2025-09-01",
- "payment_frequency": "at_maturity",
- "capitalization": "none",
- "rate_type": "fixed",
- "nominal_interest_rate": 3,
- "apr_tae": 3.04,
- "day_count_convention": "ACT/365",
- "linked_account": "ES4021005321592566566159",
- "accrued_interest": 24.58,
- "expected_interest_total": 300,
- "withholding_tax_rate": 19,
- "status": "active",
- "auto_renewal": {
- "enabled": false,
- "renewed_times": 0,
- "next_renewal_date": "2019-08-24",
- "renewal_term_months": 0
}, - "early_withdrawal": {
- "allowed": true,
- "penalty_type": "interest_loss",
- "penalty_value": 100,
- "notes": "Loss of accrued interest for the current period"
}, - "owners": [
- {
- "ID": "12345678Z",
- "name": "LUIS GARCIA BAQUERO",
- "role": "owner"
}
], - "interest_movements": [
- {
- "uuid": "90763109952d4f2ebece8dceca8254078c5384a0",
- "scheduled": false,
- "date": "2025-09-01",
- "period_start": "2024-09-01",
- "period_end": "2025-09-01",
- "currency": "EUR",
- "gross_interest": 300,
- "withholding_tax": 57,
- "net_interest": 243,
- "payment_type": "maturity"
}
], - "principal_movements": [
- {
- "uuid": "90763109952d4f2ebece8dceca8254078c5384a0",
- "date": "2019-08-24",
- "type": "opening",
- "amount": 12000,
- "currency": "string",
- "target_account": "string"
}
]
}
], - "leases": [
- {
- "subtype": "leasing",
- "uuid": "1f0a0b1c2d3e4f5a6b7c8d9e0f1234567890abcd",
- "contract_number": "L-2024-000123",
- "name": "BMW 3 Series Leasing",
- "provider": {
- "name": "Banco XYZ Renting, S.A.",
- "tax_id": "A12345678"
}, - "currency": "EUR",
- "start_date": "2024-10-01",
- "end_date": "2028-09-30",
- "term_months": 48,
- "payment_frequency": "monthly",
- "status": "active",
- "linked_account": "ES4021005321592566566159",
- "holders": [
- {
- "ID": "12345678Z",
- "name": "LUIS GARCIA BAQUERO",
- "role": "owner"
}
], - "asset": {
- "category": "vehicle",
- "description": "BMW 320d Touring",
- "vin": "WBA8G51040K123456",
- "license_plate": "1234-ABC",
- "brand": "BMW",
- "model": "320d",
- "year": 2024,
- "serial_number": "string",
- "address": "string"
}, - "financials": {
- "capital_financed": 35000,
- "nominal_interest_rate": 4.25,
- "apr_tae": 4.38,
- "discount_rate": 0,
- "initial_fee": 3000,
- "security_deposit": 1000,
- "residual_value": 12000,
- "purchase_option": true,
- "services_included": {
- "maintenance": true,
- "insurance": true,
- "roadside_assistance": true,
- "tires": false
}, - "vat_included": true,
- "mileage_limit_year": 15000,
- "early_termination": {
- "allowed": true,
- "penalty_type": "percentage_of_remaining",
- "penalty_value": 40
}
}, - "totals": {
- "paid_installments": 10,
- "remaining_installments": 38,
- "total_paid": 0,
- "total_pending": 0,
- "principal_outstanding": 0,
- "accrued_interest": 0
}, - "installments": {
- "paid": [
- {
- "uuid": "b07a1a0d3e6f4c2a9e1d0f8b7c6a5e4d3c2b1a0f",
- "date": "2025-01-01",
- "status": "pending",
- "currency": "EUR",
- "total": 625.5,
- "breakdown": {
- "principal": 450,
- "interest": 80,
- "services": 70,
- "taxes": 25.5,
- "fees": 0
}, - "value_date": "2019-08-24",
- "receipt_uuid": "string",
- "additional_info": [
- {
- "key": null,
- "value": null
}
]
}
], - "scheduled": [
- {
- "uuid": "b07a1a0d3e6f4c2a9e1d0f8b7c6a5e4d3c2b1a0f",
- "date": "2025-01-01",
- "status": "pending",
- "currency": "EUR",
- "total": 625.5,
- "breakdown": {
- "principal": 450,
- "interest": 80,
- "services": 70,
- "taxes": 25.5,
- "fees": 0
}, - "value_date": "2019-08-24",
- "receipt_uuid": "string",
- "additional_info": [
- {
- "key": null,
- "value": null
}
]
}
]
}
}
], - "insurances": [
- {
- "uuid": "0ae4d722b1c82feeafb4b36b2893230444071335",
- "code": "969032717626333",
- "coverage_category": "property",
- "name": "MyBox Hogar",
- "currency": "EUR",
- "insured_value": {
- "name": "PISO / Residencia secundaria 46023 VALENCIA",
- "value": 250000
}, - "insured_concepts": [
- {
- "description": "Fire",
- "value": 25000
}
], - "constitution_date": "2020-01-01",
- "expiration_date": "2021-01-01",
- "next_payment_date": "2020-02-01",
- "next_installment": 800,
- "frequency": "monthly",
- "status": "active",
- "linked_account": "ES4914651234561234567890",
- "owner": {
- "ID": "07133834N",
- "name": "LUIS GARCIA BAQUERO"
}, - "claims": [
- {
- "uuid": "8772d6c978d37d7af83094abf380b8b703e94105",
- "claim_code": "0122074354T2",
- "incident_date": "2023-05-13",
- "claimed_date": "2023-05-15",
- "description": "Rotura de lunas por impacto de objetos",
- "status": "in_process"
}
]
}
], - "properties": [
- {
- "uuid": "string",
- "code": "string",
- "description": "string",
- "purpose": "string",
- "currency": "string",
- "trading_price": 0,
- "trading_year": 0,
- "historic_prices": [
- {
- "date": "2019-08-24",
- "price": 0
}
]
}
], - "files": [
- {
- "file_date": "2023-07-21",
- "retrieval_type": "repository",
- "file_type": "Norma 43",
- "description": "Monthly account statement",
- "content": "string"
}
], - "contracts": [
- {
- "signing_date": "2003-09-26",
- "type": "loan",
- "subtype": "mortgage",
- "description": "Variable rate mortgage",
- "pdf_file": "string"
}
], - "factoring": [
- {
- "uuid": "a62ae601a424403d0fbe968d335378421006c277",
- "contract_number": "000117001234567",
- "name": "FACTORING PPAL SIN RECURSO",
- "assignor_id": "B12345678",
- "assignor": "QUICKSILVER DISTRIBUCION Y LOGISTICA SL",
- "assignor_type": "non-recourse-factor",
- "assignee": "Banco Sabadell",
- "currency": "EUR",
- "balances": {
- "available": 11360.26,
- "disposed": 0,
- "limit": 11360.26
}, - "interest_rate": 5.25,
- "linked_account": "ES0700812345678987654321",
- "next_payment_date": "",
- "number_invoices": 8,
- "total_value": 14495.28,
- "total_advanced_value": 6919.29,
- "clients": [
- {
- "uuid": "2ea19f8f8bcda4fa5e54e139852e0a7459d16b49",
- "client_id": "A12345678",
- "client_name": "EMPRESA 1 SA",
- "limit": 50000,
- "disposed": 15000,
- "available": 35000,
- "payment_method": "transfer_payment",
- "payment_deadline": 30
}
], - "invoices": [
- {
- "uuid": "6b556584df0721e5f0b27448247c9682a6470d11",
- "invoice_id": "2023-53",
- "client_id": "A12345678",
- "operation_date": "2023-10-25",
- "due_date": "2024-01-24",
- "payment_date": "2024-01-20",
- "invoice_amount": 918.45,
- "received_amount": 873.53,
- "status": "funded",
- "additional_info": [
- {
- "key": "string",
- "value": "string"
}
]
}
], - "transactions": [
- {
- "uuid": "8a3b5c7d9e1f2a4b6c8d0e2f4a6b8c0d2e4f6a8b",
- "operation_date": "2023-10-25",
- "value_date": "2023-10-26",
- "amount": 1500,
- "currency": "EUR",
- "description": "ANTICIPO FACTURA 2023-53"
}
]
}
], - "confirming": [
- {
- "uuid": "a62ae601a424403d0fbe968d335378421006c277",
- "contract_number": "000117001234567",
- "name": "CONFIRMING PPAL SIN RECURSO",
- "currency": "EUR",
- "balances": {
- "available": 11360.26,
- "disposed": 0,
- "limit": 11360.26
}, - "interest_rate": 5.25,
- "linked_account": "ES0700812345678987654321",
- "next_payment_date": "",
- "number_invoices": 8,
- "total_value": 14495.28,
- "total_advanced_value": 6919.29,
- "deferrals": [
- {
- "status": "paid",
- "overdue": true,
- "start_date": "2019-08-24",
- "due_date": "2019-08-24",
- "total_value": 0,
- "deferred_value": 0,
- "interest_value": 0,
- "interest_rate": 0,
- "late_fees": 0
}
], - "deferrals_summary": {
- "count": 0,
- "total_value": 0,
- "deferred_value": 0,
- "interest_value": 0,
- "late_fees": 0
}, - "providers": [
- {
- "uuid": "2ea19f8f8bcda4fa5e54e139852e0a7459d16b49",
- "company_id": "A12345678",
- "company_name": "EMPRESA 1 SA"
}
], - "invoices": [
- {
- "uuid": "6b556584df0721e5f0b27448247c9682a6470d11",
- "invoice_id": "2023-53",
- "provider_id": "A12345678",
- "operation_date": "2023-10-25",
- "due_date": "2024-01-24",
- "amount": 918.45,
- "status": "advanced",
- "additional_info": [
- {
- "key": "string",
- "value": "string"
}
]
}
], - "additional_info": [
- {
- "key": "string",
- "value": "string"
}
]
}
], - "employment": {
- "summary": {
- "totalDaysRegistered": 8912,
- "daysInMultipleActivity": 130,
- "daysContributedForBenefits": 8782,
- "totalTimeEquivalence": "24 años, 0 meses y 17 días."
}, - "periods": [
- {
- "employer": "TRABAJADOR AUTONOMO",
- "regime": "AUTONOMO",
- "contract": "INDEFINIDO.TIEMPO COMPLETO.ORDINARIO",
- "category": "INGENIEROS LICENCIADOS",
- "actualStartDate": "2022-11-10",
- "startDate": "2022-11-10",
- "endDate": "Actual",
- "contributedDays": 1062
}
], - "pdf_file": "string"
}, - "guarantees": [
- {
- "uuid": "90763109952d4f2ebece8dceca8254078c5384a0",
- "code": "f2eb8HsfBDSDseBw8HeSccOwJweJ2OfxH2xDw8Ss",
- "name": "Aval Financiero",
- "nickname": "Aval Técnico",
- "subtype": "financial",
- "currency": "EUR",
- "linked_account": "ES1001289462580857003432",
- "issuer": "Bankinter, S.A.",
- "beneficiary": "AYUNTAMIENTO DE MADRID",
- "purpose": "Licitación obra pública expediente 2025/00123",
- "issue_date": "2024-06-12",
- "expiration_date": "2026-06-11",
- "status": "active",
- "balances": {
- "guaranteed_amount": 50000,
- "exposure": 0,
- "available": 50000,
- "euro_equivalent": 50000
}, - "fees_commissions": {
- "periodicity": "quarterly",
- "last_charge_date": "2025-03-31",
- "last_charge_amount": 125
}, - "additional_info": [
- {
- "key": "euroEquivalent",
- "value": "0.00"
}
]
}
]
}, - "statistics": {
- "SESSION": "3463754e3540884",
- "execution_time": 0.958119869232178,
- "warnings": [
- {
- "code": 1000,
- "message": "No contracted funds",
- "product_type": "portfolios"
}
], - "operation_id": "1827C79229",
- "token": "FRJ0mHlaqZwLzu"
}
}
]Usa este método para consultar los tokens vinculados a una api_key específica. Los resultados se paginan: limit fija el número de tokens por página (máximo 500) y page indica la página que se devuelve. api_key, method y limit son obligatorios; si falta alguno o no es válido, la API responde con HTTP 400 y el código de error 2.
| api_key required | string^[a-z0-9]{8}$ api_key para identificar al cliente en el servicio |
| method required | string Value: "get" Operación que se realiza. El único valor admitido es Ejemplo: |
| limit required | integer [ 1 .. 500 ] Número de tokens por página. Mínimo Ejemplo: |
| page | integer >= 1 Default: 1 Especifica el número de página que deseas recuperar. Cada página contiene hasta Ejemplo: |
| code | string Código de la entidad por el que se filtran los tokens. Si se omite, se devuelven los tokens de todas las entidades. Ejemplo: |
| sort_by | string Default: "created_at" Enum: "created_at" "accesed_at" Campo por el que se ordenan los resultados: Ejemplo: |
| sort_order | string Default: "DESC" Enum: "ASC" "DESC" Sentido de la ordenación: Ejemplo: |
api_key=a1b2c3d4&method=get&limit=100&page=1
{- "success": true,
- "payload": {
- "tokens": [
- {
- "created_at": "2026-09-18 10:26:00",
- "accessed_at": "2026-09-20 08:15:42",
- "times_accesed": 12,
- "token": "FRJ0mHlaqZwLzu",
- "code": "bbva",
- "contract_name": "",
- "latest_code": 0,
- "latest_session": "3463754E3540884"
}
]
}, - "pagination": {
- "total_results": 1,
- "total_pages": 1,
- "current_page": 1
}, - "statistics": {
- "SESSION": "3463754e3540884",
- "execution_time": 0.0215
}
}Este método permite revocar un token existente para desautorizar futuras solicitudes de acceso a la API.
| api_key | string Identifica al cliente en el servicio |
| token | string Token a revocar. |
{- "success": true,
- "message": "Token successfully revoked."
}Este método permite reasignar un token de una api_key a otra.
| api_key_source | string api_key desde la cual reasignar el token. |
| api_key_target | string api_key a la cual reasignar el token. |
| token | string Token a reasignar. Ejemplo: |
api_key_source=a1b2c3d4e5f6g7h8i9j0&api_key_target=b2c3d4e5f6g7h8i9j0k1&token=FRJ0mHlaqZwLzu
{- "success": true,
- "message": "Token successfully reassigned."
}Añade la asociación entre dominio que hospedará el widget con el webhook de destino. Para editar o probar sus dominios, use https://www.wealthreader.com/clients/
| method required | string Method to execute. Ejemplo: |
| api_key required | string User's API key. |
| domain required | string Domain to add. Ejemplo: |
| url_callback required | string URL for callback. Ejemplo: |
| tokenize required | string Enum: "1" "0" Controla si el widget inicia un flujo de tokenización:
Ejemplo: |
method=add&api_key=a1b2c3d4e5f6g7h8i9j0&domain=https%3A%2F%2Fwww.cliente.com&url_callback=https%3A%2F%2Fwww.cliente.com%2Fwebhooks%2Fwealthreader&tokenize=1
{- "success": true,
- "message": "string"
}Listado de códigos de error. Presta especial atención a que no todos los códigos de error deben recibir el mismo tratamiento por parte de tu aplicación. Ante un error de password incorrecto no debes reintentar la llamada con los mismos parámetros, pero ante un error que te indique que la entidad está en mantenimiento sí puedes reintentarlo. Pide una sesión técnica con nuestro equipo para resolver cualquier duda sobre la gestión de errores.
| lang | string Default: "es" Enum: "es" "en" Response language |
[- [
- {
- "code": 2,
- "description": "Incorrect call",
- "possible_reasons": "Some of the required parameters have not been sent or have been sent in an incorrect format",
- "how_to_proceed": "The text received in \"message\" will detail the reason for the error. For example, \"The parameter \"api_key\" is mandatory\"."
}
]
]Listado de códigos de warning.
| lang | string Default: "es" Enum: "es" "en" Response language |
[- [
- {
- "code": 2,
- "description": "Incorrect call",
- "possible_reasons": "Some of the required parameters have not been sent or have been sent in an incorrect format",
- "how_to_proceed": "The text received in \"message\" will detail the reason for the error. For example, \"The parameter \"api_key\" is mandatory\"."
}
]
]Endpoints opcionales no requeridos para integraciones estándar. Usar solo si Wealth Reader lo indica explícitamente.
Obtiene el listado de entidades soportadas y la información necesaria para dibujar el formulario de login de la entidad.
| show_only_tested | integer Default: 0 Enum: 0 1 Indicates whether to show only tested entities. Default value is 0. In production environments, always use 1. |
[- {
- "code": "bancamarch",
- "name": "Bancamarch",
- "color": "#e23e4d",
- "inputs": {
- "document_type": {
- "required": false,
- "name": "DNI;Pasaporte"
}, - "user": {
- "required": true,
- "name": "Username"
}, - "password": {
- "required": true,
- "name": "Access key"
}
}, - "statistics": {
- "SESSION": "3463754e3540884",
- "execution_time": 0.958119869232178,
- "warnings": [
- {
- "code": 1000,
- "message": "No contracted funds",
- "product_type": "portfolios"
}
], - "operation_id": "1827C79229",
- "token": "FRJ0mHlaqZwLzu"
}
}
]Permite verificar si una persona física o jurídica es titular de una cuenta bancaria específica mediante el IBAN y los datos identificativos del supuesto titular. Requiere una api_key con el producto IBAN_OWNERSHIP autorizado. La petición inicial se envía con api_key, iban, document_type, document_number y holder_name. Si el resultado devuelve el estado PENDING, se puede volver a consultar la verificación enviando únicamente api_key y session. NO_RESPONSE es un resultado final de error: para reintentar debe iniciarse una nueva verificación sin session.
| api_key required | string Identifica al cliente en el servicio. Debe tener autorizado el producto IBAN_OWNERSHIP. |
| iban required | string Código IBAN de la cuenta bancaria a verificar (sin espacios) Ejemplo: |
| document_type required | string Enum: "NIF" "NIE" "Pasaporte" "CIF" Tipo de documento de identificación Ejemplo: |
| document_number required | string Número del documento de identificación Ejemplo: |
| holder_name required | string Nombre completo de la persona física o razón social Ejemplo: |
api_key=a1b2c3d4e5f6g7h8i9j0&iban=ES4914651234561234567890&document_type=NIF&document_number=12345678Z&holder_name=LUIS%20GARCIA%20BAQUERO
{- "success": true,
- "payload": {
- "iban_ownership": {
- "ownership": true,
- "status": "CONFIRMED",
- "result": "La titularidad del IBAN ha sido confirmada."
}
}, - "statistics": {
- "SESSION": "0123456789abcdef",
- "execution_time": 0.123,
- "warnings": [ ]
}
}Este endpoint permite registrar un usuario ya sea en la plataforma de traspaso de carteras, Easytransfer, como en la herramienta de reporting, Acumulas, en a partir de un identificador único.
| api_key required | string Authentication key (8 alphanumeric characters) |
| user_id required | string User identification document. Ejemplo: |
| service required | string Enum: "integra" "easy-transfer" Service associated with the user. Determines the data flow. Ejemplo: |
| email required | string <email> User email, used according to service type. Ejemplo: |
{- "success": true,
- "message": "User registered successfully"
}Consulta si un usuario está registrado en el sistema Easytransfer o Acumulas y responde el enlace de acceso único para el usuario.
| api_key required | string Authentication key |
| user_id required | string User identification document. Ejemplo: |
{- "success": true,
- "registered": true,
- "user_id": "12345",
- "links": {
}
}Este endpoint permite dar de baja un usuario del servicio de Easytransfer o plataforma Acumulas.
| api_key required | string Authentication key (8 alphanumeric characters) |
| user_id required | string User identification document. Ejemplo: |
| service required | string Enum: "integra" "easy-transfer" "all" Service from which to unregister the user. 'all' for all services. Ejemplo: |
{- "success": true,
- "message": "User unregistered successfully"
}Los endpoints agrupados en la etiqueta "batch" permiten procesar múltiples conexiones bancarias de forma asíncrona,
a diferencia del método /entities/ que es síncrono. Ideal para:
Importante: Para utilizar la gestión de procesos batch del lado de Wealthreader es necesario contar con un entorno dedicado. Este endpoint no está disponible en api.wealthreader.com.
Este método inicia el procesamiento asíncrono de una o múltiples conexiones bancarias. Retorna inmediatamente un batch_id para seguimiento.
Se envía una notificación webhook a notification_url por cada credencial completada individualmente, con los campos: batch_id, credential_id, status, timestamp.
| api_key required | string Identifies the client in the service |
| notification_url required | string <uri> Webhook URL. A notification is sent to this URL for each individual credential as soon as it completes processing, not only once all connections in the batch are done. Ejemplo: |
required | Array of objects (batch-connection) non-empty List of connections to process |
{- "api_key": "a1b2c3d4e5f6g7h8i9j0",
- "connections": [
- {
- "credential_id": "cred_demo_001",
- "code": "caixabank",
- "token": "token123",
- "product_types": "accounts,portfolios"
}, - {
- "credential_id": "cred_demo_002",
- "code": "BBVA",
- "token": "token456",
- "product_types": "accounts",
- "date_from": "2024-01-01"
}
]
}{- "success": true,
- "batch_id": "batch_20250120_a1b2c3d4",
- "total_connections": 5,
- "estimated_completion_time": "2025-01-20T10:45:00Z"
}{- "batch_id": 10863151,
- "credential_id": "cred_demo_002",
- "status": "completed",
- "timestamp": "2026-05-13T08:02:47+00:00"
}Recupera estadísticas generales sobre el resultado del procesamiento de todas las conexiones de un batch.
| api_key required | string Identifies the client in the service |
| batch_id required | string Batch ID |
{- "api_key": "string",
- "batch_id": "string"
}{- "success": true,
- "batch_id": "batch_20250120_a1b2c3d4",
- "status": "completed",
- "statistics": {
- "start_time": "2019-08-24T14:15:22Z",
- "end_time": "2019-08-24T14:15:22Z",
- "total_execution_time": 125.5,
- "total_connections": 8,
- "successful_connections": 7,
- "failed_connections": 1
}
}Recupera el resultado de una conexión específica del batch.
| api_key required | string Identifies the client in the service |
| batch_id required | string Batch ID |
| credential_id required | string Filter by specific credential_id |
{- "api_key": "string",
- "batch_id": "string",
- "credential_id": "string"
}{- "success": true,
- "payload": {
- "user_information": {
- "ID": "12345678Z",
- "name": "LUIS GARCIA BAQUERO",
- "gender": "male",
- "birth_date": "1980-09-26",
- "birth_place": "Ibiza",
- "email": "lgarcia@gmail.com",
- "cell_phone": "+34666123456",
- "address": "CALLE BAILEN 41 1A",
- "city": "MADRID",
- "country": "SPAIN",
- "postal_code": "28005",
- "marital_status": "married",
- "job": "CUENTA PROPIA"
}, - "portfolios": [
- {
- "subtype": "funds",
- "uuid": "05e4563f5bbf2d06efd0a29ebe7edbbb4e1bff63",
- "code": "1465010091400123456789",
- "name": "Fondo Dinámico",
- "currency": "EUR",
- "total_value": 3275.6,
- "weighted_return": 8.49,
- "annualized_volatility": 0,
- "yield": 256.27,
- "contributions": 3019.33,
- "withholdings": 0,
- "contracting_date": "2016-04-27",
- "linked_account": "ES4021005321592566566159",
- "portfolio_statement": "JVBERi0xLjQKJ...",
- "owners": [
- {
- "ID": "12345678Z",
- "name": "LUIS GARCIA BAQUERO",
- "role": "owner"
}
], - "composition": [
- {
- "ISIN": "LU1234567890",
- "ISIN_description": "My Fund Class A",
- "currency": "EUR",
- "weighting": 100,
- "shares": 225.0077,
- "price": 14.5577,
- "total_amount": 3275.6,
- "reference_currency": "EUR",
- "exchange_rate": 1
}
], - "transactions": [
- {
- "uuid": "05e4563f5bbf2d06efd0a29ebe7edbbb4e1bff63",
- "operation_pending": false,
- "operation_date": "2020-01-30",
- "value_date": "2020-01-30",
- "operation_type": "purchase",
- "shares": 1076.8273,
- "price": 11.1438,
- "total_amount": 12000,
- "currency": "EUR",
- "reference_currency": "USD",
- "exchange_rate": 1
}
]
}
], - "accounts": [
- {
- "uuid": "8076932f04f73e27fe608fee4d12fca8708dec8c",
- "subtype": "checking",
- "interest_rate": 0.5,
- "line_of_credit_details": {
- "credit_limit": 50000,
- "interest_rate": 4.5,
- "credit_used": 15000,
- "credit_available": 35000,
- "constitution_date": "2021-05-20",
- "expiration_date": "2031-05-20"
}, - "code": "ES4914651234561234567890",
- "name": "Cuenta NÓMINA",
- "currency": "EUR",
- "owners": [
- {
- "ID": "12345678Z",
- "name": "LUIS GARCIA BAQUERO",
- "role": "owner"
}
], - "balances": {
- "available": 14302.07,
- "current": 14302.07
}, - "additional_info": [
- {
- "key": "string",
- "value": "string"
}
], - "transactions": [
- {
- "uuid": "d0c2ea4c072cf4d7b0fd494d7728260d736e6b25",
- "operation_date": "2022-12-30",
- "value_date": "2022-12-30",
- "amount": -1.1,
- "balance": 14302.07,
- "description": "Pago en TELPARK MADRID ES",
- "pdf_file": "string",
- "pdf_file_settled": true,
- "categorization": {
- "type": 1,
- "portfolio-uuid": "1465010091400123456789",
- "ISIN": "US88160R1014"
}, - "transfer_details": {
- "concept": "Pago de factura 12345",
- "sender_receiver": "Juan Pérez",
- "account_number": "ESXX12341234121234567890"
}, - "additional_info": [
- {
- "key": "string",
- "value": "string"
}
]
}
]
}
], - "cards": [
- {
- "status": "active",
- "subtype": "credit",
- "uuid": "aefd89eade0a6a09d9b8eab4c22da6a6a37632e6",
- "code": "516097********1234",
- "name": "Credit Card",
- "currency": "EUR",
- "next_payment_date": "2023-01-05",
- "anual_interest": 17.48,
- "tae": 18.95,
- "balances": {
- "available": 3980,
- "limit": 4000,
- "disposed": 20
}, - "linked_account": "ES4021005321592566566159",
- "owner": [
- {
- "ID": "12345678Z",
- "name": "LUIS GARCIA BAQUERO",
- "role": "owner"
}
], - "additional_info": [
- {
- "key": "string",
- "value": "string"
}
], - "transactions": [
- {
- "uuid": "78ceedca9cd9d2f2bfbb2439795ab6a1fcefc12b",
- "settled": false,
- "operation_date": "2022-12-28",
- "value_date": "2022-12-28",
- "amount": -20,
- "currency": "EUR",
- "exchange_rate": 1,
- "description": "Pago en AMZN MKTP ES123CM0ZM4",
- "categorization": {
- "type": 0
}, - "additional_info": [
- {
- "key": "string",
- "value": "string"
}
]
}
]
}
], - "receipts": [
- {
- "last_receipt_date": "2023-07-23",
- "issuer": "Canal de Isabel II",
- "description": "RECIBO CONTRATO 328774628 FACTURA DEL 18 07 23",
- "account": "ES0123456789012345678901",
- "status": "paid",
- "amount": 50.75,
- "pdf_file": "string",
- "pdf_file_settled": true
}
], - "loans": [
- {
- "uuid": "0ae4d722b1c82feeafb4b36b2893230444071335",
- "contract_number": "9620.321-205439-70",
- "loan_type": "Variable rate mortgage",
- "constitution_date": "2022-02-23",
- "currency": "EUR",
- "granted_capital": 207000,
- "pending_amount": 166639.77,
- "next_installment": 1040.3,
- "linked_account": "ES0123456789012345678901",
- "holders": [
- {
- "id": "32945945D",
- "name": "Diego Serrano"
}
], - "interest_rate": 3.768,
- "expiration_date": "2042-03-01",
- "pending_receipts": 223,
- "amortization_made": [
- {
- "uuid": "8772d6c978d37d7af83094abf380b8b703e94105",
- "date": "2022-12-01",
- "amortized": 515.43,
- "interest": 524.87,
- "total": 1040.3,
- "pending_capital": 166639.77,
- "operation_type": "receipt_paid"
}
], - "amortization_pending": [
- {
- "uuid": "e59296b79e7f80cec26679d2c65883025fd59295",
- "date": "2030-12-01",
- "amortized": 515.43,
- "interest": 524.87,
- "total": 1040.3,
- "pending_capital": 66639.77,
- "operation_type": "receipt_scheduled"
}
]
}
], - "deposits": [
- {
- "uuid": "0ae4d722b1c82feeafb4b36b2893230444071335",
- "code": "DPZ-1234567890",
- "name": "12-month deposit",
- "currency": "EUR",
- "principal": 10000,
- "pending_principal": 5000,
- "start_date": "2024-09-01",
- "maturity_date": "2025-09-01",
- "payment_frequency": "at_maturity",
- "capitalization": "none",
- "rate_type": "fixed",
- "nominal_interest_rate": 3,
- "apr_tae": 3.04,
- "day_count_convention": "ACT/365",
- "linked_account": "ES4021005321592566566159",
- "accrued_interest": 24.58,
- "expected_interest_total": 300,
- "withholding_tax_rate": 19,
- "status": "active",
- "auto_renewal": {
- "enabled": false,
- "renewed_times": 0,
- "next_renewal_date": "2019-08-24",
- "renewal_term_months": 0
}, - "early_withdrawal": {
- "allowed": true,
- "penalty_type": "interest_loss",
- "penalty_value": 100,
- "notes": "Loss of accrued interest for the current period"
}, - "owners": [
- {
- "ID": "12345678Z",
- "name": "LUIS GARCIA BAQUERO",
- "role": "owner"
}
], - "interest_movements": [
- {
- "uuid": "90763109952d4f2ebece8dceca8254078c5384a0",
- "scheduled": false,
- "date": "2025-09-01",
- "period_start": "2024-09-01",
- "period_end": "2025-09-01",
- "currency": "EUR",
- "gross_interest": 300,
- "withholding_tax": 57,
- "net_interest": 243,
- "payment_type": "maturity"
}
], - "principal_movements": [
- {
- "uuid": "90763109952d4f2ebece8dceca8254078c5384a0",
- "date": "2019-08-24",
- "type": "opening",
- "amount": 12000,
- "currency": "string",
- "target_account": "string"
}
]
}
], - "leases": [
- {
- "subtype": "leasing",
- "uuid": "1f0a0b1c2d3e4f5a6b7c8d9e0f1234567890abcd",
- "contract_number": "L-2024-000123",
- "name": "BMW 3 Series Leasing",
- "provider": {
- "name": "Banco XYZ Renting, S.A.",
- "tax_id": "A12345678"
}, - "currency": "EUR",
- "start_date": "2024-10-01",
- "end_date": "2028-09-30",
- "term_months": 48,
- "payment_frequency": "monthly",
- "status": "active",
- "linked_account": "ES4021005321592566566159",
- "holders": [
- {
- "ID": "12345678Z",
- "name": "LUIS GARCIA BAQUERO",
- "role": "owner"
}
], - "asset": {
- "category": "vehicle",
- "description": "BMW 320d Touring",
- "vin": "WBA8G51040K123456",
- "license_plate": "1234-ABC",
- "brand": "BMW",
- "model": "320d",
- "year": 2024,
- "serial_number": "string",
- "address": "string"
}, - "financials": {
- "capital_financed": 35000,
- "nominal_interest_rate": 4.25,
- "apr_tae": 4.38,
- "discount_rate": 0,
- "initial_fee": 3000,
- "security_deposit": 1000,
- "residual_value": 12000,
- "purchase_option": true,
- "services_included": {
- "maintenance": true,
- "insurance": true,
- "roadside_assistance": true,
- "tires": false
}, - "vat_included": true,
- "mileage_limit_year": 15000,
- "early_termination": {
- "allowed": true,
- "penalty_type": "percentage_of_remaining",
- "penalty_value": 40
}
}, - "totals": {
- "paid_installments": 10,
- "remaining_installments": 38,
- "total_paid": 0,
- "total_pending": 0,
- "principal_outstanding": 0,
- "accrued_interest": 0
}, - "installments": {
- "paid": [
- {
- "uuid": "b07a1a0d3e6f4c2a9e1d0f8b7c6a5e4d3c2b1a0f",
- "date": "2025-01-01",
- "status": "pending",
- "currency": "EUR",
- "total": 625.5,
- "breakdown": {
- "principal": 450,
- "interest": 80,
- "services": 70,
- "taxes": 25.5,
- "fees": 0
}, - "value_date": "2019-08-24",
- "receipt_uuid": "string",
- "additional_info": [
- {
- "key": "string",
- "value": "string"
}
]
}
], - "scheduled": [
- {
- "uuid": "b07a1a0d3e6f4c2a9e1d0f8b7c6a5e4d3c2b1a0f",
- "date": "2025-01-01",
- "status": "pending",
- "currency": "EUR",
- "total": 625.5,
- "breakdown": {
- "principal": 450,
- "interest": 80,
- "services": 70,
- "taxes": 25.5,
- "fees": 0
}, - "value_date": "2019-08-24",
- "receipt_uuid": "string",
- "additional_info": [
- {
- "key": "string",
- "value": "string"
}
]
}
]
}
}
], - "insurances": [
- {
- "uuid": "0ae4d722b1c82feeafb4b36b2893230444071335",
- "code": "969032717626333",
- "coverage_category": "property",
- "name": "MyBox Hogar",
- "currency": "EUR",
- "insured_value": {
- "name": "PISO / Residencia secundaria 46023 VALENCIA",
- "value": 250000
}, - "insured_concepts": [
- {
- "description": "Fire",
- "value": 25000
}
], - "constitution_date": "2020-01-01",
- "expiration_date": "2021-01-01",
- "next_payment_date": "2020-02-01",
- "next_installment": 800,
- "frequency": "monthly",
- "status": "active",
- "linked_account": "ES4914651234561234567890",
- "owner": {
- "ID": "07133834N",
- "name": "LUIS GARCIA BAQUERO"
}, - "claims": [
- {
- "uuid": "8772d6c978d37d7af83094abf380b8b703e94105",
- "claim_code": "0122074354T2",
- "incident_date": "2023-05-13",
- "claimed_date": "2023-05-15",
- "description": "Rotura de lunas por impacto de objetos",
- "status": "in_process"
}
]
}
], - "properties": [
- {
- "uuid": "string",
- "code": "string",
- "description": "string",
- "purpose": "string",
- "currency": "string",
- "trading_price": 0,
- "trading_year": 0,
- "historic_prices": [
- {
- "date": "2019-08-24",
- "price": 0
}
]
}
], - "files": [
- {
- "file_date": "2023-07-21",
- "retrieval_type": "repository",
- "file_type": "Norma 43",
- "description": "Monthly account statement",
- "content": "string"
}
], - "contracts": [
- {
- "signing_date": "2003-09-26",
- "type": "loan",
- "subtype": "mortgage",
- "description": "Variable rate mortgage",
- "pdf_file": "string"
}
], - "factoring": [
- {
- "uuid": "a62ae601a424403d0fbe968d335378421006c277",
- "contract_number": "000117001234567",
- "name": "FACTORING PPAL SIN RECURSO",
- "assignor_id": "B12345678",
- "assignor": "QUICKSILVER DISTRIBUCION Y LOGISTICA SL",
- "assignor_type": "non-recourse-factor",
- "assignee": "Banco Sabadell",
- "currency": "EUR",
- "balances": {
- "available": 11360.26,
- "disposed": 0,
- "limit": 11360.26
}, - "interest_rate": 5.25,
- "linked_account": "ES0700812345678987654321",
- "next_payment_date": "",
- "number_invoices": 8,
- "total_value": 14495.28,
- "total_advanced_value": 6919.29,
- "clients": [
- {
- "uuid": "2ea19f8f8bcda4fa5e54e139852e0a7459d16b49",
- "client_id": "A12345678",
- "client_name": "EMPRESA 1 SA",
- "limit": 50000,
- "disposed": 15000,
- "available": 35000,
- "payment_method": "transfer_payment",
- "payment_deadline": 30
}
], - "invoices": [
- {
- "uuid": "6b556584df0721e5f0b27448247c9682a6470d11",
- "invoice_id": "2023-53",
- "client_id": "A12345678",
- "operation_date": "2023-10-25",
- "due_date": "2024-01-24",
- "payment_date": "2024-01-20",
- "invoice_amount": 918.45,
- "received_amount": 873.53,
- "status": "funded",
- "additional_info": [
- {
- "key": "string",
- "value": "string"
}
]
}
], - "transactions": [
- {
- "uuid": "8a3b5c7d9e1f2a4b6c8d0e2f4a6b8c0d2e4f6a8b",
- "operation_date": "2023-10-25",
- "value_date": "2023-10-26",
- "amount": 1500,
- "currency": "EUR",
- "description": "ANTICIPO FACTURA 2023-53"
}
]
}
], - "confirming": [
- {
- "uuid": "a62ae601a424403d0fbe968d335378421006c277",
- "contract_number": "000117001234567",
- "name": "CONFIRMING PPAL SIN RECURSO",
- "currency": "EUR",
- "balances": {
- "available": 11360.26,
- "disposed": 0,
- "limit": 11360.26
}, - "interest_rate": 5.25,
- "linked_account": "ES0700812345678987654321",
- "next_payment_date": "",
- "number_invoices": 8,
- "total_value": 14495.28,
- "total_advanced_value": 6919.29,
- "deferrals": [
- {
- "status": "paid",
- "overdue": true,
- "start_date": "2019-08-24",
- "due_date": "2019-08-24",
- "total_value": 0,
- "deferred_value": 0,
- "interest_value": 0,
- "interest_rate": 0,
- "late_fees": 0
}
], - "deferrals_summary": {
- "count": 0,
- "total_value": 0,
- "deferred_value": 0,
- "interest_value": 0,
- "late_fees": 0
}, - "providers": [
- {
- "uuid": "2ea19f8f8bcda4fa5e54e139852e0a7459d16b49",
- "company_id": "A12345678",
- "company_name": "EMPRESA 1 SA"
}
], - "invoices": [
- {
- "uuid": "6b556584df0721e5f0b27448247c9682a6470d11",
- "invoice_id": "2023-53",
- "provider_id": "A12345678",
- "operation_date": "2023-10-25",
- "due_date": "2024-01-24",
- "amount": 918.45,
- "status": "advanced",
- "additional_info": [
- {
- "key": "string",
- "value": "string"
}
]
}
], - "additional_info": [
- {
- "key": "string",
- "value": "string"
}
]
}
], - "employment": {
- "summary": {
- "totalDaysRegistered": 8912,
- "daysInMultipleActivity": 130,
- "daysContributedForBenefits": 8782,
- "totalTimeEquivalence": "24 años, 0 meses y 17 días."
}, - "periods": [
- {
- "employer": "TRABAJADOR AUTONOMO",
- "regime": "AUTONOMO",
- "contract": "INDEFINIDO.TIEMPO COMPLETO.ORDINARIO",
- "category": "INGENIEROS LICENCIADOS",
- "actualStartDate": "2022-11-10",
- "startDate": "2022-11-10",
- "endDate": "Actual",
- "contributedDays": 1062
}
], - "pdf_file": "string"
}, - "guarantees": [
- {
- "uuid": "90763109952d4f2ebece8dceca8254078c5384a0",
- "code": "f2eb8HsfBDSDseBw8HeSccOwJweJ2OfxH2xDw8Ss",
- "name": "Aval Financiero",
- "nickname": "Aval Técnico",
- "subtype": "financial",
- "currency": "EUR",
- "linked_account": "ES1001289462580857003432",
- "issuer": "Bankinter, S.A.",
- "beneficiary": "AYUNTAMIENTO DE MADRID",
- "purpose": "Licitación obra pública expediente 2025/00123",
- "issue_date": "2024-06-12",
- "expiration_date": "2026-06-11",
- "status": "active",
- "balances": {
- "guaranteed_amount": 50000,
- "exposure": 0,
- "available": 50000,
- "euro_equivalent": 50000
}, - "fees_commissions": {
- "periodicity": "quarterly",
- "last_charge_date": "2025-03-31",
- "last_charge_amount": 125
}, - "additional_info": [
- {
- "key": "euroEquivalent",
- "value": "0.00"
}
]
}
]
}, - "statistics": {
- "SESSION": "3463754e3540884",
- "execution_time": 0.958119869232178,
- "warnings": [
- {
- "code": 1000,
- "message": "No contracted funds",
- "product_type": "portfolios"
}
], - "operation_id": "1827C79229",
- "token": "FRJ0mHlaqZwLzu"
}
}Sincronización de gastos de tarjeta en tiempo real desde la app móvil Open Sync: pre-registro de empleados por cliente, webhooks firmados (card_transaction.created / card_enrollment.confirmed), y consulta / backfill por API REST.
Da de alta o actualiza la URL de webhook del cliente para los eventos card_transaction.created y card_enrollment.confirmed (ver el esquema cards-webhook-delivery para el formato de entrega y la firma). En el primer alta, o cuando rotate_secret es true, se genera un webhook_secret nuevo (64 caracteres hex) que se devuelve una única vez; en cualquier otro caso webhook_secret viene null en la respuesta y no se puede volver a leer. webhook_url debe ser siempre https:// y resolver a un host público: se rechazan localhost y las direcciones privadas, de loopback, link-local (incluida la de metadatos de cloud), CGNAT, multicast y reservadas, escritas en cualquier notación (hexadecimal, decimal, octal, punteada corta o IPv6 con IPv4 embebida), y también los nombres que no resuelven. La misma comprobación se repite justo antes de cada envío, no sólo al registrar: si el host se repunta después a una dirección interna (DNS rebinding), la entrega se cierra como failed con response_excerpt "blocked_host". Enviar null en webhook_url desactiva los webhooks para ese cliente; omitir el campo deja la URL guardada como estaba, que es la forma de rotar el secreto sin tocar la URL.
| api_key required | string API key del cliente. |
| webhook_url | string or null URL https:// que recibirá los eventos, en un host público que resuelva en DNS. null desactiva los webhooks; omitir el campo deja la URL guardada sin cambios. Ejemplo: |
| rotate_secret | boolean Default: false Si es true, genera y devuelve un webhook_secret nuevo. |
{- "api_key": "a1b2c3d4",
- "rotate_secret": false
}{- "success": true,
- "payload": {
- "webhook_secret": "9f1c2b3a4d5e6f708192a3b4c5d6e7f8091a2b3c4d5e6f708192a3b4c5d6e7f8",
- "active": true
}
}Da de alta una solicitud de alta ("enrollment") en estado pending con una caducidad corta (ttl_minutes, 20 por defecto, entre 1 y 60) para que el empleado la confirme abriendo la app móvil e introduciendo ese email (POST /user-sync-validation/, sin cambios de contrato para la app). Es idempotente: repetir la llamada para el mismo (api_key, email) mientras siga pending y sin caducar devuelve la misma solicitud. Si el email ya está vinculado al mismo cliente que llama, devuelve status "active" directamente. Si ya está vinculado a otro cliente distinto, devuelve 409. Límite de frecuencia: máximo 60 llamadas a este endpoint por api_key cada 60 segundos, contando todos los intentos y no sólo los que crean una fila, y comprobado antes que nada para que las respuestas que no crean nada (200 ya activo, 409 vinculado a otro cliente, 400) no sirvan como oráculo de enumeración. Superarlo devuelve 429 con code rate_limited.
| api_key required | string API key del cliente. |
| email required | string <email> Email del empleado a pre-registrar. Ejemplo: |
| ttl_minutes | integer [ 1 .. 60 ] Default: 20 Minutos de validez de la solicitud antes de expirar. |
{- "api_key": "a1b2c3d4",
- "email": "empleado@cliente.com",
- "ttl_minutes": 20
}{- "success": true,
- "payload": {
- "enrollment_id": "0f3a9c7b1d2e4f5a6b7c8d9e0f1a2b3c",
- "status": "pending",
- "email": "empleado@cliente.com",
- "expires_at": "2026-07-11T14:22:11+02:00",
- "confirmed_at": null,
- "user_id": null
}
}Lectura del estado de una solicitud de alta. No tiene efectos secundarios sobre los usuarios de tarjetas, a diferencia de POST /user-sync-validation/, que sí confirma. La única escritura permitida es marcar como expired, de forma perezosa, un enrollment pending cuya fecha de caducidad ya pasó.
| api_key required | string Example: api_key=a1b2c3d4 API key del cliente. Ojo: viaja en la query string, así que queda registrada en los logs de acceso y en los proxies intermedios. Ejemplo: |
| enrollment_id required | string Example: enrollment_id=0f3a9c7b1d2e4f5a6b7c8d9e0f1a2b3c Identificador devuelto por POST /cards/enrollments/. Ejemplo: |
{- "success": true,
- "payload": {
- "enrollment_id": "0f3a9c7b1d2e4f5a6b7c8d9e0f1a2b3c",
- "status": "active",
- "email": "empleado@cliente.com",
- "expires_at": "2026-07-11T14:22:11+02:00",
- "confirmed_at": "2026-07-11T14:10:03+02:00",
- "user_id": "e9f4c2a1b3d4e5f60718293a4b5c6d7e8f90a1b2c3d4e5f60718293a4b5c6d7"
}
}Devuelve los movimientos de tarjeta recibidos en tiempo real para los empleados vinculados a esta api_key, ordenados por id ascendente. Pensado tanto para backfill periódico (sondear con date_from/date_to y paginar con since_id) como para consulta puntual. Es el mismo objeto de transacción que viaja en el webhook card_transaction.created.
| api_key required | string Example: api_key=a1b2c3d4 API key del cliente. Ojo: viaja en la query string, así que queda registrada en los logs de acceso y en los proxies intermedios. Ejemplo: |
| date_from | string <date> Example: date_from=2026-07-01 YYYY-MM-DD, sobre fecha_operacion. Por defecto: hoy menos 3 días. Ejemplo: |
| date_to | string <date> Example: date_to=2026-07-11 YYYY-MM-DD, sobre fecha_operacion. Por defecto: hoy. Ejemplo: |
string <email> Example: email=empleado@cliente.com Filtra por el email del empleado. Ejemplo: | |
| since_id | integer Example: since_id=216 Cursor exclusivo sobre el id de la transacción, para paginar. Ejemplo: |
| limit | integer <= 1000 Default: 500 Example: limit=500 Máximo de movimientos a devolver (por defecto 500, máximo 1000). Ejemplo: |
{- "success": true,
- "payload": {
- "transactions": [
- {
- "id": 217,
- "payment_id": "550e8400-e29b-41d4-a716-446655440000",
- "user_id": "e9f4c2a1b3d4e5f60718293a4b5c6d7e8f90a1b2c3d4e5f60718293a4b5c6d7",
- "email": "empleado@cliente.com",
- "card_last4": "1234",
- "entity_code": "bbva",
- "operation_date": "2026-07-11",
- "value_date": "2026-07-11",
- "amount": -57.6,
- "currency": null,
- "description": "SAKE RESTAURANTE",
- "merchant": "SAKE RESTAURANTE",
- "category": "Other",
- "gps": {
- "lat": 39.4661559,
- "lon": -0.3679207
}, - "received_at": "2026-07-11T14:02:11+02:00"
}
], - "next_since_id": null
}
}