---
title: "Create a Status Page Subscription"
method: POST
path: "/status_pages/{id}/subscriptions"
tags: ["Status Pages"]
---

# Create a Status Page Subscription

`POST /status_pages/{id}/subscriptions`

Create a Subscription for a Status Page by Status Page ID.

Scoped OAuth requires: `status_pages.write`

## Path parameters

- `id` string, required

## Headers

- `Accept` string, required

## Request body

- object
  - `subscription` object, required — Request schema for creating a StatusPageSubscription.
    - `channel` 'webhook' | 'email', required — The channel of the Subscription.
    - `contact` string, required — The subscriber's contact - email address or webhook URL.
    - `status_page` object, required — Status Page
      - `id` string, required — The id of the status page.
      - `type` string — A string that determines the schema of the object.
    - `subscribable_object` object, required — The subscribed entity for a given subscription.
      - `id` string — The ID of the subscribed entity for a given subscription.
      - `type` 'status_page' | 'status_page_service' | 'status_page_post' — The type of the subscribed entity for a given subscription.
    - `type` string, required — A string that determines the schema of the object.

## Response `201`

Created

- object
  - `subscription` StatusPageSubscription — A StatusPageSubscription resource represents a subscription to a specific status page entity.
    - `channel` 'webhook' | 'email' | 'slack' — The channel of the subscription.
    - `contact` string — The subscriber's contact - email address, webhook URL, etc...
    - `id` string — The ID of the Subscription.
    - `self` string — The path in which the Subscription resource is accessible.
    - `status` 'active' | 'pending' | 'suspended' — The status of the Subscription.
    - `status_page` object — Status Page
      - `id` string, required — Status page unique identifier
      - `type` string — A string that determines the schema of the object.
    - `subscribable_object` object — The subscribed entity for a given subscription.
      - `id` string — The ID of the subscribed entity.
      - `type` 'status_page' | 'status_page_service' | 'status_page_post' — The type of the subscribed entity.
    - `type` string — A string that determines the schema of the object.

## Other responses

- `400` — Caller provided invalid arguments. Please review the response for error details. Retrying with the same arguments will *not* work.
- `401` — Caller did not supply credentials or did not provide the correct credentials. If you are using an API key, it may be invalid or your Authorization header may be malformed.
- `403` — Caller is not authorized to view the requested resource. While your authentication is valid, the authenticated user or token does not have permission to perform this action.
- `404` — The requested resource was not found.
- `429` — Too many requests have been made, the rate limit has been reached.

---

[API](https://skmtc.net/pagerduty/apis/rest-api.md) · [All operations](https://skmtc.net/pagerduty/apis/rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/pagerduty/rest-api/versions/b679a8f3f02c/schema)
