GET https://app.cardnexus.com/api/maintenance/status
No authentication required.
{
"maintenance": {
"enabled": true,
"startsAt": "2026-04-07T07:30:00Z",
"endsAt": "2026-04-07T13:00:00Z",
"message": "## ⚠️ Maintenance Update\n\nWe're performing scheduled maintenance..."
}
}{
"maintenance": {
"enabled": false
}
}{
"maintenance": null
}| Field | Type | Description |
|---|---|---|
enabled |
boolean |
Whether maintenance mode is active |
startsAt |
string? |
ISO 8601 datetime — start of maintenance window |
endsAt |
string? |
ISO 8601 datetime — end of maintenance window |
message |
string? |
Markdown-formatted message from the team |
All fields except enabled are optional. When only enabled: true is set with no other fields, show a generic "under maintenance" message.
- Poll every 15 seconds when the app detects maintenance mode
- When
enabledbecomesfalse(ormaintenanceisnull), resume normal operation - The
messagefield is Markdown — render it accordingly or strip formatting for plain text
type MaintenanceStatus = {
maintenance: {
enabled: boolean
startsAt?: string
endsAt?: string
message?: string
} | null
}
async function checkMaintenance(): Promise<MaintenanceStatus> {
const res = await fetch('https://app.cardnexus.com/api/maintenance/status')
return res.json()
}This endpoint reads from Vercel Edge Config — a global key-value store. Changes are instant (no deploy needed). The web frontend uses the same data to show its maintenance page and auto-redirect when maintenance ends.