---
title: "Create a script"
method: POST
path: "/scripts"
tags: ["Scripts"]
---

# Create a script

`POST /scripts`

Create a durable bash script for a project.

## Request body

- object
  - `projectId` string, uuid — Project that owns the script. Auto-filled from CLI and SDK context when omitted.
  - `name` string, required — Script name. Must be unique within the project among non-deleted scripts.
  - `content` string, required — Bash script body materialized as /home/sazabi/scripts/<name>.sh in the sandbox.
  - `description` string, nullable — Optional human-readable description.

## Response `201`

OK

- object
  - `script` object, required
    - `id` string, uuid, required
    - `projectId` string, uuid, required
    - `name` string, required
    - `description` string, nullable, required
    - `contentHash` string, required — sha256 hex digest of the script content.
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required
    - `content` string, required — Bash script body materialized as /home/sazabi/scripts/<name>.sh in the sandbox.

---

[API](https://skmtc.dev/sazabi/apis/sazabi-public-api.md) · [All operations](https://skmtc.dev/sazabi/apis/sazabi-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/sazabi/sazabi-public-api/revisions/1d12b71c735a/schema)
