> Documentation index for AI agents: https://docs.pagerduty.com/llms.txt

# Create a Status Page Subscription

`POST https://api.pagerduty.com/status_pages/{id}/subscriptions`

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

Scoped OAuth requires: `status_pages.write`

## Authorization

- **api_key** (apiKey) — `Authorization` header. The API Key with format `Token token=<API_KEY>`

## Path parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `id` | string | yes | The ID of the resource. |

## Header parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `Accept` | string | yes | The `Accept` header is used as a versioning header. Default: `application/vnd.pagerduty+json;version=2`. |

## Request body (`application/json`)

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

Example: default

```json
{
  "subscription": {
    "channel": "email",
    "contact": "joe@email.example",
    "status_page": {
      "id": "PIJ90N7",
      "type": "status_page"
    },
    "subscribable_object": {
      "id": "PSX4LJI",
      "type": "status_page_service"
    },
    "type": "status_page_subscription"
  }
}
```

## Response 201

Created

### `application/json`

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

Example: default

```json
{
  "subscription": {
    "channel": "email",
    "contact": "address@email.example",
    "id": "PWZ0PTR",
    "self": "https://api.pagerduty.com/status_pages/PIJ90N7/subscriptions/PWZ0PTR",
    "status": "active",
    "status_page": {
      "id": "PIJ90N7",
      "type": "status_page"
    },
    "subscribable_object": {
      "id": "PSX4LJI",
      "type": "status_page_service"
    },
    "type": "status_page_subscription"
  }
}
```

## Response 400

Caller provided invalid arguments. Please review the response for error details. Retrying with the same arguments will *not* work.

### `application/json`

| Field | Type | Required | Description |
|---|---|---|---|
| `error` | object |  |  |
| `error.code` | integer |  | Read-only. |
| `error.message` | string |  | Error message string. Read-only. |
| `error.errors` | array of string |  | Read-only. |

## Response 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.

### `application/json`

| Field | Type | Required | Description |
|---|---|---|---|
| `error` | object |  |  |
| `error.code` | integer |  | Read-only. |
| `error.message` | string |  | Error message string. Read-only. |
| `error.errors` | array of string |  | Read-only. |

## Response 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.

### `application/json`

| Field | Type | Required | Description |
|---|---|---|---|
| `error` | object |  |  |
| `error.code` | integer |  | Read-only. |
| `error.message` | string |  | Error message string. Read-only. |
| `error.errors` | array of string |  | Read-only. |

## Response 404

The requested resource was not found.

### `application/json`

| Field | Type | Required | Description |
|---|---|---|---|
| `error` | object |  |  |
| `error.code` | integer |  | Read-only. |
| `error.message` | string |  | Error message string. Read-only. |
| `error.errors` | array of string |  | Read-only. |

## Response 429

Too many requests have been made, the rate limit has been reached.

### `application/json`

| Field | Type | Required | Description |
|---|---|---|---|
| `error` | object |  |  |
| `error.code` | integer |  | Read-only. |
| `error.message` | string |  | Error message string. Read-only. |
| `error.errors` | array of string |  | Read-only. |

## Developer Agreement

Your access to and use of the PagerDuty Developer Services is governed by the [PagerDuty Developer Agreement](https://docs.pagerduty.com/developer/pagerduty-developer-agreement).
