The maintenance management platform for production-grade applications. Toggle, schedule, and communicate maintenance across web, mobile, and API — without redeploys.
<!-- Add to your <head> --><scriptsrc="https://maintenance.dev/maintenance.js"data-project-id="proj_a3f9c2"></script>
wss://api.maintenance.devManage every site, app, and API from a single dashboard. Toggle maintenance, view status, and configure messaging in one place.

Built for production. Trusted by engineering teams.
Stop shipping emergency deployments to flip a feature flag. maintenance.dev gives your team a single control plane for every maintenance scenario.
Persistent WebSocket connections push state changes to every connected user in milliseconds. No polling, no propagation delay.
Flip maintenance on or off from the dashboard. Changes propagate instantly with no code deploys, CI/CD runs, or rollback windows.
One API for every platform. Drop a script tag on your website, hit our REST endpoint from your API, or subscribe via WebSocket from mobile.
Define structured JSON payloads for mobile apps and APIs. Build your own UX while we handle distribution and state management.
Fully customizable maintenance pages with your colors, logo, and copy. Update messaging in real time during active maintenance.
Per-project allowed origins, project-scoped tokens, and connection limits. Production-ready security from day one.
Web, mobile, and backend teams use the same control plane. Different surfaces, identical guarantees.
Add a single script tag to your site. We render the maintenance overlay on demand, with full control over styling and copy. Active users see the change without refreshing.
<scriptsrc="https://maintenance.dev/maintenance.js"data-project-id="proj_a3f9c2"></script>
Subscribe your services to project state via WebSocket, or fall back to a REST endpoint. Return the current maintenance status in any response your API serves.
GET /v1/projects/proj_a3f9c2{"in_maintenance": true,"message": "Scheduled maintenance"}
Define a structured JSON payload your iOS or Android app understands. Receive it instantly via WebSocket and render any UX you want — full screen, banner, or modal.
{"in_maintenance": true,"screen": "FULL_SCREEN","title": "Back at 14:00 UTC"}
Configure your branded maintenance experience with a visual editor. Pick colors, set messaging, upload your logo, and preview everything live.

Sign up and create a project in your dashboard. Configure your branded maintenance page or define a custom JSON payload.
Add a script tag, hit a REST endpoint, or subscribe via WebSocket. Same project ID, every surface.
Flip the switch from your dashboard. Maintenance state propagates to every connected user in milliseconds.
Free to start. Production-ready in minutes. Built for teams that take uptime seriously.