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

# List a user's delegations

`GET https://api.pagerduty.com/users/{id}/oauth_delegations`

Get a list of OAuth delegations for a specific user.

This endpoint replaces the deprecated `/users/{id}/sessions` endpoint.

**Required OAuth Scope:** For Scoped OAuth requests, this operation requires the `oauth_delegations.read` scope.

Scoped OAuth requires: `oauth_delegations.read`

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

## Query parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `delegation_type` | string |  | The type of OAuth delegations to filter on. Allowed values are 'mobile', 'web', and 'integration'. You can pass one or more types in, separated by commas (e.g., `type=web,mobile`). One of: `mobile`, `web`, `integration`. |
| `status` | string |  | The status of the delegations to return. Allowed values are 'issued' and 'revoked'. You can pass one or more statuses in, separated by commas (e.g., `status=issued,revoked`). One of: `issued`, `revoked`. |
| `limit` | integer |  | The minimum of the `limit` parameter used in the request or the maximum request size of the API. |
| `cursor` | string |  | Optional parameter used to request the "next" set of results from an API. The value provided here is most commonly obtained from the `next_cursor` field of the previous request. When no value is provided, the request starts at the beginning of the result set. |

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

Delegations retrieved sucessfully

### `application/json`

| Field | Type | Required | Description |
|---|---|---|---|
| `oauth_delegations` | array of object | yes | Array of OAuth delegation objects. |
| `oauth_delegations[].id` | string | yes | The unique identifier for the delegation. |
| `oauth_delegations[].status` | string | yes | The current status of the delegation. One of: `issued`, `revoked`. |
| `oauth_delegations[].client_id` | string | yes | The OAuth client ID. |
| `oauth_delegations[].delegation_type` | string | yes | The type of delegation. One of: `web`, `mobile`, `integration`. |
| `oauth_delegations[].scope` | string | yes | The OAuth scopes granted. |
| `oauth_delegations[].created_at` | string (date-time) | yes | When the delegation was created (ISO 8601 format) |
| `oauth_delegations[].expires_at` | string (date-time) | yes | When the delegation expires (ISO 8601 format) |
| `oauth_delegations[].self` | string (uri) | yes | URL to retrieve this delegation in detail. |
| `limit` | integer | yes | Number of results per page. |
| `more` | boolean | yes | Whether there are more results available. |
| `next_cursor` | string |  | Cursor for retrieving the next page (only present when more is true) |

Example: Response Example

```json
{
  "oauth_delegations": [
    {
      "id": "e53326c6-a713-409c-8f7e-ps1xczid",
      "type": "web",
      "client_id": "PagerDutyLogin",
      "self": "https://api.pagerduty.com/users/PXPGF42/oauth_delegations/e53326c6-a713-409c-8f7e-ps1xczid",
      "created_at": "2026-01-01T12:00:00Z",
      "expires_at": "2026-01-08T12:00:00Z",
      "status": "issued",
      "scope": "openid profile"
    }
  ],
  "limit": 25,
  "more": false,
  "next_cursor": 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 402

Account does not have the abilities to perform the action. Please review the response for the required abilities.
You can also use the [Abilities API](#resource_Abilities) to determine what features are available to your account.

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

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