{
  "generated": "2026-07-15T11:20:13.471Z",
  "sources": [
    {
      "id": "amazon-es",
      "name": "Amazon España — pedidos",
      "service": "amazon",
      "categories": [
        "marketplace"
      ],
      "trust": "first-party",
      "domain": "amazon.es",
      "country": "ES",
      "formats": [
        "json",
        "pdf"
      ],
      "crossDomain": [],
      "version": "2026-07-10",
      "minVersion": "0.1.38",
      "gaps": [],
      "changelog": [],
      "url": "https://habeas-dev.github.io/sources/amazon-es.json",
      "updated": "2026-07-15T11:20:13.471Z"
    },
    {
      "id": "bipdrive-es",
      "name": "Bip&Drive — facturas",
      "service": "bipdrive",
      "categories": [
        "tolls"
      ],
      "trust": "first-party",
      "domain": "bipdrive.com",
      "country": "ES",
      "formats": [
        "pdf"
      ],
      "crossDomain": [],
      "version": "2026-07-08",
      "minVersion": null,
      "gaps": [],
      "changelog": [
        {
          "version": "2026-07-08",
          "changes": "Facturas vía tabla AJAX (from:html); PDF por POST de formulario."
        }
      ],
      "url": "https://habeas-dev.github.io/sources/bipdrive-es.json",
      "updated": "2026-07-15T11:20:13.471Z"
    },
    {
      "id": "caixabank-consumer-es",
      "name": "CaixaBank Consumer — extractos",
      "service": "caixabank-consumer",
      "categories": [
        "card"
      ],
      "trust": "first-party",
      "domain": "caixabankconsumer.com",
      "country": "ES",
      "formats": [
        "pdf"
      ],
      "crossDomain": [
        "api.caixabankpc.com"
      ],
      "version": "2026-07-08",
      "minVersion": "0.1.35",
      "gaps": [],
      "changelog": [
        {
          "version": "2026-07-08",
          "changes": "Versión inicial: extractos (cross-domain api.caixabankpc.com), captura de DNI, PDF por URL absoluta."
        }
      ],
      "url": "https://habeas-dev.github.io/sources/caixabank-consumer-es.json",
      "updated": "2026-07-15T11:20:13.471Z"
    },
    {
      "id": "carrefour-es",
      "name": "Carrefour España — tickets",
      "service": "carrefour",
      "categories": [
        "grocery",
        "fuel",
        "retail"
      ],
      "trust": "first-party",
      "domain": "carrefour.es",
      "country": "ES",
      "formats": [
        "pdf"
      ],
      "crossDomain": [],
      "version": "2026-07-08",
      "minVersion": null,
      "gaps": [],
      "changelog": [
        {
          "version": "2026-07-08",
          "changes": "Tickets y pedidos online (offset pagination); PDF cuando existe."
        }
      ],
      "url": "https://habeas-dev.github.io/sources/carrefour-es.json",
      "updated": "2026-07-15T11:20:13.471Z"
    },
    {
      "id": "decathlon-es",
      "name": "Decathlon España — tickets",
      "service": "decathlon",
      "categories": [
        "sports"
      ],
      "trust": "community",
      "domain": "decathlon.es",
      "country": "ES",
      "formats": [
        "json"
      ],
      "crossDomain": [],
      "version": "2026-07-08",
      "minVersion": null,
      "gaps": [],
      "changelog": [
        {
          "version": "2026-07-08",
          "changes": "Pedidos/recibos con detalle JSON."
        }
      ],
      "url": "https://habeas-dev.github.io/sources/decathlon-es.json",
      "updated": "2026-07-15T11:20:13.471Z"
    },
    {
      "id": "dia-es",
      "name": "Dia España — tickets",
      "service": "dia",
      "categories": [
        "grocery"
      ],
      "trust": "community",
      "domain": "dia.es",
      "country": "ES",
      "formats": [
        "json",
        "pdf"
      ],
      "crossDomain": [],
      "version": "2026-07-08",
      "minVersion": null,
      "gaps": [],
      "changelog": [
        {
          "version": "2026-07-08",
          "changes": "Tickets desde el SSR (Vike); factura en PDF por artículo."
        }
      ],
      "url": "https://habeas-dev.github.io/sources/dia-es.json",
      "updated": "2026-07-15T11:20:13.471Z"
    },
    {
      "id": "hover-com",
      "name": "Hover — Receipts",
      "service": "hover",
      "categories": [
        "domains"
      ],
      "trust": "community",
      "domain": "hover.com",
      "country": "global",
      "formats": [
        "json",
        "html"
      ],
      "crossDomain": [],
      "version": "2026-07-13",
      "minVersion": null,
      "gaps": [],
      "changelog": [
        {
          "version": "2026-07-13",
          "changes": "Bill in USD (Hover charges USD; was defaulting to EUR)."
        },
        {
          "version": "2026-07-08",
          "changes": "Facturas de dominios (JSON + recibo HTML)."
        }
      ],
      "url": "https://habeas-dev.github.io/sources/hover-com.json",
      "updated": "2026-07-15T11:20:13.471Z"
    },
    {
      "id": "ikea-es",
      "name": "IKEA España — compras y tiquets",
      "service": "ikea",
      "categories": [
        "home"
      ],
      "trust": "first-party",
      "domain": "ikea.com",
      "country": "ES",
      "formats": [
        "pdf"
      ],
      "crossDomain": [
        "cssom-prod.ingka.com"
      ],
      "version": "2026-07-08",
      "minVersion": "0.1.36",
      "gaps": [],
      "changelog": [],
      "url": "https://habeas-dev.github.io/sources/ikea-es.json",
      "updated": "2026-07-15T11:20:13.471Z"
    },
    {
      "id": "ing-es",
      "name": "ING España",
      "service": "ing",
      "categories": [
        "banking"
      ],
      "trust": "community",
      "domain": "ingdirect.es",
      "country": "ES",
      "formats": [],
      "crossDomain": [],
      "version": "2026-07-14",
      "minVersion": "0.1.65.5",
      "gaps": [],
      "changelog": [
        {
          "version": "2026-07-14",
          "changes": "Initial: movements (transactions), per-account monthly statements (PDF/Excel), and the integrated monthly statement (PDF). Grouped by account, 90-day window."
        }
      ],
      "url": "https://habeas-dev.github.io/sources/ing-es.json",
      "updated": "2026-07-15T11:20:13.471Z"
    },
    {
      "id": "leroymerlin-es",
      "name": "Leroy Merlin España",
      "service": "leroymerlin",
      "categories": [
        "diy"
      ],
      "trust": "community",
      "domain": "leroymerlin.es",
      "country": "ES",
      "formats": [],
      "crossDomain": [],
      "version": "2026-07-10.3",
      "minVersion": "0.1.53.13",
      "gaps": [],
      "changelog": [
        {
          "version": "2026-07-10.3",
          "changes": "Tickets: no cortar al llegar a un año sin compras (stopAfterEmpty) — antes se paraba en 2025 (sin compras) y ocultaba los tickets más antiguos."
        },
        {
          "version": "2026-07-10.2",
          "changes": "Stream «Pedidos»: mostrar TODOS los pedidos de «mis pedidos» (se quita el filtro que dejaba solo los ONLINE y ocultaba pedidos de tienda que también aparecen ahí)."
        },
        {
          "version": "2026-07-10.1",
          "changes": "Tickets de tienda: empezar en el año actual (yearOffset 0) — antes empezaba 2 años atrás y se saltaba las compras de este año y el anterior."
        },
        {
          "version": "2026-07-10",
          "changes": "Añade compras online (stream «Pedidos online» vía /order-followup/backend/v2/orders, filtradas a ONLINE) junto a los tickets de tienda existentes; fuente multi-salida (streams)."
        },
        {
          "version": "2026-07-08",
          "changes": "Recibos vía API JSON (cookie)."
        }
      ],
      "url": "https://habeas-dev.github.io/sources/leroymerlin-es.json",
      "updated": "2026-07-15T11:20:13.471Z"
    },
    {
      "id": "openbank-es",
      "name": "Openbank España",
      "service": "openbank",
      "categories": [
        "banking"
      ],
      "trust": "community",
      "domain": "openbank.es",
      "country": "ES",
      "formats": [],
      "crossDomain": [],
      "version": "2026-07-15.1",
      "minVersion": "0.1.67",
      "gaps": [
        "tarjetas"
      ],
      "changelog": [
        {
          "version": "2026-07-15.1",
          "changes": "Fix `movimientos`: the first (non-SCA) page returns a flat `movimientos` array, not `methodResult.movimientos` — itemsPath now accepts both shapes."
        },
        {
          "version": "2026-07-15",
          "changes": "Add `movimientos` (transactions) per account — 90-day window, full-URL nextPage pager, stops at the SCA boundary (no OTP triggered). Add per-account monthly movement statements (PDF/Excel). Token-only auth (auth.cookies:false, avoids HTTP 413) + session keep-alive. Movements is no longer a declared gap."
        },
        {
          "version": "2026-07-14",
          "changes": "Initial: integrated monthly statements (PDF) across all accounts. Movements/cards/investments are declared gaps for community contribution."
        }
      ],
      "url": "https://habeas-dev.github.io/sources/openbank-es.json",
      "updated": "2026-07-15T11:20:13.471Z"
    },
    {
      "id": "revolut",
      "name": "Revolut",
      "service": "revolut",
      "categories": [
        "banking"
      ],
      "trust": "community",
      "domain": "revolut.com",
      "country": "global",
      "formats": [],
      "crossDomain": [
        "storage.googleapis.com"
      ],
      "version": "2026-07-15.2",
      "minVersion": "0.1.68",
      "gaps": [],
      "changelog": [
        {
          "version": "2026-07-15.2",
          "changes": "Add account statements (PDF/CSV) per account × month: async-generated (poll account-statements until READY) then download the signed Google Storage URL (crossDomainHosts + consent). Statements bounded to the last ~12 months."
        },
        {
          "version": "2026-07-15.1",
          "changes": "Add per-account (pocket) filter with a currency-labelled Accounts picker."
        },
        {
          "version": "2026-07-15",
          "changes": "Initial: personal transactions across all accounts, paged by the `to` timestamp cursor; cookie + captured x-device-id; minor-unit amounts scaled per ISO 4217."
        }
      ],
      "url": "https://habeas-dev.github.io/sources/revolut.json",
      "updated": "2026-07-15T11:20:13.471Z"
    },
    {
      "id": "traderepublic",
      "name": "Trade Republic",
      "service": "traderepublic",
      "categories": [
        "banking",
        "investment"
      ],
      "trust": "community",
      "domain": "traderepublic.com",
      "country": "global",
      "formats": [],
      "crossDomain": [],
      "version": "2026-07-15.3",
      "minVersion": "0.2.0",
      "gaps": [],
      "changelog": [
        {
          "version": "2026-07-15.3",
          "changes": "Add monthly documents: the account statement PDF (accountstatement/statement?fromDate&toDate) and the monthly transactions CSV (async export job: POST request → poll status → download), per completed month."
        },
        {
          "version": "2026-07-15.2",
          "changes": "Extract the traded instrument ISIN from the timeline icon into record.isin."
        },
        {
          "version": "2026-07-15.1",
          "changes": "Enrich each timeline transaction with its timelineDetailV2 detail in record.extra.detail."
        },
        {
          "version": "2026-07-15",
          "changes": "Initial: the whole transaction timeline via Trade Republic’s WebSocket API."
        }
      ],
      "url": "https://habeas-dev.github.io/sources/traderepublic.json",
      "updated": "2026-07-15T11:20:13.471Z"
    },
    {
      "id": "wizink-es",
      "name": "WiZink España",
      "service": "wizink",
      "categories": [
        "card",
        "banking"
      ],
      "trust": "first-party",
      "domain": "wizink.es",
      "country": "ES",
      "formats": [],
      "crossDomain": [],
      "version": "2026-07-10",
      "minVersion": "0.1.52",
      "gaps": [],
      "changelog": [
        {
          "version": "2026-07-10",
          "changes": "Los extractos ahora muestran una etiqueta legible («Extracto <fecha>») en lugar del identificador interno, y llevan el tipo «Extracto»."
        },
        {
          "version": "2026-07-09",
          "changes": "Fuente unificada: reemplaza las tres fuentes WiZink (movimientos, extractos-PDF, extractos-Excel) por un único source con salidas seleccionables (stream × formato). El stream «Movimientos» captura las transacciones de tarjeta; el stream «Extractos» ofrece cada extracto en PDF o Excel compartiendo el mismo listado. Requiere la extensión 0.1.52+ (soporte de salidas)."
        }
      ],
      "url": "https://habeas-dev.github.io/sources/wizink-es.json",
      "updated": "2026-07-15T11:20:13.471Z"
    }
  ]
}
