---
title: "Create Runbook Variable"
method: POST
path: "/runbook-variable"
tags: ["Runbook Variable"]
---

# Create Runbook Variable

`POST /runbook-variable`

## Request

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

Endpoint to create a new Runbook Variable

## Request body

- object
  - `data` RunbookVariableCreateSchema, required: Create schema for RunbookVariable model. Create
    - `projectId` string, uuid: ID of your OneUptime Project in which this object belongs. Permissions - Create: [Project Owner, Project Admin, Create Runbook Variable], Read: [Project Owner, Project Admin, Read Runbook Variable, Runbook Admin], Update: [No access - you don't have permission for this operation]
    - `runbookId` string, uuid: ID of the runbook this variable belongs to. Empty for a global variable, which every runbook of the project can use. Permissions - Create: [Project Owner, Project Admin, Create Runbook Variable], Read: [Project Owner, Project Admin, Read Runbook Variable, Runbook Admin], Update: [No access - you don't have permission for this operation]
    - `name` string, required: Letters, numbers, hyphens and underscores. Steps use the variable by this name: {{global.variables.NAME}} for a global variable, {{local.variables.NAME}} for one of the runbook's own. Permissions - Create: [Project Owner, Project Admin, Create Runbook Variable], Read: [Project Owner, Project Admin, Read Runbook Variable, Runbook Admin], Update: [Project Owner, Project Admin, Edit Runbook Variable]
    - `description` string: Friendly description that will help you remember. Permissions - Create: [Project Owner, Project Admin, Create Runbook Variable], Read: [Project Owner, Project Admin, Read Runbook Variable, Runbook Admin], Update: [Project Owner, Project Admin, Edit Runbook Variable]
    - `isSecret` boolean: A secret is encrypted, can never be read back, and is hidden in step output. It cannot be changed later. Permissions - Create: [Project Owner, Project Admin, Create Runbook Variable], Read: [Project Owner, Project Admin, Read Runbook Variable, Runbook Admin], Update: [No access - you don't have permission for this operation]
    - `value` string: The value of a variable that is not a secret. A secret's value is Secret Value. Permissions - Create: [Project Owner, Project Admin, Create Runbook Variable], Read: [Project Owner, Project Admin, Read Runbook Variable, Runbook Admin], Update: [Project Owner, Project Admin, Edit Runbook Variable]
    - `secretValue` string, password: The value of a secret variable. Encrypted at rest and never returned by the API. Permissions - Create: [Project Owner, Project Admin, Create Runbook Variable], Read: [No access - you don't have permission for this operation], Update: [Project Owner, Project Admin, Edit Runbook Variable]
    - `runners` object[]: The Runners of your own that may use this secret. A step that names it must run on one of them. Permissions - Create: [Project Owner, Project Admin, Create Runbook Variable], Read: [Project Owner, Project Admin, Read Runbook Variable, Runbook Admin], Update: [Project Owner, Project Admin, Edit Runbook Variable]
      - `id` string
    - `isAvailableToGlobalRunners` boolean: Whether steps of this project that run on a global Runner get this secret. Global Runners are the ones OneUptime runs for every project; a step of another project never gets it. Permissions - Create: [Project Owner, Project Admin, Create Runbook Variable], Read: [Project Owner, Project Admin, Read Runbook Variable, Runbook Admin], Update: [Project Owner, Project Admin, Edit Runbook Variable]

## Response `201`

Created successfully

- object
  - `data` RunbookVariableReadSchema: Read schema for RunbookVariable model. Read
    - `_id` string, uuid: ID of this object. Permissions - Create: [Project Owner, Project Admin, Create Runbook Variable], Read: [Project Owner, Project Admin, Read Runbook Variable, Runbook Admin], Update: [Project Owner, Project Admin, Edit Runbook Variable]
    - `createdAt` object: Date and Time when the object was created. Permissions - Create: [Project Owner, Project Admin, Create Runbook Variable], Read: [Project Owner, Project Admin, Read Runbook Variable, Runbook Admin], Update: [Project Owner, Project Admin, Edit Runbook Variable]
    - `updatedAt` object: Date and Time when the object was updated. Permissions - Create: [Project Owner, Project Admin, Create Runbook Variable], Read: [Project Owner, Project Admin, Read Runbook Variable, Runbook Admin], Update: [Project Owner, Project Admin, Edit Runbook Variable]
    - `deletedAt` object: Date and Time when the object was deleted. Permissions - Create: [Project Owner, Project Admin, Create Runbook Variable], Read: [Project Owner, Project Admin, Read Runbook Variable, Runbook Admin], Update: [Project Owner, Project Admin, Edit Runbook Variable]
    - `projectId` string, uuid: ID of your OneUptime Project in which this object belongs. Permissions - Create: [Project Owner, Project Admin, Create Runbook Variable], Read: [Project Owner, Project Admin, Read Runbook Variable, Runbook Admin], Update: [No access - you don't have permission for this operation]
    - `runbookId` string, uuid: ID of the runbook this variable belongs to. Empty for a global variable, which every runbook of the project can use. Permissions - Create: [Project Owner, Project Admin, Create Runbook Variable], Read: [Project Owner, Project Admin, Read Runbook Variable, Runbook Admin], Update: [No access - you don't have permission for this operation]
    - `name` string, required: Letters, numbers, hyphens and underscores. Steps use the variable by this name: {{global.variables.NAME}} for a global variable, {{local.variables.NAME}} for one of the runbook's own. Permissions - Create: [Project Owner, Project Admin, Create Runbook Variable], Read: [Project Owner, Project Admin, Read Runbook Variable, Runbook Admin], Update: [Project Owner, Project Admin, Edit Runbook Variable]
    - `description` string: Friendly description that will help you remember. Permissions - Create: [Project Owner, Project Admin, Create Runbook Variable], Read: [Project Owner, Project Admin, Read Runbook Variable, Runbook Admin], Update: [Project Owner, Project Admin, Edit Runbook Variable]
    - `isSecret` boolean: A secret is encrypted, can never be read back, and is hidden in step output. It cannot be changed later. Permissions - Create: [Project Owner, Project Admin, Create Runbook Variable], Read: [Project Owner, Project Admin, Read Runbook Variable, Runbook Admin], Update: [No access - you don't have permission for this operation]
    - `value` string: The value of a variable that is not a secret. A secret's value is Secret Value. Permissions - Create: [Project Owner, Project Admin, Create Runbook Variable], Read: [Project Owner, Project Admin, Read Runbook Variable, Runbook Admin], Update: [Project Owner, Project Admin, Edit Runbook Variable]
    - `runners` object[]: The Runners of your own that may use this secret. A step that names it must run on one of them. Permissions - Create: [Project Owner, Project Admin, Create Runbook Variable], Read: [Project Owner, Project Admin, Read Runbook Variable, Runbook Admin], Update: [Project Owner, Project Admin, Edit Runbook Variable]
      - `id` string
    - `isAvailableToGlobalRunners` boolean: Whether steps of this project that run on a global Runner get this secret. Global Runners are the ones OneUptime runs for every project; a step of another project never gets it. Permissions - Create: [Project Owner, Project Admin, Create Runbook Variable], Read: [Project Owner, Project Admin, Read Runbook Variable, Runbook Admin], Update: [Project Owner, Project Admin, Edit Runbook Variable]
    - `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, Read Runbook Variable, Runbook Admin], 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, Read Runbook Variable], 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)
