---
title: "Get Runbook"
method: POST
path: "/runbook/{id}/get-item"
tags: ["Runbook"]
---

# Get Runbook

`POST /runbook/{id}/get-item`

## Request

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

Endpoint to retrieve a single Runbook by ID

## Path parameters

- `id` string, uuid, required

## Request body

- object
  - `select` RunbookSelectSchema: Select schema for Runbook. Set fields to true to include them in the response.
    - `_id` boolean
    - `createdAt` boolean
    - `updatedAt` boolean
    - `deletedAt` boolean
    - `projectId` boolean
    - `name` boolean
    - `slug` boolean
    - `description` boolean
    - `createdByUserId` boolean
    - `deletedByUserId` boolean
    - `isEnabled` boolean
    - `steps` boolean
    - `labels` LabelRelationSelectSchema: What a select may name of the Label records a relation holds: set a field to true to include it.
      - `_id` boolean
      - `createdAt` boolean
      - `updatedAt` boolean
      - `deletedAt` boolean
      - `name` boolean
      - `projectId` boolean
      - `color` boolean
      - `isArchived` boolean
    - `isScheduleEnabled` boolean
    - `scheduleCron` boolean
    - `scheduleTimezone` boolean
    - `scheduleOverlapPolicy` boolean
    - `scheduleMissedRunPolicy` boolean
    - `scheduleNextRunAt` boolean
    - `scheduleQueuedRunAt` boolean
    - `isWebhookEnabled` boolean

## Response `200`

Successful response

