---
title: "Create Runbook Rule"
method: POST
path: "/runbook-rule"
tags: ["Runbook Rule"]
---

# Create Runbook Rule

`POST /runbook-rule`

## Request

- Base URL: `https://oneuptime.com/api`
- URL: `https://oneuptime.com/api/runbook-rule`
- Auth: API key in header `APIKey`
- TypeScript: <https://skmtc.dev/oneuptime/apis/oneuptime-openapi-specification/docs/runbook-rule/post.ts> (a function with typed inputs; its response is checked against the schema)

Endpoint to create a new Runbook Rule

## Request body

- object
  - `data` RunbookRuleCreateSchema, required: Create schema for RunbookRule model. Create
    - `criteria` object: Versioned conditions that determine whether this rule matches a resource. Permissions - Create: [Project Owner, Project Admin, Create Runbook Rule, Runbook Admin], Read: [Project Owner, Project Admin, Project Member, Viewer, Runbook Admin, Runbook Member, Runbook Viewer, Read Runbook Rule], Update: [Project Owner, Project Admin, Edit Runbook Rule, Runbook Admin]
    - `projectId` string, uuid: ID of your OneUptime Project in which this object belongs. Permissions - Create: [Project Owner, Project Admin, Create Runbook Rule, Runbook Admin], Read: [Project Owner, Project Admin, Project Member, Viewer, Runbook Admin, Runbook Member, Runbook Viewer, Read Runbook Rule], Update: [No access - you don't have permission for this operation]
    - `name` string, required: Name of this runbook rule. Permissions - Create: [Project Owner, Project Admin, Create Runbook Rule, Runbook Admin], Read: [Project Owner, Project Admin, Project Member, Viewer, Runbook Admin, Runbook Member, Runbook Viewer, Read Runbook Rule], Update: [Project Owner, Project Admin, Edit Runbook Rule, Runbook Admin]
    - `description` string: Description of this runbook rule. Permissions - Create: [Project Owner, Project Admin, Create Runbook Rule, Runbook Admin], Read: [Project Owner, Project Admin, Project Member, Viewer, Runbook Admin, Runbook Member, Runbook Viewer, Read Runbook Rule], Update: [Project Owner, Project Admin, Edit Runbook Rule, Runbook Admin]
    - `isEnabled` boolean: Whether this rule is enabled. Permissions - Create: [Project Owner, Project Admin, Create Runbook Rule, Runbook Admin], Read: [Project Owner, Project Admin, Project Member, Viewer, Runbook Admin, Runbook Member, Runbook Viewer, Read Runbook Rule], Update: [Project Owner, Project Admin, Edit Runbook Rule, Runbook Admin]
    - `triggerEntityType` 'Incident' | 'Alert' | 'ScheduledMaintenance', required: Entity type that triggers this rule on creation: Incident, Alert, or ScheduledMaintenance. Permissions - Create: [Project Owner, Project Admin, Create Runbook Rule, Runbook Admin], Read: [Project Owner, Project Admin, Project Member, Viewer, Runbook Admin, Runbook Member, Runbook Viewer, Read Runbook Rule], Update: [No access - you don't have permission for this operation]
    - `monitors` object[]: Only match incidents and scheduled maintenance events that affect, and alerts raised by, at least one of these monitors. Leave empty to match any monitor. Permissions - Create: [Project Owner, Project Admin, Create Runbook Rule, Runbook Admin], Read: [Project Owner, Project Admin, Project Member, Viewer, Runbook Admin, Runbook Member, Runbook Viewer, Read Runbook Rule], Update: [Project Owner, Project Admin, Edit Runbook Rule, Runbook Admin]
      - `id` string
    - `incidentSeverities` object[]: Only match incidents with one of these severities. Incident rules only. Leave empty to match any severity. Permissions - Create: [Project Owner, Project Admin, Create Runbook Rule, Runbook Admin], Read: [Project Owner, Project Admin, Project Member, Viewer, Runbook Admin, Runbook Member, Runbook Viewer, Read Runbook Rule], Update: [Project Owner, Project Admin, Edit Runbook Rule, Runbook Admin]
      - `id` string
    - `alertSeverities` object[]: Only match alerts with one of these severities. Alert rules only. Leave empty to match any severity. Permissions - Create: [Project Owner, Project Admin, Create Runbook Rule, Runbook Admin], Read: [Project Owner, Project Admin, Project Member, Viewer, Runbook Admin, Runbook Member, Runbook Viewer, Read Runbook Rule], Update: [Project Owner, Project Admin, Edit Runbook Rule, Runbook Admin]
      - `id` string
    - `labels` object[]: Only match incidents, alerts or scheduled maintenance events that carry at least one of these labels. Leave empty to match regardless of their labels. Permissions - Create: [Project Owner, Project Admin, Create Runbook Rule, Runbook Admin], Read: [Project Owner, Project Admin, Project Member, Viewer, Runbook Admin, Runbook Member, Runbook Viewer, Read Runbook Rule], Update: [Project Owner, Project Admin, Edit Runbook Rule, Runbook Admin]
      - `id` string
    - `monitorLabels` object[]: Only match when a monitor of the incident, alert or scheduled maintenance event carries at least one of these labels. Leave empty to match regardless of monitor labels. Permissions - Create: [Project Owner, Project Admin, Create Runbook Rule, Runbook Admin], Read: [Project Owner, Project Admin, Project Member, Viewer, Runbook Admin, Runbook Member, Runbook Viewer, Read Runbook Rule], Update: [Project Owner, Project Admin, Edit Runbook Rule, Runbook Admin]
      - `id` string
    - `titlePattern` string: Case-insensitive regex matched against the entity's title. Leave empty to match any title. Permissions - Create: [Project Owner, Project Admin, Create Runbook Rule, Runbook Admin], Read: [Project Owner, Project Admin, Project Member, Viewer, Runbook Admin, Runbook Member, Runbook Viewer, Read Runbook Rule], Update: [Project Owner, Project Admin, Edit Runbook Rule, Runbook Admin]
    - `descriptionPattern` string: Case-insensitive regex matched against the entity's description. Leave empty to match any description. Permissions - Create: [Project Owner, Project Admin, Create Runbook Rule, Runbook Admin], Read: [Project Owner, Project Admin, Project Member, Viewer, Runbook Admin, Runbook Member, Runbook Viewer, Read Runbook Rule], Update: [Project Owner, Project Admin, Edit Runbook Rule, Runbook Admin]
    - `monitorNamePattern` string: Case-insensitive regex matched against the names of the monitors of the incident, alert or scheduled maintenance event. Leave empty to match any monitor name. Permissions - Create: [Project Owner, Project Admin, Create Runbook Rule, Runbook Admin], Read: [Project Owner, Project Admin, Project Member, Viewer, Runbook Admin, Runbook Member, Runbook Viewer, Read Runbook Rule], Update: [Project Owner, Project Admin, Edit Runbook Rule, Runbook Admin]
    - `monitorDescriptionPattern` string: Case-insensitive regex matched against the descriptions of the monitors of the incident, alert or scheduled maintenance event. Leave empty to match any monitor description. Permissions - Create: [Project Owner, Project Admin, Create Runbook Rule, Runbook Admin], Read: [Project Owner, Project Admin, Project Member, Viewer, Runbook Admin, Runbook Member, Runbook Viewer, Read Runbook Rule], Update: [Project Owner, Project Admin, Edit Runbook Rule, Runbook Admin]
    - `runbooks` object[]: Runbooks to start when this rule matches. Each runbook produces its own execution. Permissions - Create: [Project Owner, Project Admin, Create Runbook Rule, Runbook Admin], Read: [Project Owner, Project Admin, Project Member, Viewer, Runbook Admin, Runbook Member, Runbook Viewer, Read Runbook Rule], Update: [Project Owner, Project Admin, Edit Runbook Rule, Runbook Admin]
      - `id` string

## Response `201`

Created successfully

- object
  - `data` RunbookRuleReadSchema: Read schema for RunbookRule model. Read
    - `_id` string, uuid: ID of this object. Permissions - Create: [Project Owner, Project Admin, Create Runbook Rule, Runbook Admin], Read: [Project Owner, Project Admin, Project Member, Viewer, Runbook Admin, Runbook Member, Runbook Viewer, Read Runbook Rule], Update: [Project Owner, Project Admin, Edit Runbook Rule, Runbook Admin]
    - `createdAt` object: Date and Time when the object was created. Permissions - Create: [Project Owner, Project Admin, Create Runbook Rule, Runbook Admin], Read: [Project Owner, Project Admin, Project Member, Viewer, Runbook Admin, Runbook Member, Runbook Viewer, Read Runbook Rule], Update: [Project Owner, Project Admin, Edit Runbook Rule, Runbook Admin]
    - `updatedAt` object: Date and Time when the object was updated. Permissions - Create: [Project Owner, Project Admin, Create Runbook Rule, Runbook Admin], Read: [Project Owner, Project Admin, Project Member, Viewer, Runbook Admin, Runbook Member, Runbook Viewer, Read Runbook Rule], Update: [Project Owner, Project Admin, Edit Runbook Rule, Runbook Admin]
    - `deletedAt` object: Date and Time when the object was deleted. Permissions - Create: [Project Owner, Project Admin, Create Runbook Rule, Runbook Admin], Read: [Project Owner, Project Admin, Project Member, Viewer, Runbook Admin, Runbook Member, Runbook Viewer, Read Runbook Rule], Update: [Project Owner, Project Admin, Edit Runbook Rule, Runbook Admin]
    - `criteria` object: Versioned conditions that determine whether this rule matches a resource. Permissions - Create: [Project Owner, Project Admin, Create Runbook Rule, Runbook Admin], Read: [Project Owner, Project Admin, Project Member, Viewer, Runbook Admin, Runbook Member, Runbook Viewer, Read Runbook Rule], Update: [Project Owner, Project Admin, Edit Runbook Rule, Runbook Admin]
    - `projectId` string, uuid: ID of your OneUptime Project in which this object belongs. Permissions - Create: [Project Owner, Project Admin, Create Runbook Rule, Runbook Admin], Read: [Project Owner, Project Admin, Project Member, Viewer, Runbook Admin, Runbook Member, Runbook Viewer, Read Runbook Rule], Update: [No access - you don't have permission for this operation]
    - `name` string, required: Name of this runbook rule. Permissions - Create: [Project Owner, Project Admin, Create Runbook Rule, Runbook Admin], Read: [Project Owner, Project Admin, Project Member, Viewer, Runbook Admin, Runbook Member, Runbook Viewer, Read Runbook Rule], Update: [Project Owner, Project Admin, Edit Runbook Rule, Runbook Admin]
    - `description` string: Description of this runbook rule. Permissions - Create: [Project Owner, Project Admin, Create Runbook Rule, Runbook Admin], Read: [Project Owner, Project Admin, Project Member, Viewer, Runbook Admin, Runbook Member, Runbook Viewer, Read Runbook Rule], Update: [Project Owner, Project Admin, Edit Runbook Rule, Runbook Admin]
    - `isEnabled` boolean: Whether this rule is enabled. Permissions - Create: [Project Owner, Project Admin, Create Runbook Rule, Runbook Admin], Read: [Project Owner, Project Admin, Project Member, Viewer, Runbook Admin, Runbook Member, Runbook Viewer, Read Runbook Rule], Update: [Project Owner, Project Admin, Edit Runbook Rule, Runbook Admin]
    - `triggerEntityType` 'Incident' | 'Alert' | 'ScheduledMaintenance', required: Entity type that triggers this rule on creation: Incident, Alert, or ScheduledMaintenance. Permissions - Create: [Project Owner, Project Admin, Create Runbook Rule, Runbook Admin], Read: [Project Owner, Project Admin, Project Member, Viewer, Runbook Admin, Runbook Member, Runbook Viewer, Read Runbook Rule], Update: [No access - you don't have permission for this operation]
    - `monitors` object[]: Only match incidents and scheduled maintenance events that affect, and alerts raised by, at least one of these monitors. Leave empty to match any monitor. Permissions - Create: [Project Owner, Project Admin, Create Runbook Rule, Runbook Admin], Read: [Project Owner, Project Admin, Project Member, Viewer, Runbook Admin, Runbook Member, Runbook Viewer, Read Runbook Rule], Update: [Project Owner, Project Admin, Edit Runbook Rule, Runbook Admin]
      - `id` string
    - `incidentSeverities` object[]: Only match incidents with one of these severities. Incident rules only. Leave empty to match any severity. Permissions - Create: [Project Owner, Project Admin, Create Runbook Rule, Runbook Admin], Read: [Project Owner, Project Admin, Project Member, Viewer, Runbook Admin, Runbook Member, Runbook Viewer, Read Runbook Rule], Update: [Project Owner, Project Admin, Edit Runbook Rule, Runbook Admin]
      - `id` string
    - `alertSeverities` object[]: Only match alerts with one of these severities. Alert rules only. Leave empty to match any severity. Permissions - Create: [Project Owner, Project Admin, Create Runbook Rule, Runbook Admin], Read: [Project Owner, Project Admin, Project Member, Viewer, Runbook Admin, Runbook Member, Runbook Viewer, Read Runbook Rule], Update: [Project Owner, Project Admin, Edit Runbook Rule, Runbook Admin]
      - `id` string
    - `labels` object[]: Only match incidents, alerts or scheduled maintenance events that carry at least one of these labels. Leave empty to match regardless of their labels. Permissions - Create: [Project Owner, Project Admin, Create Runbook Rule, Runbook Admin], Read: [Project Owner, Project Admin, Project Member, Viewer, Runbook Admin, Runbook Member, Runbook Viewer, Read Runbook Rule], Update: [Project Owner, Project Admin, Edit Runbook Rule, Runbook Admin]
      - `id` string
    - `monitorLabels` object[]: Only match when a monitor of the incident, alert or scheduled maintenance event carries at least one of these labels. Leave empty to match regardless of monitor labels. Permissions - Create: [Project Owner, Project Admin, Create Runbook Rule, Runbook Admin], Read: [Project Owner, Project Admin, Project Member, Viewer, Runbook Admin, Runbook Member, Runbook Viewer, Read Runbook Rule], Update: [Project Owner, Project Admin, Edit Runbook Rule, Runbook Admin]
      - `id` string
    - `titlePattern` string: Case-insensitive regex matched against the entity's title. Leave empty to match any title. Permissions - Create: [Project Owner, Project Admin, Create Runbook Rule, Runbook Admin], Read: [Project Owner, Project Admin, Project Member, Viewer, Runbook Admin, Runbook Member, Runbook Viewer, Read Runbook Rule], Update: [Project Owner, Project Admin, Edit Runbook Rule, Runbook Admin]
    - `descriptionPattern` string: Case-insensitive regex matched against the entity's description. Leave empty to match any description. Permissions - Create: [Project Owner, Project Admin, Create Runbook Rule, Runbook Admin], Read: [Project Owner, Project Admin, Project Member, Viewer, Runbook Admin, Runbook Member, Runbook Viewer, Read Runbook Rule], Update: [Project Owner, Project Admin, Edit Runbook Rule, Runbook Admin]
    - `monitorNamePattern` string: Case-insensitive regex matched against the names of the monitors of the incident, alert or scheduled maintenance event. Leave empty to match any monitor name. Permissions - Create: [Project Owner, Project Admin, Create Runbook Rule, Runbook Admin], Read: [Project Owner, Project Admin, Project Member, Viewer, Runbook Admin, Runbook Member, Runbook Viewer, Read Runbook Rule], Update: [Project Owner, Project Admin, Edit Runbook Rule, Runbook Admin]
    - `monitorDescriptionPattern` string: Case-insensitive regex matched against the descriptions of the monitors of the incident, alert or scheduled maintenance event. Leave empty to match any monitor description. Permissions - Create: [Project Owner, Project Admin, Create Runbook Rule, Runbook Admin], Read: [Project Owner, Project Admin, Project Member, Viewer, Runbook Admin, Runbook Member, Runbook Viewer, Read Runbook Rule], Update: [Project Owner, Project Admin, Edit Runbook Rule, Runbook Admin]
    - `runbooks` object[]: Runbooks to start when this rule matches. Each runbook produces its own execution. Permissions - Create: [Project Owner, Project Admin, Create Runbook Rule, Runbook Admin], Read: [Project Owner, Project Admin, Project Member, Viewer, Runbook Admin, Runbook Member, Runbook Viewer, Read Runbook Rule], Update: [Project Owner, Project Admin, Edit Runbook Rule, Runbook Admin]
      - `id` string
    - `createdByUserId` string, uuid: User ID who created this object. Permissions - Create: [No access - you don't have permission for this operation], Read: [Project Owner, Project Admin, Project Member, Viewer, Runbook Admin, Runbook Member, Runbook Viewer, Read Runbook Rule], Update: [No access - you don't have permission for this operation]

## Other responses

- `400`: Bad request. This response indicates that the request was malformed or contained invalid data.
- `401`: Unauthorized. This response indicates that the request requires user authentication.
- `402`: Payment Required. This response indicates that the request requires payment or a valid subscription.
- `403`: Forbidden. This response indicates that the server understood the request, but refuses to authorize it.
- `405`: Project not found. This response indicates that the requested project does not exist or is not accessible.
- `408`: Request Timeout. This response indicates that the server timed out waiting for the request.
- `415`: Unable to reach server. This response indicates that the server is currently unreachable or down.
- `422`: Not authorized. This response indicates that the user does not have permission to access the requested resource.
- `500`: Internal Server Error. This response indicates that the server encountered an unexpected condition that prevented it from fulfilling the request.

---

[API](https://skmtc.dev/oneuptime/apis/oneuptime-openapi-specification.md) - [All operations](https://skmtc.dev/oneuptime/apis/oneuptime-openapi-specification/llms.txt) - [OpenAPI document](https://skmtc.dev/oneuptime/apis/oneuptime-openapi-specification/revisions/ba3307d00304?raw)
