{
  "generatedAt": "2026-10-10T18:08:27Z",
  "runner": "manual run (Oregon, US)",
  "checkedGeoRestricted": false,
  "banks": [
    {
      "id": "cbe",
      "label": "CBE",
      "manifestStatus": "live",
      "checkedAt": "2026-10-10T18:08:26Z",
      "status": "live",
      "detail": "Endpoint answers in the expected shape.",
      "observed": "500 application/problem+json \"Security Alert: Invalid or tampered legacy token!\""
    },
    {
      "id": "cbe:cbe-ft-pdf",
      "label": "CBE (legacy: FT reference + last 8 digits of the receiving account)",
      "manifestStatus": "live",
      "checkedAt": "2026-10-10T18:08:26Z",
      "status": "live",
      "detail": "Endpoint answers in the expected shape.",
      "observed": "404 text/html \"You Are Not Allowed to See This Data, Please Check your Link\"",
      "formatStatus": "legacy"
    },
    {
      "id": "telebirr",
      "label": "Telebirr",
      "manifestStatus": "live",
      "checkedAt": "2026-10-10T18:08:24Z",
      "status": "not-checked",
      "detail": "Geo-restricted to Ethiopian IPs, not checked from CI."
    },
    {
      "id": "boa",
      "label": "BOA",
      "manifestStatus": "live",
      "checkedAt": "2026-10-10T18:08:25Z",
      "status": "live",
      "detail": "Endpoint answers in the expected shape.",
      "observed": "200 application/json \"[{\"Payer's Name\":\"Invalid reference number\"}]\""
    },
    {
      "id": "mpesa",
      "label": "M-Pesa",
      "manifestStatus": "live",
      "checkedAt": "2026-10-10T18:08:24Z",
      "status": "not-checked",
      "detail": "Geo-restricted to Ethiopian IPs, not checked from CI."
    },
    {
      "id": "dashen",
      "label": "Dashen",
      "manifestStatus": "live",
      "checkedAt": "2026-10-10T18:08:25Z",
      "status": "live",
      "detail": "Endpoint answers in the expected shape.",
      "observed": "400 application/json \"Transaction not found\""
    },
    {
      "id": "awash",
      "label": "Awash",
      "manifestStatus": "live",
      "checkedAt": "2026-10-10T18:08:25Z",
      "status": "live",
      "detail": "Endpoint answers in the expected shape.",
      "observed": "200 text/html \"Receipt not found\""
    },
    {
      "id": "zemen",
      "label": "Zemen",
      "manifestStatus": "in-development",
      "checkedAt": "2026-10-10T18:08:26Z",
      "status": "in-development",
      "detail": "Endpoint answers in the expected shape. Parser still needs a real receipt.",
      "observed": "404 application/json \"Transaction not found.\""
    },
    {
      "id": "cbebirr",
      "label": "CBE Birr",
      "manifestStatus": "in-development",
      "checkedAt": "2026-10-10T18:08:27Z",
      "status": "in-development",
      "detail": "Endpoint answers in the expected shape. Parser still needs a real receipt.",
      "observed": "200 text/html \"Auto Receipt\""
    },
    {
      "id": "siinqee",
      "label": "Siinqee",
      "manifestStatus": "live",
      "checkedAt": "2026-10-10T18:08:26Z",
      "status": "degraded",
      "detail": "Unknown-reference response changed: expected HTTP 200, got 404; expected content type text/html, got text/plain; charset=utf-8; body is missing \"Not Found Page\".",
      "observed": "404 text/plain \"Cannot GET /siinqee/chekiprobe000000\""
    },
    {
      "id": "ebirr",
      "label": "eBirr",
      "manifestStatus": "live",
      "checkedAt": "2026-10-10T18:08:26Z",
      "status": "live",
      "detail": "Endpoint answers in the expected shape.",
      "observed": "200 text/html \"Not Found Page\""
    },
    {
      "id": "nib",
      "label": "Nib",
      "manifestStatus": "in-development",
      "checkedAt": "2026-10-10T18:08:26Z",
      "status": "in-development",
      "detail": "Endpoint answers in the expected shape. Parser still needs a real receipt.",
      "observed": "200 text/html \"Not Found Page\""
    },
    {
      "id": "wegagen",
      "label": "Wegagen",
      "manifestStatus": "in-development",
      "checkedAt": "2026-10-10T18:08:26Z",
      "status": "in-development",
      "detail": "Endpoint answers in the expected shape. Parser still needs a real receipt.",
      "observed": "200 text/html \"Not Found Page\""
    },
    {
      "id": "ahadu",
      "label": "Ahadu",
      "manifestStatus": "in-development",
      "checkedAt": "2026-10-10T18:08:26Z",
      "status": "in-development",
      "detail": "Endpoint answers in the expected shape. Parser still needs a real receipt.",
      "observed": "200 text/html \"Not Found Page\""
    },
    {
      "id": "kaafi",
      "label": "KAAFI",
      "manifestStatus": "in-development",
      "checkedAt": "2026-10-10T18:08:26Z",
      "status": "in-development",
      "detail": "Endpoint answers in the expected shape. Parser still needs a real receipt.",
      "observed": "200 text/html \"Not Found Page\""
    },
    {
      "id": "abay",
      "label": "Abay",
      "manifestStatus": "in-development",
      "checkedAt": "2026-10-10T18:08:24Z",
      "status": "in-development",
      "detail": "No public receipt endpoint known yet."
    },
    {
      "id": "addis",
      "label": "Addis Bank",
      "manifestStatus": "in-development",
      "checkedAt": "2026-10-10T18:08:24Z",
      "status": "in-development",
      "detail": "No public receipt endpoint known yet."
    },
    {
      "id": "amhara",
      "label": "Amhara",
      "manifestStatus": "in-development",
      "checkedAt": "2026-10-10T18:08:24Z",
      "status": "in-development",
      "detail": "No public receipt endpoint known yet."
    },
    {
      "id": "berhan",
      "label": "Berhan",
      "manifestStatus": "in-development",
      "checkedAt": "2026-10-10T18:08:24Z",
      "status": "in-development",
      "detail": "No public receipt endpoint known yet."
    },
    {
      "id": "bunna",
      "label": "Bunna",
      "manifestStatus": "in-development",
      "checkedAt": "2026-10-10T18:08:24Z",
      "status": "in-development",
      "detail": "No public receipt endpoint known yet."
    },
    {
      "id": "enat",
      "label": "Enat",
      "manifestStatus": "in-development",
      "checkedAt": "2026-10-10T18:08:24Z",
      "status": "in-development",
      "detail": "No public receipt endpoint known yet."
    },
    {
      "id": "global",
      "label": "Global Bank",
      "manifestStatus": "in-development",
      "checkedAt": "2026-10-10T18:08:24Z",
      "status": "in-development",
      "detail": "No public receipt endpoint known yet."
    },
    {
      "id": "lion",
      "label": "Lion Bank",
      "manifestStatus": "in-development",
      "checkedAt": "2026-10-10T18:08:24Z",
      "status": "in-development",
      "detail": "No public receipt endpoint known yet."
    },
    {
      "id": "oromia",
      "label": "Oromia Bank",
      "manifestStatus": "in-development",
      "checkedAt": "2026-10-10T18:08:24Z",
      "status": "in-development",
      "detail": "No public receipt endpoint known yet."
    },
    {
      "id": "hibret",
      "label": "Hibret",
      "manifestStatus": "in-development",
      "checkedAt": "2026-10-10T18:08:24Z",
      "status": "in-development",
      "detail": "No public receipt endpoint known yet."
    },
    {
      "id": "zamzam",
      "label": "ZamZam",
      "manifestStatus": "in-development",
      "checkedAt": "2026-10-10T18:08:24Z",
      "status": "in-development",
      "detail": "No public receipt endpoint known yet."
    },
    {
      "id": "hijra",
      "label": "Hijra",
      "manifestStatus": "in-development",
      "checkedAt": "2026-10-10T18:08:24Z",
      "status": "in-development",
      "detail": "No public receipt endpoint known yet."
    },
    {
      "id": "shabelle",
      "label": "Shabelle",
      "manifestStatus": "in-development",
      "checkedAt": "2026-10-10T18:08:24Z",
      "status": "in-development",
      "detail": "No public receipt endpoint known yet."
    },
    {
      "id": "goh",
      "label": "Goh Betoch",
      "manifestStatus": "in-development",
      "checkedAt": "2026-10-10T18:08:24Z",
      "status": "in-development",
      "detail": "No public receipt endpoint known yet."
    },
    {
      "id": "tsedey",
      "label": "Tsedey",
      "manifestStatus": "in-development",
      "checkedAt": "2026-10-10T18:08:24Z",
      "status": "in-development",
      "detail": "No public receipt endpoint known yet."
    },
    {
      "id": "gadaa",
      "label": "Gadaa",
      "manifestStatus": "in-development",
      "checkedAt": "2026-10-10T18:08:24Z",
      "status": "in-development",
      "detail": "No public receipt endpoint known yet."
    },
    {
      "id": "rammis",
      "label": "Rammis",
      "manifestStatus": "in-development",
      "checkedAt": "2026-10-10T18:08:24Z",
      "status": "in-development",
      "detail": "No public receipt endpoint known yet."
    },
    {
      "id": "cbe-new",
      "label": "CBE (Receipt ID alias)",
      "manifestStatus": "live",
      "checkedAt": "2026-10-10T18:08:26Z",
      "status": "live",
      "detail": "Endpoint answers in the expected shape.",
      "observed": "500 application/problem+json \"Security Alert: Invalid or tampered legacy token!\""
    }
  ]
}
