---
title: "Create a Runbook Snapshot"
method: POST
path: "/projects/{projectId}/runbookSnapshots"
tags: ["RunbookSnapshots"]
---

# Create a Runbook Snapshot

`POST /projects/{projectId}/runbookSnapshots`

## Path parameters

- `projectId` string, required

## Request body

- CreateRunbookSnapshotCommand
  - `Name` string, required — The name of the runbook snapshot.
  - `Notes` string — Any additional information about the runbook snapshot.
  - `ProjectId` string, required — ID of the project that owns the runbook to snapshot.
  - `Publish` string — Publishes the snapshot when set to any non-blank value, making it the snapshot that runbook triggers and 'published' runs use. The value itself is not stored. Leave unset to create the snapshot without publishing it.
  - `RunbookId` string, required — ID of the runbook to snapshot.
  - `SelectedGitResources` SelectedGitResource[]
    - `ActionName` string, required
    - `GitReferenceResource` GitReferenceResource, required
      - `GitCommit` string
      - `GitRef` string
    - `GitResourceReferenceName` string
  - `SelectedPackages` SelectedPackage[] — The packages and versions used in the runbook snapshot.
    - `ActionName` string
    - `PackageReferenceName` string
    - `StepName` string
    - `Version` string
  - `SpaceId` string, required — The ID of the space containing the resource(s).

## Response `201`

Created

- RunbookSnapshotResource
  - `Assembled` string, date-time, required
  - `FrozenProjectVariableSetId` string, required
  - `FrozenRunbookProcessId` string, required
  - `GitReference` SnapshotGitReferenceResource
    - `GitCommit` string
    - `GitRef` string
    - `VariablesGitCommit` string
  - `Id` string — Gets or sets a unique identifier for this resource.
  - `LastModifiedBy` string — Gets or sets the username of the user who last modified this resource.
  - `LastModifiedOn` string, date-time — Gets or sets the date/time that this resource was last modified.
  - `LibraryVariableSetSnapshotIds` string[] — Snapshots of the project's included library variable sets. The snapshots are VariableSetResources, not LibraryVariableSetResources.
  - `Links` object — Gets or sets a dictionary of links to other related resources. These links can be used to navigate the resources on the server.
  - `Name` string, required
  - `Notes` string
  - `ProjectId` string, required
  - `ProjectVariableSetSnapshotId` string, required
  - `RunbookId` string, required
  - `SelectedGitResources` SelectedGitResource[]
    - `ActionName` string, required
    - `GitReferenceResource` GitReferenceResource, required
      - `GitCommit` string
      - `GitRef` string
    - `GitResourceReferenceName` string
  - `SelectedPackages` SelectedPackage[]
    - `ActionName` string
    - `PackageReferenceName` string
    - `StepName` string
    - `Version` string
  - `SpaceId` string, required

## Other responses

- `400` — Bad request. Either the payload was not structurally valid or business rules did not permit the operation.
- `404` — Not found. One or more of the entities involved in the operation was not found.

---

[API](https://skmtc.net/octopus/apis/octopus-server-api.md) · [All operations](https://skmtc.net/octopus/apis/octopus-server-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/octopus/octopus-server-api/revisions/b296c3a60aa5/schema)
