# Status Pages API Reference

Source: https://instatus.com/help/api/status-pages

## Get your status pages

**Endpoint:**

```bash
GET /v2/pages?page=:page&per_page=:per_page
```

- The default page number is 1.
- The default per_page number is 50 and the maximum is 100 items per page.

**Example response:**

```json
[
  {
    "id": "ckf01fonve9i40a32oas5b0uw",
    "subdomain": "nasa",
    "name": "Nasa",
    "logoUrl": null,
    "faviconUrl": null,
    "websiteUrl": null,
    "customDomain": null,
    "publicEmail": null,
    "twitter": null,
    "status": "UP",
    "subscribeBySms": null,
    "language": "en",
    "useLargeHeader": true,
    "brandColor": "#111",
    "okColor": "rgba(51, 177, 126, 1)",
    "disruptedColor": null,
    "degradedColor": null,
    "downColor": null,
    "noticeColor": null,
    "unknownColor": null,
    "googleAnalytics": null,
    "smsService": null,
    "htmlInMeta": null,
    "htmlAboveHeader": null,
    "htmlBelowHeader": null,
    "htmlAboveFooter": null,
    "htmlBelowFooter": null,
    "htmlBelowSummary": null,
    "launchDate": null,
    "cssGlobal": null,
    "onboarded": null,
    "createdAt": "2020-09-12T19:03:48.379Z",
    "updatedAt": "2020-09-12T19:04:03.731Z"
  }
]
```

## Create a status page

**Endpoint:**

```bash
POST /v1/pages
```

**Example request:**

```json
{
  "email": "ali@instatus.com",
  "name": "Nasa",
  "subdomain": "nasa",
  "components": ["Website", "App", "API"],
  "logoUrl": "https://instatus.com/sample.png",
  "faviconUrl": "https://instatus.com/favicon-32x32.png",
  "websiteUrl": "https://instatus.com",
  "language": "en",
  "useLargeHeader": true,
  "brandColor": "#111",
  "okColor": "#33B17E",
  "disruptedColor": "#FF8C03",
  "degradedColor": "#ECC94B",
  "downColor": "#DC123D",
  "noticeColor": "#70808F",
  "unknownColor": "#DFE0E1",
  "googleAnalytics": "UA-00000000-1",
  "subscribeBySms": true,
  "smsService": "twilio",
  "twilioSid": "YOUR_TWILIO_SID",
  "twilioToken": "YOUR_TWILIO_TOKEN",
  "twilioSender": "YOUR_TWILIO_SENDER",
  "esendexUsername": "YOUR_ESENDEX_USERNAME",
  "esendexPassword": "YOUR_ESENDEX_PASSWORD",
  "esendexAccountRef": "YOUR_ESENDEX_ACCOUNT_REF",
  "nexmoKey": null,
  "nexmoSecret": null,
  "nexmoSender": null,
  "htmlInMeta": null,
  "htmlAboveHeader": null,
  "htmlBelowHeader": null,
  "htmlAboveFooter": null,
  "htmlBelowFooter": null,
  "htmlBelowSummary": null,
  "cssGlobal": null,
  "launchDate": null,
  "dateFormat": "MMMMMM d, yyyy",
  "dateFormatShort": "MMM yyyy",
  "timeFormat": "p"
}
```

**Example response:**

```json
{
  "id": "ckg8auvrglcx309501fcjb2vl",
  "createdAt": "2020-10-13T18:29:25.708Z",
  "subdomain": "nasa",
  "logoUrl": null,
  "faviconUrl": null,
  "websiteUrl": null,
  "name": "Nasa",
  "status": "UP",
  "color": null,
  "language": null,
  "googleAnalytics": null,
  "publicEmail": null,
  "customDomain": null,
  "useLargeHeader": true,
  "disableDarkMode": null,
  "twitter": null,
  "subscribeBySms": null,
  "brandColor": null,
  "okColor": null,
  "disruptedColor": null,
  "downColor": null,
  "degradedColor": null,
  "noticeColor": null,
  "htmlInMeta": null,
  "htmlAboveHeader": null,
  "htmlBelowHeader": null,
  "htmlAboveFooter": null,
  "htmlBelowFooter": null,
  "htmlBelowSummary": null,
  "cssGlobal": null,
  "onboarded": null,
  "launchDate": null,
  "dateFormat": "MMMMMM d, yyyy",
  "dateFormatShort": "MMM yyyy",
  "timeFormat": "p",
  "private": false,
  "useAllowList": false,
  "allowList": [],
  "components": [
    {
      "id": "ckg8auwlzlcxd09506r3g6y8z",
      "name": "Website",
      "status": "OPERATIONAL",
      "showUptime": true,
      "order": null,
      "group": null,
      "incidents": []
    },
    {
      "id": "ckg8auwv7lcxm09506jjate2o",
      "name": "App",
      "status": "OPERATIONAL",
      "showUptime": true,
      "order": null,
      "group": null,
      "incidents": []
    },
    {
      "id": "ckg8aux4oo3ik0a35parnbunk",
      "name": "API",
      "status": "OPERATIONAL",
      "showUptime": true,
      "order": null,
      "group": null,
      "incidents": []
    }
  ]
}
```

