For the complete documentation index, see llms.txt. This page is also available as Markdown.

Services

Services endpoints

List services

get
/status_pages/{subdomain}/services
Authorizations
AuthorizationstringRequired
Path parameters
subdomainstringRequired

The subdomain of your status page.

You can find this under your status page settings, the Subdomain field is found under the "Domain name" section. Alternatively find it in the URL of your admin dashboard (e.g. statuspal.io/admin/subdomain).

Responses
200

The list of Services

application/json
get/status_pages/{subdomain}/services
GET /api/v2/status_pages/{subdomain}/services HTTP/1.1
Host: statuspal.io
Authorization: YOUR_API_KEY
Accept: */*
{
  "services": [
    {
      "id": 1,
      "name": "Monitoring service",
      "description": "Some description",
      "private_description": "Some private description",
      "parent_id": 1,
      "current_incident_type": "major",
      "monitoring": null,
      "webhook_monitoring_service": "status-cake",
      "webhook_custom_jsonpath_settings": {
        "jsonpath": "$.status",
        "expected_result": "\"up\""
      },
      "inbound_email_address": "text",
      "incoming_webhook_url": "text",
      "ping_url": "text",
      "incident_type": "major",
      "parent_incident_type": "major",
      "is_up": true,
      "pause_monitoring_during_maintenances": true,
      "inbound_email_id": "text",
      "auto_incident": true,
      "auto_notify": true,
      "children_ids": [
        1
      ],
      "translations": {
        "en": {
          "name": "English Name",
          "description": "English description"
        },
        "es": {
          "name": "Spanish Name",
          "description": "Spanish description"
        }
      },
      "private": true,
      "display_uptime_graph": true,
      "display_response_time_chart": true,
      "order": 1,
      "notification_recipients": [],
      "monitoring_options": {
        "method": "HEAD",
        "headers": [
          {
            "key": "accept-language",
            "value": "en"
          }
        ],
        "keyword_down": "down",
        "keyword_up": "up"
      }
    }
  ],
  "links": {
    "next": "text",
    "prev": "text"
  },
  "meta": {
    "total_count": 100
  }
}

Adds a new service

post
/status_pages/{subdomain}/services
Authorizations
AuthorizationstringRequired
Path parameters
subdomainstringRequired

The subdomain of your status page.

You can find this under your status page settings, the Subdomain field is found under the "Domain name" section. Alternatively find it in the URL of your admin dashboard (e.g. statuspal.io/admin/subdomain).

Body
Responses
201

The service was created

application/json
post/status_pages/{subdomain}/services
POST /api/v2/status_pages/{subdomain}/services HTTP/1.1
Host: statuspal.io
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 836

{
  "service": {
    "name": "Monitoring service",
    "description": "Some description",
    "private_description": "Some private description",
    "parent_id": 1,
    "monitoring": null,
    "webhook_monitoring_service": "status-cake",
    "webhook_custom_jsonpath_settings": {
      "jsonpath": "$.status",
      "expected_result": "\"up\""
    },
    "ping_url": "text",
    "incident_type": "major",
    "parent_incident_type": "major",
    "pause_monitoring_during_maintenances": true,
    "auto_incident": true,
    "auto_notify": true,
    "translations": {
      "en": {
        "name": "English Name",
        "description": "English description"
      },
      "es": {
        "name": "Spanish Name",
        "description": "Spanish description"
      }
    },
    "private": true,
    "display_uptime_graph": true,
    "display_response_time_chart": true,
    "order": 1,
    "notification_recipients": [
      1
    ],
    "monitoring_options": {
      "method": "HEAD",
      "headers": [
        {
          "key": "accept-language",
          "value": "en"
        }
      ],
      "keyword_down": "down",
      "keyword_up": "up"
    }
  }
}
{
  "service": {
    "id": 1,
    "name": "Monitoring service",
    "description": "Some description",
    "private_description": "Some private description",
    "parent_id": 1,
    "current_incident_type": "major",
    "monitoring": null,
    "webhook_monitoring_service": "status-cake",
    "webhook_custom_jsonpath_settings": {
      "jsonpath": "$.status",
      "expected_result": "\"up\""
    },
    "inbound_email_address": "text",
    "incoming_webhook_url": "text",
    "ping_url": "text",
    "incident_type": "major",
    "parent_incident_type": "major",
    "is_up": true,
    "pause_monitoring_during_maintenances": true,
    "inbound_email_id": "text",
    "auto_incident": true,
    "auto_notify": true,
    "children_ids": [
      1
    ],
    "translations": {
      "en": {
        "name": "English Name",
        "description": "English description"
      },
      "es": {
        "name": "Spanish Name",
        "description": "Spanish description"
      }
    },
    "private": true,
    "display_uptime_graph": true,
    "display_response_time_chart": true,
    "order": 1,
    "notification_recipients": [],
    "monitoring_options": {
      "method": "HEAD",
      "headers": [
        {
          "key": "accept-language",
          "value": "en"
        }
      ],
      "keyword_down": "down",
      "keyword_up": "up"
    }
  }
}

Get a service

get
/status_pages/{subdomain}/services/{serviceId}
Authorizations
AuthorizationstringRequired
Path parameters
subdomainstringRequired

The subdomain of your status page.

You can find this under your status page settings, the Subdomain field is found under the "Domain name" section. Alternatively find it in the URL of your admin dashboard (e.g. statuspal.io/admin/subdomain).

serviceIdintegerRequired

The ID of a service

Responses
200

The service

application/json
get/status_pages/{subdomain}/services/{serviceId}
GET /api/v2/status_pages/{subdomain}/services/{serviceId} HTTP/1.1
Host: statuspal.io
Authorization: YOUR_API_KEY
Accept: */*
{
  "service": {
    "id": 1,
    "name": "Monitoring service",
    "description": "Some description",
    "private_description": "Some private description",
    "parent_id": 1,
    "current_incident_type": "major",
    "monitoring": null,
    "webhook_monitoring_service": "status-cake",
    "webhook_custom_jsonpath_settings": {
      "jsonpath": "$.status",
      "expected_result": "\"up\""
    },
    "inbound_email_address": "text",
    "incoming_webhook_url": "text",
    "ping_url": "text",
    "incident_type": "major",
    "parent_incident_type": "major",
    "is_up": true,
    "pause_monitoring_during_maintenances": true,
    "inbound_email_id": "text",
    "auto_incident": true,
    "auto_notify": true,
    "children_ids": [
      1
    ],
    "translations": {
      "en": {
        "name": "English Name",
        "description": "English description"
      },
      "es": {
        "name": "Spanish Name",
        "description": "Spanish description"
      }
    },
    "private": true,
    "display_uptime_graph": true,
    "display_response_time_chart": true,
    "order": 1,
    "notification_recipients": [],
    "monitoring_options": {
      "method": "HEAD",
      "headers": [
        {
          "key": "accept-language",
          "value": "en"
        }
      ],
      "keyword_down": "down",
      "keyword_up": "up"
    }
  }
}

