Maintenance Status
GET /api/v1/maintenanceNo authentication required. Public endpoint.
Returns current maintenance state for the system and each exchange.
Response
200 OK
[
{
"exchange": "_system",
"enabled": false,
"reason": "dev",
"updated_by": "",
"updated_at": "2026-03-10T18:38:37Z"
}
]| Field | Description |
|---|---|
exchange | Exchange identifier, or _system for system-wide maintenance |
enabled | true if maintenance is currently active |
reason | Free-text description set by the operator |
updated_by | Internal user ID of the operator who toggled it |
updated_at | Last time the flag was changed |
What maintenance blocks
- System-wide maintenance (
_system: enabled=true) — blocks new trade creation and amendments. Cancellations are always allowed. - Per-exchange maintenance — blocks new trades that use that exchange on either leg. Existing trades continue running; you can cancel them.
Trade creation during maintenance returns:
503 Service Unavailable
{"error": "system is in maintenance mode", "code": "system_maintenance", "reason": "..."}or:
503 Service Unavailable
{"error": "hyperliquid is in maintenance mode"}Recommended polling
Most clients don't need to poll this endpoint — they can just submit
trades and handle the 503 response. But if you want a UI indicator,
poll at 30-60 second intervals or subscribe to the WebSocket maintenance
event for push notifications.
Example
curl https://api.spreadr.xyz/api/v1/maintenance