---
title: "Create Restic S3 Bucket"
method: POST
path: "/api/clusters/{clusterName}/restic/create-bucket"
tags: ["ClusterRestic"]
---

# Create Restic S3 Bucket

`POST /api/clusters/{clusterName}/restic/create-bucket`

## Request

- The document declares no server URL.
- Auth: none declared. Required headers: `Authorization`

Idempotently creates the S3 bucket for the cluster's saved Restic S3 configuration if missing. Returns created=false when the bucket already exists and is accessible.

## Path parameters

- `clusterName` string, required

## Headers

- `Authorization` string, required

## Response `200`

Bucket created or already exists

- ClusterResticEnsureBucketResult
  - `bucket` string
  - `created` boolean
  - `endpoint` string
  - `message` string

## Other responses

- `400`: Invalid request or non-S3 configuration
- `403`: No valid ACL or insufficient grant (db-backup required)
- `500`: No cluster

## Changes

- **2026-07-17** `7465ea0ee21a`: 1 info
  - endpoint added
- **2023-03-31** `b57fc7b9446e`: 1 breaking
  - api path removed without deprecation

[Operation history](https://skmtc.dev/signal18/apis/signal-18-dashboard-api/changes/api/clusters/:clusterName/restic/create-bucket/post.md)

---

[API](https://skmtc.dev/signal18/apis/signal-18-dashboard-api.md) - [All operations](https://skmtc.dev/signal18/apis/signal-18-dashboard-api/llms.txt) - [OpenAPI document](https://skmtc.dev/signal18/apis/signal-18-dashboard-api/revisions/8ee8a1e31294?raw)
