The Status API is a public-facing API for determining the status of components and subcomponents in the Zendesk infrastructure.

Authentication is not required for this API.

API path

The path of the Status API differs from the Zendesk v2 APIs. Instead of https://{subdomain}.zendesk.com, which gives you access to your Zendesk instance, the path of the Status API is as follows:

https://status.zendesk.com

The API gives you access to status.zendesk.com rather than your Zendesk instance.

In this guide, endpoints are listed using a partial resource identifier, such as:

GET /api/components/{id_or_tag}?domain={subdomain}.zendesk.com

Prepend the API path to get the full endpoint:

https://status.zendesk.com/api/components/{id_or_tag}?domain={subdomain}.zendesk.com

Rate limit

This API is rate limited to 10 requests per minute.

JSON format

Statuses are represented as JSON objects with the following properties:

Name Type Read-only Mandatory Description
active_incidents array true false See incidents
description string true false Description of the component or subcomponent
id integer true false Id of the component or subcomponent
impact string true false For GET requests only. Allowed values are "minor", "major", "critical", "security", or "no impact".
name string true false Name of the component or subcomponent
pod_id integer true false Id of the pod (point of service) in the Zendesk infrastructure
status string true false For GET requests only. Allowed values are "operational", "impeded", or "inoperative".
subcomponents array true false List of subcomponents. See List subcomponents
tag string true false Generated from the name of the component or subcomponent

Example

{  "active_incidents": null,  "description": "chat",  "id": 23,  "impact": "critical",  "name": "Chat",  "pod_id": 1,  "status": "inoperative",  "subcomponents": [    {      "active_incidents": null,      "component_id": 23,      "description": "Dashboard",      "id": 24,      "name": "Dashboard",      "pod_id": 1,      "tag": "dashboard"    },    {      "active_incidents": null,      "component_id": 23,      "description": "Chat Widget",      "id": 25,      "name": "Chat Widget",      "pod_id": 1,      "tag": "chat_widget"    }  ],  "tag": "chat"}

Subcomponent statuses

Subcomponent statuses are represented by JSON objects with the following properties:

Name Type Description
id integer Id of the subcomponent
component_id integer Id of the parent component
name string Name of the subcomponent
description string Description of the subcomponent
pod_id integer Id of the pod (point of service) in the Zendesk infrastructure
tag string Generated from the name of the subcomponent
status string For GET requests only. Allowed values are "operational", "impeded", or "inoperative"
impact string For GET requests only. Allowed values are "minor", "major", "critical", or "security"
active_incidents string See incidents

Incidents

To view incidents, show_incidents=true must be included in the List components and List subcomponents API calls.

Incidents are represented by JSON objects with the following properties:

Name Type Description
id integer Id of the incident
name string Name of the incident
started_at date Time when the incident started
impact string Allowed values are "minor", "major", "critical", or "security"
status string Allowed values are "operational", "impeded", or "inoperative"
updates array See incident updates

Example

{  "id":         123,  "name":       "Big, Bad Incident",  "started_at": "2018-01-19T22:58:45.126Z",  "status":     "impeded",  "impact":     "minor",  "updates": [    {      "id": 123,      "created_at": "2018-01-19T22:58:45.126Z",      "updated_at": "2018-01-19T23:18:11.156Z",      "description": "Incident Update 1",      "incident_id": 456    },    {      "id": 456,      "created_at": "2018-01-19T22:58:55.126Z",      "updated_at": "2018-01-19T23:19:11.156Z",      "description": "Incident Update 2",      "incident_id": 789    }  ]}

Incident updates

Incident updates are represented by JSON objects with the following properties:

Name Type Description
id integer Id of the incident update
created_at date Time when the incident update was created
updated_at date Time when the incident update was modified
description string Description of the incident update
incident_id integer Id of the incident

Example

{  "id":          123,  "created_at":  "2018-01-19T22:58:45.126Z",  "updated_at":  "2018-01-19T23:18:11.156Z",  "description": "Incident Update",  "incident_id": 456}