Updates existing service

put
/status_pages/{subdomain}/services/{serviceId}
Authorizations
AuthorizationstringRequired
Path parameters
serviceIdintegerRequired

The ID of a service

subdomainstringRequired

The subdomain of your status page.

You can find this under your status page settings, the Subdomain field is found under the "Domain name" section. Alternatively find it in the URL of your admin dashboard (e.g. statuspal.io/admin/subdomain).

Body
Responses
200

The service was updated

application/json
put/status_pages/{subdomain}/services/{serviceId}
PUT /api/v2/status_pages/{subdomain}/services/{serviceId} HTTP/1.1
Host: statuspal.io
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 836

{
  "service": {
    "name": "Monitoring service",
    "description": "Some description",
    "private_description": "Some private description",
    "parent_id": 1,
    "monitoring": null,
    "webhook_monitoring_service": "status-cake",
    "webhook_custom_jsonpath_settings": {
      "jsonpath": "$.status",
      "expected_result": "\"up\""
    },
    "ping_url": "text",
    "incident_type": "major",
    "parent_incident_type": "major",
    "pause_monitoring_during_maintenances": true,
    "auto_incident": true,
    "auto_notify": true,
    "translations": {
      "en": {
        "name": "English Name",
        "description": "English description"
      },
      "es": {
        "name": "Spanish Name",
        "description": "Spanish description"
      }
    },
    "private": true,
    "display_uptime_graph": true,
    "display_response_time_chart": true,
    "order": 1,
    "notification_recipients": [
      1
    ],
    "monitoring_options": {
      "method": "HEAD",
      "headers": [
        {
          "key": "accept-language",
          "value": "en"
        }
      ],
      "keyword_down": "down",
      "keyword_up": "up"
    }
  }
}
{
  "service": {
    "id": 1,
    "name": "Monitoring service",
    "description": "Some description",
    "private_description": "Some private description",
    "parent_id": 1,
    "current_incident_type": "major",
    "monitoring": null,
    "webhook_monitoring_service": "status-cake",
    "webhook_custom_jsonpath_settings": {
      "jsonpath": "$.status",
      "expected_result": "\"up\""
    },
    "inbound_email_address": "text",
    "incoming_webhook_url": "text",
    "ping_url": "text",
    "incident_type": "major",
    "parent_incident_type": "major",
    "is_up": true,
    "pause_monitoring_during_maintenances": true,
    "inbound_email_id": "text",
    "auto_incident": true,
    "auto_notify": true,
    "children_ids": [
      1
    ],
    "translations": {
      "en": {
        "name": "English Name",
        "description": "English description"
      },
      "es": {
        "name": "Spanish Name",
        "description": "Spanish description"
      }
    },
    "private": true,
    "display_uptime_graph": true,
    "display_response_time_chart": true,
    "order": 1,
    "notification_recipients": [],
    "monitoring_options": {
      "method": "HEAD",
      "headers": [
        {
          "key": "accept-language",
          "value": "en"
        }
      ],
      "keyword_down": "down",
      "keyword_up": "up"
    }
  }
}

Deletes service permanently

delete
/status_pages/{subdomain}/services/{serviceId}
Authorizations
AuthorizationstringRequired
Path parameters
subdomainstringRequired

The subdomain of your status page.

You can find this under your status page settings, the Subdomain field is found under the "Domain name" section. Alternatively find it in the URL of your admin dashboard (e.g. statuspal.io/admin/subdomain).

serviceIdintegerRequired

The ID of a service

Responses
200

Service deleted successfully

delete/status_pages/{subdomain}/services/{serviceId}
DELETE /api/v2/status_pages/{subdomain}/services/{serviceId} HTTP/1.1
Host: statuspal.io
Authorization: YOUR_API_KEY
Accept: */*

No content

Last updated