## Update a status page

**Endpoint:**

```bash
PUT /v2/:page_id
```

**Example request:**

```json
{
  "id": "ckg8auvrglcx309501fcjb2vl",
  "name": "Nasa",
  "status": "UP",
  "subdomain": "nasa",
  "logoUrl": "https://instatus.com/sample.png",
  "faviconUrl": "https://instatus.com/favicon-32x32.png",
  "websiteUrl": "https://instatus.com",
  "language": "en",
  "publicEmail": "hello@nasa.gov",
  "useLargeHeader": true,
  "brandColor": "#111",
  "okColor": "#33B17E",
  "disruptedColor": "#FF8C03",
  "degradedColor": "#ECC94B",
  "downColor": "#DC123D",
  "noticeColor": "#70808F",
  "unknownColor": "#DFE0E1",
  "googleAnalytics": "UA-00000000-1",
  "subscribeBySms": true,
  "smsService": "twilio",
  "twilioSid": "YOUR_TWILIO_SID",
  "twilioToken": "YOUR_TWILIO_TOKEN",
  "twilioSender": "YOUR_TWILIO_SENDER",
  "esendexUsername": "YOUR_ESENDEX_USERNAME",
  "esendexPassword": "YOUR_ESENDEX_PASSWORD",
  "esendexAccountRef": "YOUR_ESENDEX_ACCOUNT_REF",
  "nexmoKey": null,
  "nexmoSecret": null,
  "nexmoSender": null,
  "htmlInMeta": null,
  "htmlAboveHeader": null,
  "htmlBelowHeader": null,
  "htmlAboveFooter": null,
  "htmlBelowFooter": null,
  "htmlBelowSummary": null,
  "cssGlobal": null,
  "launchDate": null,
  "dateFormat": "MMMMMM d, yyyy",
  "dateFormatShort": "MMM yyyy",
  "timeFormat": "p",
  "private": false,
  "useAllowList": false,
  "subscriberConfirmationMode": "REQUIRED",
  "translations": {
    "name": {
      "fr": "nasa"
    }
  }
}
```

**Confirmation emails**

Use `subscriberConfirmationMode` to control what happens when someone subscribes:

- `REQUIRED` — subscribers must confirm via email before receiving updates. Default.
- `WELCOME` — subscribers are added immediately and receive a welcome email. Pro only.
- `NONE` — subscribers are added immediately with no email. Pro only.

The first time a page switches to `WELCOME` or `NONE`, Instatus reviews the request before it takes effect. Most pages are approved automatically; otherwise our team reviews within 2 days and, until then, subscribers keep receiving a confirmation email.

`autoConfirmSubscribers` is deprecated. For backwards compatibility, `true` maps to `NONE` and `false` maps to `REQUIRED`.

**Example response:**

```json
{
  "id": "ckg8auvrglcx309501fcjb2vl",
  "createdAt": "2020-10-13T18:29:25.708Z",
  "subdomain": "nasa",
  "name": "Nasa",
  "status": "UP",
  "logoUrl": null,
  "faviconUrl": null,
  "websiteUrl": null,
  "color": null,
  "language": null,
  "googleAnalytics": null,
  "publicEmail": "hello@nasa.gov",
  "customDomain": null,
  "useLargeHeader": true,
  "disableDarkMode": null,
  "twitter": null,
  "subscribeBySms": null,
  "brandColor": null,
  "okColor": null,
  "disruptedColor": null,
  "downColor": null,
  "degradedColor": null,
  "noticeColor": null,
  "htmlInMeta": null,
  "htmlAboveHeader": null,
  "htmlBelowHeader": null,
  "htmlAboveFooter": null,
  "htmlBelowFooter": null,
  "htmlBelowSummary": null,
  "cssGlobal": null,
  "onboarded": null,
  "launchDate": null,
  "dateFormat": "MMMMMM d, yyyy",
  "dateFormatShort": "MMM yyyy",
  "timeFormat": "p",
  "private": false,
  "useAllowList": false,
  "allowList": [],
  "subscriberConfirmationMode": "REQUIRED",
  "components": [
    {
      "id": "ckg8auwlzlcxd09506r3g6y8z",
      "name": "Website",
      "status": "OPERATIONAL",
      "showUptime": true,
      "order": null,
      "group": null,
      "incidents": []
    },
    {
      "id": "ckg8auwv7lcxm09506jjate2o",
      "name": "App",
      "status": "OPERATIONAL",
      "showUptime": true,
      "order": null,
      "group": null,
      "incidents": []
    },
    {
      "id": "ckg8aux4oo3ik0a35parnbunk",
      "name": "API",
      "status": "OPERATIONAL",
      "showUptime": true,
      "order": null,
      "group": null,
      "incidents": []
    }
  ],
  "translations": {
    "name": {
      "fr": "nasa"
    }
  }
}
```

## Delete a status page

**Endpoint:**

```bash
DELETE /v2/:page_id
```

**Example response:**

```json
{
  "id": "ckf1d4f6a4aaf0a356vqg0rdm"
}
```