List Components

  • GET /api/components?domain={domain}

(Deprecated) For active_incidents to be included in response, include show_incidents=true as follows: GET /api/components?domain={subdomain}.zendesk.com&show_incidents=true

Lists components and their subcomponents. Components are represented by JSON objects with the following properties:

Name Type Comment
id integer Id of the component or subcomponent
name string Name of the component or subcomponent
tag string Generated from the name of the component or subcomponent
description string Description of the component or subcomponent
pod_id integer Id of the pod in the Zendesk infrastructure
subcomponents array List of subcomponents. See List subcomponents
active_incidents array of incidents See incidents

Allowed for

  • Anonymous users

Parameters

Name Type In Required Description
domain string Query true Subdomain
show_incidents boolean Query false To view incidents

Code Samples

curl
curl https://status.zendesk.com/api/components?domain={subdomain}.zendesk.com
Go
import (	"fmt"	"io"	"net/http")
func main() {	url := "https://support.zendesk.com/api/components?domain=mycompany&show_incidents=true"	method := "GET"	req, err := http.NewRequest(method, url, nil)
	if err != nil {		fmt.Println(err)		return	}	req.Header.Add("Content-Type", "application/json")	req.Header.Add("Authorization", "Basic <auth-value>") // Base64 encoded "username:password"
	client := &http.Client {}	res, err := client.Do(req)	if err != nil {		fmt.Println(err)		return	}	defer res.Body.Close()
	body, err := io.ReadAll(res.Body)	if err != nil {		fmt.Println(err)		return	}	fmt.Println(string(body))}
