ACH Clock

JSON API

The banking calendar for payroll and reconciliation code, without vendoring a holiday table that goes stale.

Endpoints

All responses are JSON. Dates are ISO YYYY-MM-DD; times are Eastern, the timezone the Federal Reserve publishes its deadlines in.

GET /api/v1/holidays?year=2026

Reserve Bank closure days. There is no July entry for 2026 because July 4 falls on a Saturday, so the Reserve Banks never close that week.

{
  "year": 2026,
  "holidays": [
    { "date": "2026-01-01", "name": "New Year's Day", "observed": false },
    { "date": "2026-01-19", "name": "Birthday of Martin Luther King, Jr.", "observed": false }
  ]
}

observed: true means the actual holiday fell on a Sunday and the closure moved to the following Monday.

GET /api/v1/settlement-date?date=2026-11-25&time=10:00&speed=next-day

speed is same-day, next-day, or two-day (default next-day). time defaults to 09:00.

{
  "submitted": { "date": "2026-11-25", "time": "10:00", "speed": "next-day" },
  "settlementDate": "2026-11-27",
  "settlementTime": null,
  "windowLabel": null,
  "bankingDays": 1,
  "notes": []
}

For same-day, settlementTime and windowLabel are populated (for example "5:00 PM ET" and "2:45 PM ET"). notes explains any roll-forward in plain language: a weekend, a named holiday, or a missed Same Day window.

GET /api/v1/business-days?from=2026-01-16&add=2

{ "from": "2026-01-16", "add": 2, "result": "2026-01-21" }

Two other forms are available on the same endpoint:

?from=2026-01-16&to=2026-01-21
  -> { "from": "2026-01-16", "to": "2026-01-21", "bankingDays": 2 }

?from=2026-11-26
  -> { "date": "2026-11-26", "isBankingDay": false, "holiday": "Thanksgiving Day" }

Errors

Invalid input returns 400 with { "error": "..." }. A missing or unrecognised key returns 401; an expired key returns 402.

Authentication

Pass your key as Authorization: Bearer <key>, or as a ?key= query parameter when a header is inconvenient (spreadsheet formulas, calendar tools). Keys are $19 for 365 days and do not auto-renew. See pricing.

curl "https://achclock.com/api/v1/holidays?year=2026"   -H "Authorization: Bearer YOUR_KEY"

Correctness

The date engine is checked on every build against the Federal Reserve's published 2026โ€“2030 holiday schedule, including the Saturday and Sunday observance footnotes. Dates are computed from the rules rather than copied from a table, so future years stay correct.