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

# List enrichment schemas

`GET https://api.pagerduty.com/enrichment/schemas`

Lists all enrichment schemas for the account.

<!-- theme: warning -->

> ### Early Access
> This API is in Early Access and may change at any time. Contact your PagerDuty account team to request access.

Scoped OAuth requires: `contextual_data.read`

## Authorization

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

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

The list of enrichment schemas for the account.

### `application/json`

| Field | Type | Required | Description |
|---|---|---|---|
| `schemas` | array of object |  | The list of enrichment schemas. |
| `schemas[].id` | string (uuid) |  | Unique identifier for the enrichment schema. Read-only. |
| `schemas[].type` | string |  | The type of the resource. Read-only. |
| `schemas[].integration_type` | string |  | The source of the enrichment schema. `CSV` schemas are created and populated through the schema and CSV-upload endpoints; `SERVICENOW` schemas are managed by the ServiceNow CMDB integration. Schemas created through the API are always `CSV`, and only `CSV` schemas can be deleted. Read-only. One of: `CSV`, `SERVICENOW`. |
| `schemas[].name` | string |  | Display name of the enrichment schema. Max length: 50. |
| `schemas[].description` | string \| null |  | Description of this set of enrichment data. Max length: 2048. |
| `schemas[].fields` | array of object |  | The fields that make up the schema, including both query and enriched fields. A schema must contain 1-3 `query` fields and at least one `enriched` field, up to a maximum of 25 fields. Field names are unique within the schema (case-insensitive). Min items: 2. Max items: 25. |
| `schemas[].fields[].name` | string | yes | The name of the field. Unique within the schema (case-insensitive). Max length: 256. |
| `schemas[].fields[].type` | string | yes | How the field is used during enrichment. `query` fields are used to match incoming events to enrichment records (matching is case-insensitive), and `enriched` fields carry the contextual data added to a matched event. A schema has 1-3 query fields and at least one enriched field. `discriminator` is reserved for internal use (for example, by the ServiceNow CMDB integration). One of: `query`, `enriched`, `discriminator`. |
| `schemas[].created_at` | string (date-time) |  | Timestamp when the schema was created. Read-only. |
| `schemas[].updated_at` | string (date-time) |  | Timestamp when the schema was last updated. Read-only. |
| `schemas[].deleted_at` | string \| null (date-time) |  | Timestamp when the schema was deleted, or `null` if it has not been deleted. Read-only. |

Example: Example Response

```json
{
  "schemas": [
    {
      "id": "9f194d8d-0f58-4c5c-b1d2-a5adf7171821",
      "type": "enrichment_schema",
      "integration_type": "CSV",
      "name": "Team Lead and Runbooks",
      "description": "Attaches SME and Runbook URLs to Incident",
      "fields": [
        {
          "name": "Application",
          "type": "query"
        },
        {
          "name": "Manager",
          "type": "enriched"
        },
        {
          "name": "Runbook URL",
          "type": "enriched"
        }
      ],
      "created_at": "2026-06-30T15:17:30Z",
      "updated_at": "2026-06-30T15:17:30Z",
      "deleted_at": null
    }
  ]
}
```

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

## Response 500

Internal Server Error the PagerDuty server experienced an error.

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