- object
  - `data` Runbook
    - `_id` string, uuid: ID of this object. Permissions - Create: [Project Owner, Project Admin, Create Runbook, Project Member, Runbook Admin], Read: [Project Owner, Project Admin, Project Member, Viewer, Runbook Admin, Runbook Member, Runbook Viewer, Read Runbook], Update: [Project Owner, Project Admin, Edit Runbook, Runbook Admin]
    - `createdAt` object: Date and Time when the object was created. Permissions - Create: [Project Owner, Project Admin, Create Runbook, Project Member, Runbook Admin], Read: [Project Owner, Project Admin, Project Member, Viewer, Runbook Admin, Runbook Member, Runbook Viewer, Read Runbook], Update: [Project Owner, Project Admin, Edit Runbook, Runbook Admin]
    - `updatedAt` object: Date and Time when the object was updated. Permissions - Create: [Project Owner, Project Admin, Create Runbook, Project Member, Runbook Admin], Read: [Project Owner, Project Admin, Project Member, Viewer, Runbook Admin, Runbook Member, Runbook Viewer, Read Runbook], Update: [Project Owner, Project Admin, Edit Runbook, Runbook Admin]
    - `deletedAt` object: Date and Time when the object was deleted. Permissions - Create: [Project Owner, Project Admin, Create Runbook, Project Member, Runbook Admin], Read: [Project Owner, Project Admin, Project Member, Viewer, Runbook Admin, Runbook Member, Runbook Viewer, Read Runbook], Update: [Project Owner, Project Admin, Edit Runbook, Runbook Admin]
    - `version` number: Object version
    - `projectId` string, uuid, required: ID of your OneUptime Project in which this object belongs. Permissions - Create: [Project Owner, Project Admin, Create Runbook, Project Member, Runbook Admin], Read: [Project Owner, Project Admin, Project Member, Viewer, Runbook Admin, Runbook Member, Runbook Viewer, Read Runbook], Update: [No access - you don't have permission for this operation]
    - `name` string, required: Any friendly name of this object. Permissions - Create: [Project Owner, Project Admin, Create Runbook, Project Member, Runbook Admin], Read: [Project Owner, Project Admin, Project Member, Viewer, Runbook Admin, Runbook Member, Runbook Viewer, Read Runbook], Update: [Project Owner, Project Admin, Edit Runbook, Runbook Admin]
    - `slug` string, required: Friendly globally unique name for your 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], Update: [No access - you don't have permission for this operation]
    - `description` string: Friendly description that will help you remember. Permissions - Create: [Project Owner, Project Admin, Create Runbook, Project Member, Runbook Admin], Read: [Project Owner, Project Admin, Project Member, Viewer, Runbook Admin, Runbook Member, Runbook Viewer, Read Runbook], Update: [Project Owner, Project Admin, Edit Runbook, Runbook Admin]
    - `createdByUserId` string, uuid: User ID who created this object (if this object was created by a User). 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], Update: [No access - you don't have permission for this operation]
    - `deletedByUserId` string, uuid: User ID who deleted this object (if this object was deleted by a User). 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], Update: [No access - you don't have permission for this operation]
    - `isEnabled` boolean: Is this runbook enabled? Permissions - Create: [Project Owner, Project Admin, Create Runbook, Project Member, Runbook Admin], Read: [Project Owner, Project Admin, Project Member, Viewer, Runbook Admin, Runbook Member, Runbook Viewer, Read Runbook], Update: [Project Owner, Project Admin, Edit Runbook, Runbook Admin]
    - `steps` object: Ordered list of steps to run for this runbook. Each step is one of Manual, JavaScript, HTTP request, Bash or AI. Permissions - Create: [Project Owner, Project Admin, Create Runbook, Project Member, Runbook Admin], Read: [Project Owner, Project Admin, Project Member, Viewer, Runbook Admin, Runbook Member, Runbook Viewer, Read Runbook], Update: [Project Owner, Project Admin, Edit Runbook, Runbook Admin]
    - `labels` object[]: Labels to group and filter by. Permissions - Create: [Project Owner, Project Admin, Create Runbook, Project Member, Runbook Admin], Read: [Project Owner, Project Admin, Project Member, Viewer, Runbook Admin, Runbook Member, Runbook Viewer, Read Runbook], Update: [Project Owner, Project Admin, Edit Runbook, Runbook Admin]
      - `_id` string, uuid: Unique identifier for the entity
    - `isScheduleEnabled` boolean: Whether the runbook runs on its schedule (Schedule Cron, read in Schedule Time Zone). Turning it on takes permission to run the runbook as well as to edit it. Permissions - Create: [Project Owner, Project Admin, Create Runbook, Project Member, Runbook Admin], Read: [Project Owner, Project Admin, Project Member, Viewer, Runbook Admin, Runbook Member, Runbook Viewer, Read Runbook], Update: [Project Owner, Project Admin, Edit Runbook, Runbook Admin]
    - `scheduleCron` string: When the runbook runs on its schedule: a five-field cron expression (minute, hour, day of month, month, day of week), read on the wall clock of Schedule Time Zone. Runbooks run at most once a minute. Permissions - Create: [Project Owner, Project Admin, Create Runbook, Project Member, Runbook Admin], Read: [Project Owner, Project Admin, Project Member, Viewer, Runbook Admin, Runbook Member, Runbook Viewer, Read Runbook], Update: [Project Owner, Project Admin, Edit Runbook, Runbook Admin]
    - `scheduleTimezone` string: The IANA time zone the schedule is read in, such as Europe/London or America/New_York. A 09:00 schedule runs at 09:00 there all year, also after the clocks change for daylight saving time. Left out, it is UTC. Permissions - Create: [Project Owner, Project Admin, Create Runbook, Project Member, Runbook Admin], Read: [Project Owner, Project Admin, Project Member, Viewer, Runbook Admin, Runbook Member, Runbook Viewer, Read Runbook], Update: [Project Owner, Project Admin, Edit Runbook, Runbook Admin]
    - `scheduleOverlapPolicy` 'Skip' | 'RunAfter': What a scheduled time does while a run of the runbook is still queued, running or waiting for someone: "Skip" (the default) starts nothing for that time, "RunAfter" starts one run as soon as the current run ends. Permissions - Create: [Project Owner, Project Admin, Create Runbook, Project Member, Runbook Admin], Read: [Project Owner, Project Admin, Project Member, Viewer, Runbook Admin, Runbook Member, Runbook Viewer, Read Runbook], Update: [Project Owner, Project Admin, Edit Runbook, Runbook Admin]
    - `scheduleMissedRunPolicy` 'RunOnce' | 'Skip': What happens to scheduled times OneUptime could not start a run at, because it was down: "RunOnce" (the default) starts one run when it is back, "Skip" starts none. Permissions - Create: [Project Owner, Project Admin, Create Runbook, Project Member, Runbook Admin], Read: [Project Owner, Project Admin, Project Member, Viewer, Runbook Admin, Runbook Member, Runbook Viewer, Read Runbook], Update: [Project Owner, Project Admin, Edit Runbook, Runbook Admin]
    - `scheduleNextRunAt` object: When the runbook's schedule starts its next run. Worked out by OneUptime; empty while the schedule is off. 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], Update: [No access - you don't have permission for this operation]
    - `scheduleQueuedRunAt` object: The scheduled time a run is waiting for the current run to end for, when "If a Run Is Still Going" is "RunAfter". Set and cleared by OneUptime. 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], Update: [No access - you don't have permission for this operation]
    - `isWebhookEnabled` boolean: Whether a POST request to the runbook's webhook URL starts a run. The URL holds a secret key OneUptime generates when this is first turned on, shown on the runbook's Triggers page to people who may edit and run the runbook. Turning it on takes permission to run the runbook as well as to edit it. Permissions - Create: [Project Owner, Project Admin, Create Runbook, Project Member, Runbook Admin], Read: [Project Owner, Project Admin, Project Member, Viewer, Runbook Admin, Runbook Member, Runbook Viewer, Read Runbook], Update: [Project Owner, Project Admin, Edit Runbook, Runbook Admin]

## 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.
- `404`: Not found. The record does not exist, belongs to another project, or is one you may not read - the same answer for each.
- `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)
