Get Maintenance Schedule
curl --request GET \
--url https://api.kraken.com/0/public/MaintenanceScheduleimport requests
url = "https://api.kraken.com/0/public/MaintenanceSchedule"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.kraken.com/0/public/MaintenanceSchedule', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.kraken.com/0/public/MaintenanceSchedule"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"error": [],
"result": {
"events": [
{
"event_id": 21,
"title": "Scheduled Maintenance - Website",
"expected_start_utc": "2026-05-11T09:00:00Z",
"expected_end_utc": "2026-05-11T10:00:00Z",
"time_to_start_s": 1740,
"phase": "approaching_30m",
"affected_services": [
"spot_trading"
],
"order_submission": "allowed",
"recommended_action": "reduce_activity",
"cancel_before_utc": "2026-05-11T08:55:00Z",
"source_url": "https://status.kraken.com/incidents/b7k2r9wqmn41"
},
{
"event_id": 34,
"title": "REST API infrastructure upgrade",
"expected_start_utc": "2026-05-14T02:00:00Z",
"expected_end_utc": "2026-05-14T02:30:00Z",
"time_to_start_s": 236940,
"phase": "announced",
"affected_services": [
"spot_rest",
"spot_ws"
],
"order_submission": "allowed",
"recommended_action": "continue",
"cancel_before_utc": "2026-05-14T01:55:00Z",
"source_url": "https://status.kraken.com/incidents/d3f8h1xpqv62"
}
]
}
}Market Data
Get Maintenance Schedule
Get all scheduled maintenance events in the next 7-day window, ordered by
expected_start_utc ascending.
This is the planning view. It differs from the upcoming_maintenance array
on Get System Status,
which covers only the next 72 hours.
Each entry carries the same fields as an upcoming_maintenance entry,
including the derived phase and the order_submission /
recommended_action guidance for that phase.
Emergency incidents are not scheduled and therefore never appear here — read
the emergency array on Get System Status instead.
GET
/
public
/
MaintenanceSchedule
Get Maintenance Schedule
curl --request GET \
--url https://api.kraken.com/0/public/MaintenanceScheduleimport requests
url = "https://api.kraken.com/0/public/MaintenanceSchedule"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.kraken.com/0/public/MaintenanceSchedule', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.kraken.com/0/public/MaintenanceSchedule"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"error": [],
"result": {
"events": [
{
"event_id": 21,
"title": "Scheduled Maintenance - Website",
"expected_start_utc": "2026-05-11T09:00:00Z",
"expected_end_utc": "2026-05-11T10:00:00Z",
"time_to_start_s": 1740,
"phase": "approaching_30m",
"affected_services": [
"spot_trading"
],
"order_submission": "allowed",
"recommended_action": "reduce_activity",
"cancel_before_utc": "2026-05-11T08:55:00Z",
"source_url": "https://status.kraken.com/incidents/b7k2r9wqmn41"
},
{
"event_id": 34,
"title": "REST API infrastructure upgrade",
"expected_start_utc": "2026-05-14T02:00:00Z",
"expected_end_utc": "2026-05-14T02:30:00Z",
"time_to_start_s": 236940,
"phase": "announced",
"affected_services": [
"spot_rest",
"spot_ws"
],
"order_submission": "allowed",
"recommended_action": "continue",
"cancel_before_utc": "2026-05-14T01:55:00Z",
"source_url": "https://status.kraken.com/incidents/d3f8h1xpqv62"
}
]
}
}Was this page helpful?