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

# List extensions

`GET https://api.pagerduty.com/extensions`

List existing extensions.

Extensions are representations of Extension Schema objects that are attached to Services.

For more information see the [API Concepts Document](https://docs.pagerduty.com/developer/api-concepts#extensions)

Scoped OAuth requires: `extensions.read`

## Authorization

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

## Query parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `limit` | integer |  | The number of results per page. |
| `offset` | integer |  | Offset to start pagination search results. |
| `total` | boolean |  | By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated. See our [Pagination Docs](https://docs.pagerduty.com/developer/pagination) for more information. Default: `false`. |
| `query` | string |  | Filters the result, showing only the records whose name matches the query. |
| `extension_object_id` | string |  | The id of the extension object you want to filter by. |
| `extension_schema_id` | string |  | Filter the extensions by extension vendor id. |
| `include[]` | string |  | Array of additional details to include. One of: `extension_objects`, `extension_schemas`. Items must be unique. |

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

## Response 200

A paginated array of extensions.

### `application/json`

| Field | Type | Required | Description |
|---|---|---|---|
| `offset` | integer |  | Echoes offset pagination property. Read-only. |
| `limit` | integer |  | Echoes limit pagination property. Read-only. |
| `more` | boolean |  | Indicates if there are additional records to return. Read-only. |
| `total` | integer \| null |  | The total number of records matching the given query. Read-only. |
| `extensions` | array of object | yes |  |
| `extensions[].id` | string |  | Read-only. |
| `extensions[].summary` | string \| null |  | A short-form, server-generated string that provides succinct, important information about an object suitable for primary labeling of an entity in a client. In many cases, this will be identical to `name`, though it is not intended to be an identifier. Read-only. |
| `extensions[].type` | string |  | The type of object being created. One of: `extension`. Default: `extension`. |
| `extensions[].self` | string \| null (url) |  | the API show URL at which the object is accessible. Read-only. |
| `extensions[].html_url` | string \| null (url) |  | a URL at which the entity is uniquely displayed in the Web app. Read-only. |
| `extensions[].name` | string | yes | The name of the extension. |
| `extensions[].endpoint_url` | string (url) |  | The url of the extension. |
| `extensions[].extension_objects` | array of object | yes | The objects for which the extension applies. |
| `extensions[].extension_objects[].id` | string | yes | Read-only. |
| `extensions[].extension_objects[].summary` | string \| null |  | A short-form, server-generated string that provides succinct, important information about an object suitable for primary labeling of an entity in a client. In many cases, this will be identical to `name`, though it is not intended to be an identifier. Read-only. |
| `extensions[].extension_objects[].type` | string | yes | One of: `service_reference`. |
| `extensions[].extension_objects[].self` | string \| null (url) |  | the API show URL at which the object is accessible. Read-only. |
| `extensions[].extension_objects[].html_url` | string \| null (url) |  | a URL at which the entity is uniquely displayed in the Web app. Read-only. |
| `extensions[].extension_schema` | object | yes |  |
| `extensions[].extension_schema.id` | string | yes | Read-only. |
| `extensions[].extension_schema.summary` | string \| null |  | A short-form, server-generated string that provides succinct, important information about an object suitable for primary labeling of an entity in a client. In many cases, this will be identical to `name`, though it is not intended to be an identifier. Read-only. |
| `extensions[].extension_schema.type` | string | yes | One of: `extension_schema_reference`. |
| `extensions[].extension_schema.self` | string \| null (url) |  | the API show URL at which the object is accessible. Read-only. |
| `extensions[].extension_schema.html_url` | string \| null (url) |  | a URL at which the entity is uniquely displayed in the Web app. Read-only. |
| `extensions[].temporarily_disabled` | boolean |  | Whether or not this extension is temporarily disabled; for example, a webhook extension that is repeatedly rejected by the server. Read-only. Default: `false`. |
| `extensions[].config` | object |  | The object that contains extension configuration values depending on the extension schema specification. |

Example: Response Example

```json
{
  "extensions": [
    {
      "id": "PPGPXHO",
      "self": "https://api.pagerduty.com/extensions/PPGPXHO",
      "endpoint_url": "https://example.com/receive_a_pagerduty_webhook",
      "name": "My Webhook",
      "summary": "My Webhook",
      "type": "extension",
      "extension_schema": {
        "id": "PJFWPEP",
        "type": "extension_schema_reference",
        "summary": "Generic Webhook",
        "self": "https://api.pagerduty.com/extension_schemas/PJFWPEP"
      },
      "extension_objects": [
        {
          "id": "PIJ90N7",
          "type": "service_reference",
          "summary": "My Application Service",
          "self": "https://api.pagerduty.com/services/PIJ90N7",
          "html_url": "https://subdomain.pagerduty.com/service-directory/PIJ90N7"
        }
      ]
    }
  ],
  "limit": 25,
  "offset": 0,
  "more": false,
  "total": null
}
```

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

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