Java
import com.squareup.okhttp.*;OkHttpClient client = new OkHttpClient();HttpUrl.Builder urlBuilder = HttpUrl.parse("https://support.zendesk.com/api/components")		.newBuilder()		.addQueryParameter("domain", "mycompany")		.addQueryParameter("show_incidents", "true");
Request request = new Request.Builder()		.url(urlBuilder.build())		.method("GET", null)		.addHeader("Content-Type", "application/json")		.addHeader("Authorization", Credentials.basic("your-email", "your-password"))		.build();Response response = client.newCall(request).execute();
Nodejs
var axios = require('axios');
var config = {  method: 'GET',  url: 'https://support.zendesk.com/api/components',  headers: {	'Content-Type': 'application/json',	'Authorization': 'Basic <auth-value>', // Base64 encoded "username:password"  },  params: {    'domain': 'mycompany',    'show_incidents': 'true',  },};
axios(config).then(function (response) {  console.log(JSON.stringify(response.data));}).catch(function (error) {  console.log(error);});
Python
import requests
url = "https://support.zendesk.com/api/components?domain=mycompany&show_incidents=true"headers = {	"Content-Type": "application/json",}
response = requests.request(	"GET",	url,	auth=('<username>', '<password>'),	headers=headers)
print(response.text)
Ruby
require "net/http"uri = URI("https://support.zendesk.com/api/components")uri.query = URI.encode_www_form("domain": "mycompany", "show_incidents": "true")request = Net::HTTP::Get.new(uri, "Content-Type": "application/json")request.basic_auth "username", "password"response = Net::HTTP.start uri.hostname, uri.port, use_ssl: true do |http|	http.request(request)end

Example response(s)

200 OK
// Status 200 OK
{  "components": [    {      "active_incidents": [        {          "id": 789,          "impact": "major",          "name": "Incident 1",          "started_at": "2018-01-19T21:01:31.063Z",          "status": "operational",          "updates": [            {              "created_at": "2018-01-19T22:58:45.126Z",              "description": "Incident Update",              "id": 123,              "incident_id": 456,              "updated_at": "2018-01-19T23:18:11.156Z"            }          ]        }      ],      "description": "chat",      "id": 23,      "name": "Chat",      "pod_id": 1,      "subcomponents": [        {          "active_incidents": null,          "component_id": 23,          "description": "Dashboard",          "id": 24,          "name": "Dashboard",          "pod_id": 1,          "tag": "dashboard"        },        {          "active_incidents": null,          "component_id": 23,          "description": "Chat Widget",          "id": 25,          "name": "Chat Widget",          "pod_id": 1,          "tag": "chat_widget"        }      ],      "tag": "chat"    },    {      "active_incidents": null,      "description": "Explore",      "id": 58,      "name": "Explore",      "pod_id": 1,      "subcomponents": [        {          "active_incidents": null,          "component_id": 58,          "description": "Data Extraction & Transformation",          "id": 59,          "name": "Data Extraction & Transformation",          "pod_id": 1,          "tag": "data_extraction_transformation"        }      ],      "tag": "explore"    }  ]}

Show Component Status

  • GET /api/components/{component_id_or_tag}?domain={domain}

(Deprecated) Use the List components endpoint to get the id or tag of a component.

Allowed for

  • Anonymous users

Parameters

Name Type In Required Description
domain string Query true Subdomain
component_id_or_tag string Path true ID or name of component

Code Samples

curl
curl https://status.zendesk.com/api/components/{component_id_or_tag}?domain={subdomain}.zendesk.com
Go
import (	"fmt"	"io"	"net/http")
func main() {	url := "https://support.zendesk.com/api/components/chat_widget?domain=mycompany"	method := "GET"	req, err := http.NewRequest(method, url, nil)
	if err != nil {		fmt.Println(err)		return	}	req.Header.Add("Content-Type", "application/json")	req.Header.Add("Authorization", "Basic <auth-value>") // Base64 encoded "username:password"
	client := &http.Client {}	res, err := client.Do(req)	if err != nil {		fmt.Println(err)		return	}	defer res.Body.Close()
	body, err := io.ReadAll(res.Body)	if err != nil {		fmt.Println(err)		return	}	fmt.Println(string(body))}
Java
import com.squareup.okhttp.*;OkHttpClient client = new OkHttpClient();HttpUrl.Builder urlBuilder = HttpUrl.parse("https://support.zendesk.com/api/components/chat_widget")		.newBuilder()		.addQueryParameter("domain", "mycompany");
Request request = new Request.Builder()		.url(urlBuilder.build())		.method("GET", null)		.addHeader("Content-Type", "application/json")		.addHeader("Authorization", Credentials.basic("your-email", "your-password"))		.build();Response response = client.newCall(request).execute();
Nodejs
var axios = require('axios');
var config = {  method: 'GET',  url: 'https://support.zendesk.com/api/components/chat_widget',  headers: {	'Content-Type': 'application/json',	'Authorization': 'Basic <auth-value>', // Base64 encoded "username:password"  },  params: {    'domain': 'mycompany',  },};
axios(config).then(function (response) {  console.log(JSON.stringify(response.data));}).catch(function (error) {  console.log(error);});
Python
import requests
url = "https://support.zendesk.com/api/components/chat_widget?domain=mycompany"headers = {	"Content-Type": "application/json",}
response = requests.request(	"GET",	url,	auth=('<username>', '<password>'),	headers=headers)
print(response.text)
Ruby
require "net/http"uri = URI("https://support.zendesk.com/api/components/chat_widget")uri.query = URI.encode_www_form("domain": "mycompany")request = Net::HTTP::Get.new(uri, "Content-Type": "application/json")request.basic_auth "username", "password"response = Net::HTTP.start uri.hostname, uri.port, use_ssl: true do |http|	http.request(request)end

Example response(s)

200 OK
// Status 200 OK
{  "active_incidents": [    {      "id": 789,      "impact": "major",      "name": "Incident 1",      "started_at": "2018-01-19T21:01:31.063Z",      "status": "operational",      "updates": [        {          "created_at": "2018-01-19T22:58:45.126Z",          "description": "Incident Update",          "id": 123,          "incident_id": 456,          "updated_at": "2018-01-19T23:18:11.156Z"        }      ]    }  ],  "id": 50,  "impact": "major",  "name": "Analytics",  "pod_id": 456,  "status": "operational",  "tag": "Widget"}

List Subcomponents

  • GET /api/components/{component_id_or_tag}/subcomponents?domain={domain}

(Deprecated) For active_incidents to be included in response, include show_incidents=true as follows: GET /api/components/{component_id_or_tag}/subcomponents?domain={subdomain}.zendesk.com&show_incidents=true

Lists the subcomponents of a specified component. Use the List components endpoint to get the id or tag of a component.

Subcomponents are represented by JSON objects with the following properties:

Name Type Comment
id integer Id of the component or subcomponent
name string Name of the component or subcomponent
tag string Generated from the name of the component or subcomponent
description string Description of the component or subcomponent
component_id integer Id of the parent component
pod_id integer Id of the pod in the Zendesk infrastructure
active_incidents array of incidents See incidents

Allowed for

  • Anonymous users

Parameters

Name Type In Required Description
domain string Query true Subdomain
show_incidents boolean Query false To view incidents
component_id_or_tag string Path true ID or name of component

Code Samples

curl
curl https://status.zendesk.com/api/components/{component_id_or_tag}/subcomponents?domain={subdomain}.zendesk.com
Go
import (	"fmt"	"io"	"net/http")
func main() {	url := "https://support.zendesk.com/api/components/chat_widget/subcomponents?domain=mycompany&show_incidents=true"	method := "GET"	req, err := http.NewRequest(method, url, nil)
	if err != nil {		fmt.Println(err)		return	}	req.Header.Add("Content-Type", "application/json")	req.Header.Add("Authorization", "Basic <auth-value>") // Base64 encoded "username:password"
	client := &http.Client {}	res, err := client.Do(req)	if err != nil {		fmt.Println(err)		return	}	defer res.Body.Close()
	body, err := io.ReadAll(res.Body)	if err != nil {		fmt.Println(err)		return	}	fmt.Println(string(body))}
Java
import com.squareup.okhttp.*;OkHttpClient client = new OkHttpClient();HttpUrl.Builder urlBuilder = HttpUrl.parse("https://support.zendesk.com/api/components/chat_widget/subcomponents")		.newBuilder()		.addQueryParameter("domain", "mycompany")		.addQueryParameter("show_incidents", "true");
Request request = new Request.Builder()		.url(urlBuilder.build())		.method("GET", null)		.addHeader("Content-Type", "application/json")		.addHeader("Authorization", Credentials.basic("your-email", "your-password"))		.build();Response response = client.newCall(request).execute();
Nodejs
var axios = require('axios');
var config = {  method: 'GET',  url: 'https://support.zendesk.com/api/components/chat_widget/subcomponents',  headers: {	'Content-Type': 'application/json',	'Authorization': 'Basic <auth-value>', // Base64 encoded "username:password"  },  params: {    'domain': 'mycompany',    'show_incidents': 'true',  },};
axios(config).then(function (response) {  console.log(JSON.stringify(response.data));}).catch(function (error) {  console.log(error);});
Python
import requests
url = "https://support.zendesk.com/api/components/chat_widget/subcomponents?domain=mycompany&show_incidents=true"headers = {	"Content-Type": "application/json",}
response = requests.request(	"GET",	url,	auth=('<username>', '<password>'),	headers=headers)
print(response.text)
Ruby
require "net/http"uri = URI("https://support.zendesk.com/api/components/chat_widget/subcomponents")uri.query = URI.encode_www_form("domain": "mycompany", "show_incidents": "true")request = Net::HTTP::Get.new(uri, "Content-Type": "application/json")request.basic_auth "username", "password"response = Net::HTTP.start uri.hostname, uri.port, use_ssl: true do |http|	http.request(request)end

Example response(s)

200 OK
// Status 200 OK
{  "subcomponents": [    {      "active_incidents": [        {          "id": 789,          "impact": "major",          "name": "Incident 1",          "started_at": "2018-01-19T21:01:31.063Z",          "status": "operational",          "updates": [            {              "created_at": "2018-01-19T22:58:45.126Z",              "description": "Incident Update",              "id": 123,              "incident_id": 456,              "updated_at": "2018-01-19T23:18:11.156Z"            }          ]        }      ],      "component_id": 23,      "description": "Dashboard",      "id": 24,      "name": "Dashboard",      "pod_id": 1,      "tag": "dashboard"    },    {      "active_incidents": null,      "component_id": 23,      "description": "Chat Widget",      "id": 25,      "name": "Chat Widget",      "pod_id": 1,      "tag": "chat_widget"    },    {      "active_incidents": null,      "component_id": 23,      "description": "Static Assets",      "id": 26,      "name": "Static Assets",      "pod_id": 1,      "tag": "static_assets"    },    {      "active_incidents": null,      "component_id": 23,      "description": "Mobile Apps",      "id": 27,      "name": "Mobile Apps",      "pod_id": 1,      "tag": "mobile_apps"    },    {      "active_incidents": null,      "component_id": 23,      "description": "Chat SDK",      "id": 28,      "name": "Chat SDK",      "pod_id": 1,      "tag": "chat_sdk"    },    {      "active_incidents": null,      "component_id": 23,      "description": "API",      "id": 30,      "name": "API",      "pod_id": 1,      "tag": "api"    },    {      "active_incidents": null,      "component_id": 23,      "description": "Chat Conversation API",      "id": 57,      "name": "Chat Conversation API",      "pod_id": 1,      "tag": "chat_conversation_api"    }  ]}

Show Subcomponent Status

  • GET /api/components/{component_id_or_tag}/subcomponents/{subcomponent_id_or_tag}?domain={domain}

(Deprecated) Use the List subcomponents endpoint to get the id or tag of a subcomponent.

Allowed for

  • Anonymous users

Parameters

Name Type In Required Description
domain string Query true Subdomain
component_id_or_tag string Path true ID or name of component
subcomponent_id_or_tag string Path true ID or name of subcomponent

Code Samples

curl
curl https://status.zendesk.com/api/components/{component_id_or_tag}/subcomponents?domain={subdomain}.zendesk.com
Go
import (	"fmt"	"io"	"net/http")
func main() {	url := "https://support.zendesk.com/api/components/chat_widget/subcomponents/dashboard?domain=mycompany"	method := "GET"	req, err := http.NewRequest(method, url, nil)
	if err != nil {		fmt.Println(err)		return	}	req.Header.Add("Content-Type", "application/json")	req.Header.Add("Authorization", "Basic <auth-value>") // Base64 encoded "username:password"
	client := &http.Client {}	res, err := client.Do(req)	if err != nil {		fmt.Println(err)		return	}	defer res.Body.Close()
	body, err := io.ReadAll(res.Body)	if err != nil {		fmt.Println(err)		return	}	fmt.Println(string(body))}
Java
import com.squareup.okhttp.*;OkHttpClient client = new OkHttpClient();HttpUrl.Builder urlBuilder = HttpUrl.parse("https://support.zendesk.com/api/components/chat_widget/subcomponents/dashboard")		.newBuilder()		.addQueryParameter("domain", "mycompany");
Request request = new Request.Builder()		.url(urlBuilder.build())		.method("GET", null)		.addHeader("Content-Type", "application/json")		.addHeader("Authorization", Credentials.basic("your-email", "your-password"))		.build();Response response = client.newCall(request).execute();
Nodejs
var axios = require('axios');
var config = {  method: 'GET',  url: 'https://support.zendesk.com/api/components/chat_widget/subcomponents/dashboard',  headers: {	'Content-Type': 'application/json',	'Authorization': 'Basic <auth-value>', // Base64 encoded "username:password"  },  params: {    'domain': 'mycompany',  },};
axios(config).then(function (response) {  console.log(JSON.stringify(response.data));}).catch(function (error) {  console.log(error);});
Python
import requests
url = "https://support.zendesk.com/api/components/chat_widget/subcomponents/dashboard?domain=mycompany"headers = {	"Content-Type": "application/json",}
response = requests.request(	"GET",	url,	auth=('<username>', '<password>'),	headers=headers)
print(response.text)
Ruby
require "net/http"uri = URI("https://support.zendesk.com/api/components/chat_widget/subcomponents/dashboard")uri.query = URI.encode_www_form("domain": "mycompany")request = Net::HTTP::Get.new(uri, "Content-Type": "application/json")request.basic_auth "username", "password"response = Net::HTTP.start uri.hostname, uri.port, use_ssl: true do |http|	http.request(request)end

Example response(s)

200 OK
// Status 200 OK
{  "active_incidents": [    {      "id": 789,      "impact": "major",      "name": "Incident 1",      "started_at": "2018-01-19T21:01:31.063Z",      "status": "operational",      "updates": [        {          "created_at": "2018-01-19T22:58:45.126Z",          "description": "Incident Update",          "id": 123,          "incident_id": 456,          "updated_at": "2018-01-19T23:18:11.156Z"        }      ]    }  ],  "component_id": 23,  "description": "Dashboard",  "id": 24,  "name": "Dashboard",  "pod_id": 1,  "tag": "dashboard"}

List Active Incidents

  • GET /api/incidents/active

Use the List Active Incidents endpoint to get all active incidents. Optionally filter your results by subdomain by appending ?subdomain={subdomain}

Parameters

Name Type In Required Description
subdomain string Query false Subdomain

Code Samples

curl
curl https://status.zendesk.com/api/incidents/active
Go
import (	"fmt"	"io"	"net/http")
func main() {	url := "https://support.zendesk.com/api/incidents/active?subdomain=mycompany"	method := "GET"	req, err := http.NewRequest(method, url, nil)
	if err != nil {		fmt.Println(err)		return	}	req.Header.Add("Content-Type", "application/json")	req.Header.Add("Authorization", "Basic <auth-value>") // Base64 encoded "username:password"
	client := &http.Client {}	res, err := client.Do(req)	if err != nil {		fmt.Println(err)		return	}	defer res.Body.Close()
	body, err := io.ReadAll(res.Body)	if err != nil {		fmt.Println(err)		return	}	fmt.Println(string(body))}
Java
import com.squareup.okhttp.*;OkHttpClient client = new OkHttpClient();HttpUrl.Builder urlBuilder = HttpUrl.parse("https://support.zendesk.com/api/incidents/active")		.newBuilder()		.addQueryParameter("subdomain", "mycompany");
Request request = new Request.Builder()		.url(urlBuilder.build())		.method("GET", null)		.addHeader("Content-Type", "application/json")		.addHeader("Authorization", Credentials.basic("your-email", "your-password"))		.build();Response response = client.newCall(request).execute();
Nodejs
var axios = require('axios');
var config = {  method: 'GET',  url: 'https://support.zendesk.com/api/incidents/active',  headers: {	'Content-Type': 'application/json',	'Authorization': 'Basic <auth-value>', // Base64 encoded "username:password"  },  params: {    'subdomain': 'mycompany',  },};
axios(config).then(function (response) {  console.log(JSON.stringify(response.data));}).catch(function (error) {  console.log(error);});
Python
import requests
url = "https://support.zendesk.com/api/incidents/active?subdomain=mycompany"headers = {	"Content-Type": "application/json",}
response = requests.request(	"GET",	url,	auth=('<username>', '<password>'),	headers=headers)
print(response.text)
Ruby
require "net/http"uri = URI("https://support.zendesk.com/api/incidents/active")uri.query = URI.encode_www_form("subdomain": "mycompany")request = Net::HTTP::Get.new(uri, "Content-Type": "application/json")request.basic_auth "username", "password"response = Net::HTTP.start uri.hostname, uri.port, use_ssl: true do |http|	http.request(request)end

Example response(s)

200 OK
// Status 200 OK
{  "data": [    {      "attributes": {        "degradation": false,        "impact": "major",        "outage": true,        "postmortem": "",        "resolved_at": null,        "started_at": "2022-05-11T19:56:49.000Z",        "status": "investigating",        "title": "Big, Bad incident"      },      "id": "247",      "relationships": {        "incident_services": {          "data": [            {              "id": "5032",              "type": "incident_service"            },            {              "id": "5033",              "type": "incident_service"            },            {              "id": "5034",              "type": "incident_service"            }          ]        },        "incident_updates": {          "data": [            {              "id": "7",              "type": "incident_update"            },            {              "id": "8",              "type": "incident_update"            }          ]        }      },      "type": "incident"    }  ],  "included": [    {      "attributes": {        "created_at": "2022-05-11T19:58:13.000Z",        "description": "This is an incident description"      },      "id": "7",      "type": "incident_update"    },    {      "attributes": {        "created_at": "2022-05-11T19:58:13.000Z",        "description": "First Incident Update"      },      "id": "8",      "type": "incident_update"    },    {      "attributes": {        "name": "Ticketing",        "slug": "support-ticketing"      },      "id": "2",      "type": "service"    },    {      "attributes": {        "degradation": false,        "incident_id": "247",        "outage": true,        "resolved_at": null,        "service_id": "2",        "started_at": "2022-05-11T19:56:49.000Z"      },      "id": "5052",      "relationships": {        "service": {          "data": {            "id": "2",            "type": "service"          }        }      },      "type": "incident_service"    },    {      "attributes": {        "name": "API",        "slug": "support-api"      },      "id": "10",      "type": "service"    },    {      "attributes": {        "degradation": false,        "incident_id": "247",        "outage": true,        "resolved_at": null,        "service_id": "10",        "started_at": "2022-05-11T19:56:49.000Z"      },      "id": "5053",      "relationships": {        "service": {          "data": {            "id": "10",            "type": "service"          }        }      },      "type": "incident_service"    },    {      "attributes": {        "name": "Support",        "slug": "support"      },      "id": "1",      "type": "service"    },    {      "attributes": {        "degradation": false,        "incident_id": "247",        "outage": true,        "resolved_at": null,        "service_id": "1",        "started_at": "2022-05-11T19:56:49.000Z"      },      "id": "5054",      "relationships": {        "service": {          "data": {            "id": "1",            "type": "service"          }        }      },      "type": "incident_service"    }  ]}

List Maintenance Incidents

  • GET /api/incidents/maintenance

Use the List Maintenance Incidents endpoint to get all upcoming maintenance incidents. Optionally filter your results by subdomain by appending ?subdomain={subdomain}

Parameters

Name Type In Required Description
subdomain string Query false Subdomain

Code Samples

curl
curl https://status.zendesk.com/api/incidents/maintenance
Go
import (	"fmt"	"io"	"net/http")
func main() {	url := "https://support.zendesk.com/api/incidents/maintenance?subdomain=mycompany"	method := "GET"	req, err := http.NewRequest(method, url, nil)
	if err != nil {		fmt.Println(err)		return	}	req.Header.Add("Content-Type", "application/json")	req.Header.Add("Authorization", "Basic <auth-value>") // Base64 encoded "username:password"
	client := &http.Client {}	res, err := client.Do(req)	if err != nil {		fmt.Println(err)		return	}	defer res.Body.Close()
	body, err := io.ReadAll(res.Body)	if err != nil {		fmt.Println(err)		return	}	fmt.Println(string(body))}
Java
import com.squareup.okhttp.*;OkHttpClient client = new OkHttpClient();HttpUrl.Builder urlBuilder = HttpUrl.parse("https://support.zendesk.com/api/incidents/maintenance")		.newBuilder()		.addQueryParameter("subdomain", "mycompany");
Request request = new Request.Builder()		.url(urlBuilder.build())		.method("GET", null)		.addHeader("Content-Type", "application/json")		.addHeader("Authorization", Credentials.basic("your-email", "your-password"))		.build();Response response = client.newCall(request).execute();
Nodejs
var