Download OpenAPI specification:
Les APIs reguladores basades en PSD2 proporcionen accés a certa informació financera com saldos de comptes bancaris i transaccions. No obstant això, hi ha altres fonts d'informació patrimonial que no són accessibles per aquestes APIs. L'API de Wealth Reader amplia la informació oferta per les APIs reguladores proporcionant accés en temps real a les fonts patrimonials addicionals en qualsevol entitat del món. Hi ha dos altres documents relacionats que t'ajudaran a integrar l'API de Wealth Reader. Un és la guia d'integració del widget Javascript: https://docs-es.wealthreader.com/ i l'altre és una col·lecció Postman basada en aquesta documentació. Molt important: Aquesta definició de l'API està adaptada per als clients que integren per Widget, per la qual cosa s'han omès alguns paràmetres que no són necessaris per a aquest tipus d'integració, com poden ser els d'autenticació amb el banc, ja que s'utilitzarà un token.
Obté els actius financers i el detall de la seva composició de carteres d'inversió compostes per accions o fons, targetes de crèdit, assegurances i préstecs. Inclou informació de titularitat de cadascun dels actius així com identificadors únics que faciliten el tractament de la dada. És possible obtenir dades Mock. Consulteu amb l'equip tècnic com fer-ho.
| api_key | string Identifica el client en el servei |
| code | string Nom de l'entitat. El llistat complet està disponible amb GET Exemple: |
| token | string Identifica la credencial custodiada. El flux mitjançant el qual s'ha obtingut el token es descriu al document 'Guia d'integració del Widget'. Els següents usuaris Mock estan disponibles: MOCKDATA, resposta OK; MOCKOTP, resposta amb desafiament OTP; MOCKLOGINKO, resposta amb error de login Exemple: |
| product_types | string Enum: "accounts" "portfolios" "cards" "receipts" "loans" "factoring" "confirming" "properties" "invoices" "files" "deposits" "leases" "insurances" Llista de tipus de producte dels quals es vol obtenir informació. Accepta múltiples valors separats per comes. Exemple: |
| only_balances | boolean Default: false Indica si es desitgen obtenir només els saldos dels productes en lloc de tota la informació disponible. Valor per defecte: false. Exemple: |
| fetch_transaction_details | boolean Default: false Indica si s'han d'obtenir detalls ampliats de les transaccions quan el connector de l'entitat ho admeti. IMPORTANT: Activar-ho implica fer una o més navegacions addicionals per cada transacció per enriquir la informació retornada. Això augmentarà inevitablement i de manera significativa el temps d'execució. El nombre de navegacions addicionals creix amb el volum de transaccions. Es recomana activar-ho únicament quan es tingui certesa que es requereix un nivell de detall addicional al retornat per defecte. Els detalls obtinguts s'insereixen a la clau Exemple: |
| date_from | string <date> Data a partir de la qual es sol·liciten les transaccions, en format AAAA-MM-DD. Ha de ser una data anterior a avui. Exemple: |
| date_to | string <date> Això només s'aplica per restringir per dates futures per als productes loan i confirming, en format AAAA-MM-DD. La data ha de ser posterior a avui Exemple: |
| required_products_schema | string Esquema de productes requerits. Indica els comptes o targetes dels quals es desitgen obtenir dades, amb configuracions addicionals. Exemple:
|
| add_pdf_from_uuids | string Accepta uuids de transaccions separats per comes. Paràmetre que només es té en compte si product_types és ALL o inclou accounts. Afegeix el document PDF associat a cadascuna de les transaccions bancàries sol·licitades. Exemple:
|
| otp_method | string Indica quin canal d'entrega del segon factor usar quan l'API ha retornat el codi 2017 o 20171 (diversos mètodes OTP). Torneu a cridar amb el mateix identificador de sessió d'aquesta resposta i definiu otp_method al text exacte del camp otp_method d'un objecte a statistics.otpMethods; no useu l'índex de l'array. Opcional en la primera petició amb credencials; envieu-lo després de l'elecció de l'usuari. L'exemple de la referència és orientatiu; copieu sempre la cadena que retorna statistics.otpMethods. Exemple: |
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,
- "additional_info": [
- {
- "key": "string",
- "value": "string"
}
]
}
]
}
], - "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"
}, - "tax_returns": [
- {
- "uuid": "5f2b9c1e8a7d3046b1c9e2f4a6d8b0c3e5f7a9b1",
- "issuer": "AEAT",
- "model": "100",
- "fiscal_year": 2025,
- "period": "0A",
- "receipt_number": "2025100000123456",
- "secure_verification_code": "A1B2C3D4E5F6G7H8",
- "filing_date": "2026-05-20",
- "filing_type": "individual",
- "holder_id": "99999999R",
- "holder_name": "APELLIDO1 APELLIDO2, NOMBRE",
- "spouse_id": "11111111H",
- "spouse_name": "APELLIDO3 APELLIDO4, NOMBRE",
- "currency": "EUR",
- "general_taxable_base": 32450.18,
- "savings_taxable_base": 1250.4,
- "general_liquid_base": 30120.18,
- "savings_liquid_base": 1250.4,
- "state_gross_tax": 3655.27,
- "regional_gross_tax": 3540.12,
- "state_net_tax": 3480.15,
- "regional_net_tax": 3398.6,
- "resulting_tax": 6878.75,
- "withholdings_and_payments": 7378.45,
- "differential_tax": -499.7,
- "result_amount": -499.7,
- "result_type": "refundable",
- "xml_file": "string",
- "pdf_file": "string"
}
], - "credit_reports": [
- {
- "uuid": "3c1f0e7a9b2d4c6e8f0a1b3c5d7e9f1a2b4c6d8e",
- "issuer": "BDE",
- "report_type": "summary",
- "report_name": "Informe Global",
- "reference": "I2026100100000000",
- "period": "2026-08",
- "request_date": "2026-10-01",
- "issue_date": "2026-10-01",
- "available_until": "2026-10-21",
- "file_name": "Informe Agregado.pdf",
- "pdf_file": "string"
}
]
}, - "statistics": {
- "SESSION": "3463754e3540884",
- "execution_time": 0.958119869232178,
- "warnings": [
- {
- "code": 1000,
- "message": "No contracted funds",
- "product_type": "portfolios"
}
], - "operation_id": "1827C79229",
- "token": "FRJ0mHlaqZwLzu"
}
}
]Utilitza aquest mètode per consultar els tokens vinculats a una api_key específica. Els resultats es paginen: limit fixa el nombre de tokens per pàgina (màxim 500) i page indica la pàgina que es retorna. api_key, method i limit són obligatoris; si en falta algun o no és vàlid, l'API respon amb HTTP 400 i el codi d'error 2.
| api_key required | string^[a-z0-9]{8}$ api_key per identificar el client en el servei |
| method required | string Value: "get" Operació que es realitza. L'únic valor admès és Exemple: |
| limit required | integer [ 1 .. 500 ] Nombre de tokens per pàgina. Mínim Exemple: |
| page | integer >= 1 Default: 1 Especifica el número de pàgina que vols recuperar. Cada pàgina conté fins a Exemple: |
| code | string Codi de l'entitat pel qual es filtren els tokens. Si s'omet, es retornen els tokens de totes les entitats. Exemple: |
| sort_by | string Default: "created_at" Enum: "created_at" "accesed_at" Camp pel qual s'ordenen els resultats: Exemple: |
| sort_order | string Default: "DESC" Enum: "ASC" "DESC" Sentit de l'ordenació: Exemple: |
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
}
}Aquest mètode permet revocar un token existent per desautoritzar futures sol·licituds d'accés a l'API.
| api_key | string Identifica el client en el servei |
| token | string Token a revocar. |
{- "success": true,
- "message": "Token successfully revoked."
}Aquest mètode permet reassignar un token d'una api_key a una altra. Les dues api_keys han d'estar actives i pertànyer a la mateixa empresa, i el token ha de pertànyer a api_key_source.
| api_key_source | string api_key des de la qual reassignar el token. |
| api_key_target | string api_key a la qual reassignar el token. |
| token | string Token a reassignar. Exemple: |
api_key_source=a1b2c3d4e5f6g7h8i9j0&api_key_target=b2c3d4e5f6g7h8i9j0k1&token=FRJ0mHlaqZwLzu
{- "success": true,
- "message": "Token successfully reassigned."
}Afegeix l'associació entre el domini que hostatjarà el widget i el webhook de destinació. Per editar o provar els seus dominis, utilitzi https://www.wealthreader.com/clients/
| method required | string Method to execute. Exemple: |
| api_key required | string User's API key. |
| domain required | string Domain to add. Exemple: |
| url_callback required | string URL for callback. Exemple: |
| tokenize required | string Enum: "1" "0" Controla si el widget inicia un flux de tokenització:
Exemple: |
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"
}Llista de codis d'error. Presta especial atenció al fet que no tots els codis d'error han de rebre el mateix tractament per part de la teva aplicació. Davant d'un error de contrasenya incorrecta no has de reintentar la crida amb els mateixos paràmetres, però davant d'un error que t'indiqui que l'entitat està en manteniment sí que pots reintentar-ho. Demana una sessió tècnica amb el nostre equip per resoldre qualsevol dubte sobre la gestió d'errors.
| 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\"."
}
]
]Llista de codis d'advertència.
| 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\"."
}
]
]Punts finals opcionals no requerits per a integracions estàndard. Utilitzar només si Wealth Reader ho indica explícitament.
Obté el llistat d'entitats suportades i la informació necessària per dibuixar el formulari de login de l'entitat.
| 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"
}
}
]Aquest endpoint és opcional i no és necessari per a integracions estàndard. Utilitzar només si Wealth Reader ho indica explícitament. Aquest endpoint permet registrar un usuari ja sigui a la plataforma de traspàs de carteres Easytransfer o a l'eina de reporting Acumulas, a partir d'un identificador únic.
| api_key required | string Authentication key (8 alphanumeric characters) |
| user_id required | string User identification document. Exemple: |
| service required | string Enum: "integra" "easy-transfer" Service associated with the user. Determines the data flow. Exemple: |
| email required | string <email> User email, used according to service type. Exemple: |
{- "success": true,
- "message": "User registered successfully"
}Aquest endpoint és opcional i no és necessari per a integracions estàndard. Utilitzar només si Wealth Reader ho indica explícitament. Consulta si un usuari està registrat al sistema Easytransfer o Acumulas i retorna l'enllaç d'accés únic per a l'usuari.
| api_key required | string Authentication key |
| user_id required | string User identification document. Exemple: |
{- "success": true,
- "registered": true,
- "user_id": "12345",
- "links": {
}
}Aquest endpoint és opcional i no és necessari per a integracions estàndard. Utilitzar només si Wealth Reader ho indica explícitament. Aquest endpoint permet donar de baixa un usuari del servei de la plataforma Easytransfer o Acumulas.
| api_key required | string Authentication key (8 alphanumeric characters) |
| user_id required | string User identification document. Exemple: |
| service required | string Enum: "integra" "easy-transfer" "all" Service from which to unregister the user. 'all' for all services. Exemple: |
{- "success": true,
- "message": "User unregistered successfully"
}Aquest endpoint és opcional i no és necessari per a integracions estàndard. Utilitzar només si Wealth Reader ho indica explícitament.
Important: Per utilitzar la gestió de processos batch del costat de Wealthreader és necessari comptar amb un entorn dedicat. Aquest endpoint no està disponible a api.wealthreader.com.
Els endpoints agrupats sota l'etiqueta "batch" permeten processar múltiples connexions bancàries de forma asíncrona, a diferència del mètode /entities/ que és síncron. Ideal per processar grans volums de connexions i evitar timeouts.
| 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. Exemple: |
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"
}Aquest endpoint és opcional. Recupera estadístiques generals sobre el resultat del processament de totes les connexions d'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
}
}Aquest endpoint és opcional. Recupera el resultat d'una connexió 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,
- "additional_info": [
- {
- "key": "string",
- "value": "string"
}
]
}
]
}
], - "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"
}, - "tax_returns": [
- {
- "uuid": "5f2b9c1e8a7d3046b1c9e2f4a6d8b0c3e5f7a9b1",
- "issuer": "AEAT",
- "model": "100",
- "fiscal_year": 2025,
- "period": "0A",
- "receipt_number": "2025100000123456",
- "secure_verification_code": "A1B2C3D4E5F6G7H8",
- "filing_date": "2026-05-20",
- "filing_type": "individual",
- "holder_id": "99999999R",
- "holder_name": "APELLIDO1 APELLIDO2, NOMBRE",
- "spouse_id": "11111111H",
- "spouse_name": "APELLIDO3 APELLIDO4, NOMBRE",
- "currency": "EUR",
- "general_taxable_base": 32450.18,
- "savings_taxable_base": 1250.4,
- "general_liquid_base": 30120.18,
- "savings_liquid_base": 1250.4,
- "state_gross_tax": 3655.27,
- "regional_gross_tax": 3540.12,
- "state_net_tax": 3480.15,
- "regional_net_tax": 3398.6,
- "resulting_tax": 6878.75,
- "withholdings_and_payments": 7378.45,
- "differential_tax": -499.7,
- "result_amount": -499.7,
- "result_type": "refundable",
- "xml_file": "string",
- "pdf_file": "string"
}
], - "credit_reports": [
- {
- "uuid": "3c1f0e7a9b2d4c6e8f0a1b3c5d7e9f1a2b4c6d8e",
- "issuer": "BDE",
- "report_type": "summary",
- "report_name": "Informe Global",
- "reference": "I2026100100000000",
- "period": "2026-08",
- "request_date": "2026-10-01",
- "issue_date": "2026-10-01",
- "available_until": "2026-10-21",
- "file_name": "Informe Agregado.pdf",
- "pdf_file": "string"
}
]
}, - "statistics": {
- "SESSION": "3463754e3540884",
- "execution_time": 0.958119869232178,
- "warnings": [
- {
- "code": 1000,
- "message": "No contracted funds",
- "product_type": "portfolios"
}
], - "operation_id": "1827C79229",
- "token": "FRJ0mHlaqZwLzu"
}
}Verificació de titularitat: comproveu si un IBAN pertany a un titular mitjançant la Verificació del Beneficiari (VoP) SEPA del banc vinculat a la vostra llicència. Guia pas a pas: MyBankMatch.
Comprova si un IBAN pertany al titular indicat mitjançant la Verificació del Beneficiari (VoP) SEPA del vostre propi banc, vinculat a la vostra llicència de WealthReader. Retorna el veredicte del banc: no el substitueix per un càlcul local de similitud de noms ni crea, autoritza o executa cap ordre de pagament.
Abans de la primera crida
MY_BANK_MATCH i quota disponible.api_key; el token bancari no es lliura al navegador ni és un paràmetre de la consulta.Petició: cos codificat com a formulari (application/x-www-form-urlencoded) amb api_key, iban i name, igual que a /entities/. No s'envia JSON ni s'utilitza la capçalera X-API-Key. Mantingueu la api_key al vostre backend.
Resposta: HTTP 200 indica que s'ha obtingut un resultat del producte, no que el nom coincideixi. Comproveu success i després payload.result:
payload.result |
Significat | Camps addicionals | Facturable |
|---|---|---|---|
MATCH |
El banc considera que el nom coincideix amb el titular. | Cap. | Sí, 0,10 EUR. |
PARTIAL_MATCH |
El banc retorna una coincidència parcial (CLOSE_MATCH). |
suggested_name. |
Sí, 0,10 EUR. |
NO_MATCH |
El banc indica que el nom no coincideix. | Cap. | Sí, 0,10 EUR. |
NOT_CONFIGURED |
La llicència encara no té cap banc vinculat. | setup_url. |
No. |
REAUTH_REQUIRED |
La connexió amb el banc necessita una nova autenticació. | setup_url, reason_code. |
No. |
NOT_POSSIBLE |
No ha estat possible obtenir un veredicte utilitzable. No equival a NO_MATCH. |
reason. |
No. |
Només MATCH, PARTIAL_MATCH i NO_MATCH consumeixen quota. Els errors d'entrada i els resultats no concloents no es facturen.
No hi ha clau d'idempotència ni reintent gratuït. Si perdeu la resposta (timeout, xarxa o un cos no interpretable), el resultat i el consum de quota corresponent poden ser desconeguts per a la vostra aplicació. No torneu a enviar automàticament la mateixa consulta: reviseu l'historial a Clients i consulteu el suport indicant statistics.SESSION.
Guia completa: MyBankMatch.
| api_key required | string Clau de 8 caràcters hexadecimals d'una llicència activa amb el producte MY_BANK_MATCH i quota disponible. Mantingueu-la al vostre backend. |
| iban required | string IBAN d'un país SEPA. S'eliminen els espais, es passa a majúscules i es validen la longitud del país corresponent i els dígits de control mod-97. Exemple: |
| name required | string <= 140 characters Nom del titular. No buit, UTF-8 vàlid, sense caràcters de control i fins a 140 caràcters. Es retallen els extrems i es col·lapsen els espais interns. Exemple: |
api_key=a1b2c3d4&iban=ES9321005707250200257112&name=Wealthreader%20S.L.
{- "success": true,
- "payload": {
- "result": "MATCH"
}, - "statistics": {
- "SESSION": "0123456789abcdef",
- "execution_time": 0.42,
- "warnings": [ ]
}
}Pagaments SEPA de compte a compte iniciats des del banc del pagador. Hi ha dues maneres d'integrar-los:
POST /payments/?action=fast-track retorna l'URL de pagament i Wealth Reader avisa la vostra notification_url amb OK o KO. Consulteu Pagaments Fast Track.POST /payments/?action=create, obre el widget amb el token retornat i confirma el resultat amb POST /payments/?action=status. Consulteu Introducció als pagaments i Estats, sondeig i conciliació.Regles comunes a totes les crides /payments/?action=...
POST amb la capçalera Content-Type: application/json i un objecte JSON com a cos (màxim de 32768 bytes).X-API-Key (wr_live_ seguit de 72 lletres o dígits) d'una llicència activa amb el producte PAYMENTS. Mai no s'envia en el cos. Cada crida autenticada compta per al límit de crides de la llicència.422 invalid_request.payment_status: settled. Un esdeveniment del widget, un retorn SCA o interaction_status: completed mai no signifiquen que el pagament estigui liquidat.Format d'error: application/json (no problem+json) amb un error.code estable; error.message és informatiu i pot canviar.
{"success": false, "error": {"code": "invalid_request", "message": "The request body has an invalid schema."}}
| HTTP | error.code |
Motiu |
|---|---|---|
| 400 | invalid_json |
Cos buit, no vàlid o que no és un objecte JSON. |
| 401 | invalid_api_key |
X-API-Key absent, mal formada, desconeguda o inactiva. |
| 403 | payments_not_allowed |
La llicència no té el producte PAYMENTS. |
| 404 | action_not_found |
action desconeguda. |
| 405 | method_not_allowed |
Mètode diferent de POST. |
| 413 | request_too_large |
Cos de més de 32768 bytes. |
| 415 | json_required |
Content-Type diferent de application/json. |
| 422 | invalid_request |
Camps que falten o no previstos. |
| 429 | api_limit_reached |
S'ha assolit el límit de crides de la llicència. |
| 500 | internal_error |
Error inesperat. |
| 503 | payments_disabled, payments_accept_new_disabled, payment_storage_unavailable, payment_state_unavailable |
Servei no disponible temporalment o pagaments nous en pausa. |
Wealth Reader envia aquest POST a la notification_url d'un pagament Fast Track quan comprova l'estat del pagament i el troba en un estat final. reconciliation_required no és final i no s'avisa: confirmeu-lo amb status.
outcome és ok només si el banc ha liquidat el pagament (settled); rejected, cancelled, expired i failed avisen ko.status. No hi ha cap enviament programat a part: si el pagador marxa abans que el banc conclogui, o el vostre servidor no respon 2xx, l'avís s'envia en la comprovació següent. Si no ha arribat uns minuts després de redirigir el pagador, crideu status amb el payment_intent_id; aquesta crida també desencadena l'avís pendent.2xx per donar-lo per lliurat. Wealth Reader no segueix redireccions i espera com a màxim 3 segons.customer_reference més outcome com a idempotents.status utilitzant la vostra X-API-Key i el payment_intent_id de l'avís.| User-Agent required | string Value: "WealthReader-Payments" |
| outcome required | string Enum: "ok" "ko"
|
| payment_status required | string Enum: "settled" "rejected" "cancelled" "expired" "failed" Resultat financer final. |
| customer_reference required | string La |
| payment_intent_id required | string <uuid> Identificador que va retornar |
{- "outcome": "ok",
- "payment_status": "settled",
- "customer_reference": "11111111-1111-4111-8111-111111111111",
- "payment_intent_id": "3f2b8c1e-5d4a-4b6f-9e21-7c0d4a1b2e3f"
}Una sola crida que retorna l'URL de pagament. El pagador l'obre i autoritza el pagament al seu banc; quan el pagament arriba a un estat final, Wealth Reader avisa la vostra notification_url amb OK o KO (vegeu el webhook notification_url). Internament es crea la mateixa intenció immutable que amb create: l'import, el beneficiari i el concepte queden fixats abans d'arribar al navegador.
La capçalera Idempotency-Key és també la vostra referència de comerç (customer_reference a l'avís): no s'envia en el cos. Si repetiu la mateixa clau amb el mateix cos, rebeu la mateixa URL; si la reutilitzeu amb altres dades (també amb un altre logo), la resposta és 409 idempotency_conflict.
Una transferència immediata no té un límit propi en aquesta API: el banc rebutja la que no pot acceptar, també per import, i aquest rebuig arriba com a KO.
| X-API-Key required | string Clau d'API d'una llicència amb el producte PAYMENTS. Mantingueu-la al vostre backend. |
| Idempotency-Key required | string [ 16 .. 128 ] characters De 16 a 128 caràcters; ha de començar per una lletra o un dígit i contenir només lletres, dígits i |
| amount required | string Import en unitats principals, com a cadena JSON. Exemple: |
| currency required | string Value: "EUR" Divisa ISO 4217. En aquesta versió, només Exemple: |
required | object (payments-beneficiary) Destinatari de la transferència. No es pot canviar un cop creat el pagament. |
| reference required | string [ 1 .. 140 ] characters Concepte de l'extracte, fins a 140 caràcters. Exemple: |
| priority required | string Enum: "normal" "instant"
Exemple: |
| notification_url required | string <= 2000 characters URL Exemple: |
| logo | string <= 2048 characters Opcional. URL Exemple: |
{- "amount": "15.50",
- "currency": "EUR",
- "beneficiary": {
- "name": "Comercio Online S.L.",
- "iban": "ES9121000418450200051332"
}, - "reference": "Pedido 78901",
- "priority": "normal",
}{- "payment_intent_id": "3f2b8c1e-5d4a-4b6f-9e21-7c0d4a1b2e3f"
}Crea una intenció de pagament immutable i retorna un token de curta durada per obrir el widget al navegador del pagador. L'import, el beneficiari i el concepte queden fixats al backend i no es poden modificar des del navegador. Un cop tancat el widget, confirmeu el resultat des del vostre backend amb status.
Hi ha dues variants de cos:
amount_minor, currency, beneficiary, reference, customer_reference i allowed_origin.cruz_roja_demo): Wealth Reader fixa el beneficiari, el concepte i els límits; vós envieu profile, institution_code, amount_minor, customer_reference i allowed_origin. Obteniu els bancs amb profile-institutions.Si repetiu la mateixa Idempotency-Key amb el mateix cos, rebeu la mateixa intenció (200, idempotent_replay: true); si la reutilitzeu amb altres dades, la resposta és 409 idempotency_conflict. La clau és pròpia de la vostra empresa.
| X-API-Key required | string Clau d'API d'una llicència amb el producte PAYMENTS. Mantingueu-la al vostre backend. |
| Idempotency-Key required | string [ 16 .. 128 ] characters De 16 a 128 caràcters ASCII visibles. Genereu-ne una per pagament (un UUID v4 és vàlid) i reutilitzeu-la si reintenteu la crida. |
| amount_minor required | integer >= 1 Import en unitats menors (cèntims) com a enter JSON. Exemple: |
| currency required | string Value: "EUR" |
required | object (payments-beneficiary) Destinatari de la transferència. No es pot canviar un cop creat el pagament. |
| reference required | string [ 1 .. 140 ] characters Concepte de l'extracte, fins a 140 caràcters. Exemple: |
| customer_reference required | string <= 128 characters La vostra referència interna del pagament. De 1 a 128 caràcters; comença per una lletra o un dígit i conté només lletres, dígits i Exemple: |
| allowed_origin required | string Origen ( Exemple: |
| locale | string Value: "es" Opcional. Idioma del widget; en aquesta versió, només |
| expected_mode | string Enum: "mock" "live" Opcional. Si no coincideix amb l'entorn, la crida retorna |
| allowed_institution_codes | Array of strings <= 2500 items Opcional. Llista no buida de codis de banc únics (vegeu Exemple:
|
| logo | string or null Opcional. URL |
{- "amount_minor": 1500,
- "currency": "EUR",
- "beneficiary": {
- "name": "Comercio Online S.L.",
- "iban": "ES9121000418450200051332"
}, - "reference": "Pedido 78901",
- "customer_reference": "order-78901",
}{- "success": true,
- "payment": {
- "id": "3f2b8c1e-5d4a-4b6f-9e21-7c0d4a1b2e3f",
- "state": "ready",
- "payment_status": "not_initiated",
- "idempotent_replay": true,
- "widget": {
- "token": "wrp_w_…",
- "expires_at": "2026-11-08T10:15:00+00:00"
}
}
}Consulta de servidor a servidor de l'estat d'un pagament, fins a obtenir una conclusió bancària. Un callback, un retorn SCA o el tancament del widget no són una confirmació financera: només ho és payment_status: settled.
Wealth Reader limita les consultes externes per intenció; apliqueu backoff també al vostre backend i no creeu una altra intenció mentre el resultat sigui ambigu.
Resultat ambigu: una caiguda de xarxa, un timeout o una resposta no reconeguda després d'emetre l'inici canvia la intenció a reconciliation_required amb payment_status: unknown, i la resposta inclou reconciliation. La iniciació mai no es repeteix automàticament. Conserveu l'identificador i la clau d'idempotència, no creeu una altra intenció ni torneu a autoritzar i, quan automatic_recovery sigui false, deixeu de sondejar i escaleu al suport amb reconciliation.reference.
En els pagaments Fast Track, aquesta consulta també envia a notification_url l'avís d'OK/KO pendent quan el pagament ha arribat a un estat final.
| X-API-Key required | string Clau d'API de la llicència que va crear el pagament. |
| payment_intent_id required | string <uuid>
Exemple: |
| refresh | boolean Default: true Opcional. |
{- "payment_intent_id": "3f2b8c1e-5d4a-4b6f-9e21-7c0d4a1b2e3f",
- "refresh": true
}{- "success": true,
- "payment": {
- "id": "3f2b8c1e-5d4a-4b6f-9e21-7c0d4a1b2e3f",
- "amount_minor": 1500,
- "currency": "EUR",
- "beneficiary": {
- "name": "Comercio Online S.L.",
- "iban_masked": "ES91••••••••••••••••1332"
}, - "reference": "Pedido 78901",
- "payment_attestation": {
- "mode": "live",
- "provider_binding": "…",
- "allowed_institution_codes": null,
- "profile": null,
- "profile_version": null
}, - "state": "settled",
- "interaction_status": "finished",
- "payment_status": "settled",
- "reconciliation_required": false,
- "expires_at": "2026-11-08T10:30:00+00:00",
- "updated_at": "2026-11-08T10:04:12+00:00"
}
}Retorna les condicions d'un perfil administrat habilitat per a la vostra empresa (beneficiari, concepte, límits d'import) i els bancs que pot triar el pagador. Utilitzeu el code triat com a institution_code a create.
| X-API-Key required | string Clau d'API d'una llicència amb el producte PAYMENTS. |
| profile required | string Codi del perfil administrat. Exemple: |
{- "profile": "cruz_roja_demo"
}{- "success": true,
- "profile": {
- "code": "cruz_roja_demo",
- "version": "2026-09-04",
- "currency": "EUR",
- "min_amount_minor": 1,
- "max_amount_minor": 100,
- "reference": "Donativo desde la demo de Wealthreader.com",
- "beneficiary_name": "Cruz Roja Española",
- "payment_attestation": {
- "mode": "live",
- "provider_binding": "…"
}, - "institutions": [
- {
- "code": "santander-es",
- "name": "Banco Santander",
- "country": "ES",
- "requires_debtor_iban": false,
}
]
}
}Catàleg de bancs que poden iniciar pagaments, amb el seu logotip i els mètodes de pagament que admeten. X-API-Key és opcional; si l'envieu, es valida i compta com a crida. També admet POST amb els mateixos filtres en un cos JSON, i POST /payments/?action=entities amb X-API-Key obligatòria.
Els filtres desconeguts s'ignoren i mai no produeixen un error de validació.
| country | string Example: country=ES Codi de país ISO 3166-1 alfa-2. Exemple: |
| search | string Text contingut en el nom o el codi, sense distingir majúscules (àlies |
| code | string Example: code=santander-es Codi exacte del banc, sense distingir majúscules. Exemple: |
| payment_method | string Enum: "sepa_credit_transfer" "instant_sepa_credit_transfer" Només els bancs que admeten aquest mètode de pagament. |
| limit | integer [ 1 .. 2000 ] Mida de pàgina (d'1 a 2000). |
| offset | integer >= 0 Nombre de resultats que s'ometen. |
| X-API-Key | string Opcional. Si s'envia, es valida i compta com a crida. |
{- "success": true,
- "total": 1,
- "entities": [
- {
- "code": "santander-es",
- "name": "Banco Santander",
- "country": "ES",
- "logo_fallback": null,
- "logo_source": "wealthreader",
- "payment_methods": [
- "sepa_credit_transfer",
- "instant_sepa_credit_transfer"
], - "requires_debtor_iban": false
}
]
}Real-time card expense synchronization from the Open Sync mobile app: per-customer employee pre-registration, signed webhooks (card_transaction.created / card_enrollment.confirmed), and REST query / backfill.
Creates or updates the webhook URL of the customer for the card_transaction.created and card_enrollment.confirmed events (see the cards-webhook-delivery schema for the delivery format and signature). On first setup, or when rotate_secret is true, a new webhook_secret (64 hex characters) is generated and returned once; in any other case webhook_secret comes back as null in the response and cannot be retrieved again. webhook_url must always be https:// and must resolve to a publicly routable host: localhost, private, loopback, link-local (including the cloud metadata address), CGNAT, multicast and reserved addresses are rejected, in any notation (hexadecimal, decimal, octal, short dotted or IPv4-mapped IPv6), and so is a hostname that does not resolve at all. The same check runs again right before every delivery, not only at registration: if the host is repointed at an internal address afterwards (DNS rebinding) the delivery is closed as failed with response_excerpt "blocked_host". Sending null in webhook_url disables webhooks for that customer; omitting the field leaves the stored URL untouched, which is how the secret is rotated without changing the URL.
| api_key required | string API key of the customer. |
| webhook_url | string or null https:// URL that will receive the events, on a publicly routable host that resolves in DNS. null disables webhooks; omitting the field leaves the stored URL unchanged. Exemple: |
| rotate_secret | boolean Default: false When true, generates and returns a new webhook_secret. |
{- "api_key": "a1b2c3d4",
- "rotate_secret": false
}{- "success": true,
- "payload": {
- "webhook_secret": "9f1c2b3a4d5e6f708192a3b4c5d6e7f8091a2b3c4d5e6f708192a3b4c5d6e7f8",
- "active": true
}
}Creates an enrollment request in pending status with a short expiry (ttl_minutes, 20 by default, between 1 and 60) for the employee to confirm by opening the mobile app and entering that email (POST /user-sync-validation/, no contract change for the app). It is idempotent: repeating the call for the same (api_key, email) while it is still pending and not expired returns the same request. If the email is already linked to the calling customer, it returns status "active" directly. If it is already linked to a different customer, it returns 409. Rate limit: at most 60 calls to this endpoint per api_key every 60 seconds, counting every attempt and not only the ones that create a row, checked before anything else so the answers that create nothing (200 already active, 409 linked to another customer, 400) cannot be walked as an enumeration oracle. Exceeding it returns 429 with code rate_limited.
| api_key required | string API key of the customer. |
| email required | string <email> Email of the employee to pre-register. Exemple: |
| ttl_minutes | integer [ 1 .. 60 ] Default: 20 Minutes the request stays valid before expiring. |
{- "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
}
}Read-only status of an enrollment request. It has no side effects on card users, unlike POST /user-sync-validation/, which does confirm. The only write allowed is lazily marking a pending enrollment whose expiry date has already passed as expired.
| api_key required | string Example: api_key=a1b2c3d4 API key of the customer. Note it travels in the query string, so it ends up in access logs and intermediary proxies. Exemple: |
| enrollment_id required | string Example: enrollment_id=0f3a9c7b1d2e4f5a6b7c8d9e0f1a2b3c Identifier returned by POST /cards/enrollments/. Exemple: |
{- "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"
}
}Returns the real-time card transactions received for the employees linked to this api_key, ordered by ascending id. Meant both for periodic backfill (poll with date_from/date_to and paginate with since_id) and for one-off queries. This is the same transaction object carried by the card_transaction.created webhook.
| api_key required | string Example: api_key=a1b2c3d4 API key of the customer. Note it travels in the query string, so it ends up in access logs and intermediary proxies. Exemple: |
| date_from | string <date> Example: date_from=2026-07-01 YYYY-MM-DD, on the operation date. Default: today minus 3 days. Exemple: |
| date_to | string <date> Example: date_to=2026-07-11 YYYY-MM-DD, on the operation date. Default: today. Exemple: |
string <email> Example: email=empleado@cliente.com Filters by the email of the employee. Exemple: | |
| since_id | integer Example: since_id=216 Exclusive cursor on the transaction id, for pagination. Exemple: |
| limit | integer <= 1000 Default: 500 Example: limit=500 Maximum number of transactions to return (500 by default, 1000 max). Exemple: |
{- "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
}
}