---
title: "List recommended rules"
method: GET
path: "/recommendations/event_orchestrations/rules"
tags: ["Recommendations"]
---

# List recommended rules

`GET /recommendations/event_orchestrations/rules`

List AI-generated recommended rules available for an account's Service Event Orchestrations.

Results can be filtered by service or team. Use cursor-based pagination to retrieve large result sets.

Note: `service_id` and `service_ids[]` cannot be used together in the same request.

Scoped OAuth requires: `recommendations.read`

## Query parameters

- `service_id` string
- `service_ids[]` string[]
- `team_ids[]` string[]
- `actions[]` string[]
- `limit` integer
- `cursor` string

## Headers

- `Accept` string, required
- `Content-Type` 'application/json', required

## Response `200`

A list of recommended rules for the account's Service Event Orchestrations.

- object
  - `recommended_rules` RecommendedRule[]
    - `recommendation_id` string — The unique identifier for this recommendation (rule instance hash).
    - `type` 'service' — The type of resource this recommendation applies to.
    - `status` 'available' — The availability status of the recommendation.
    - `description` string — A human-readable description of what the recommended rule does.
    - `pcl_expr` string — The PagerDuty Condition Language (PCL) expression that defines the rule's matching condition.
    - `created_at` string, date-time — The date/time the recommendation was created.
    - `updated_at` string, date-time — The date/time the recommendation was last updated.
    - `metrics` object — Performance metrics describing the recommendation's historical match rate and effectiveness.
      - `num_events_matching_rule` integer — Total number of events that match the rule's condition.
      - `num_events_with_action` integer — Total number of events that had the recommended action applied.
      - `num_events_with_action_matching_rule` integer — Number of events that both match the condition and had the action applied.
      - `precision_metric` number, float — Fraction of events matching the rule that also had the action applied. Value between 0 and 1.
      - `recall` number, float — Fraction of events with the action applied that also match the rule condition. Value between 0 and 1.
    - `actions` object — The action the recommended rule would apply when its condition is matched. One of the following action types will be present.
      - `suppress` boolean — If true, matching events will be suppressed.
      - `severity` 'critical' | 'high' | 'warning' | 'info' | 'low' — Normalize the severity of matching events to this value.
      - `priority` string — The ID of the priority to assign to matching incidents.
    - `parent` object — The service this recommendation applies to.
      - `id` string — The obfuscated ID of the service.
      - `type` 'service_reference' — The type of the parent resource.
  - `next_cursor` string, nullable — Cursor to retrieve the next page of results. Null if there are no more results.

## 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.
- `429` — Too many requests have been made, the rate limit has been reached.
- `500` — Internal Server Error the PagerDuty server experienced an error.

---

[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/revisions/b679a8f3f02c/schema)
