# Take a snapshot of the bucket

```
POST https://mgmt.storage.dev/v1/providers/:provider_id/orgs/:org_id/buckets/:bucket_name/snapshots
```

Takes a snapshot of the bucket's current state. The bucket must have snapshots enabled. See [https://www.tigrisdata.com/docs/snapshots/](/content/docs/snapshots/index.html).

## Request

### Path Parameters

**provider_id** string required  
Provider ID

**org_id** string required  
Organization ID

**bucket_name** string required  
Bucket name

- application/json  
- Body  
- Example (auto)

### Body

**description** string  
Optional name or description for the snapshot.

```json
{
  "description": "string"
}
```

## Responses

- 200  
- default

OK

- application/json  
- Schema  
- Example (auto)

**Schema**

**snapshot** object  
A point-in-time snapshot of a bucket. See [https://www.tigrisdata.com/docs/snapshots/](/content/docs/snapshots/index.html).

**version** string  
Snapshot version (UNIX nanosecond-precision timestamp).

**created_at** date-time

**bucket** string  
Name of the bucket this snapshot belongs to.

**description** string  
Optional name or description.

```json
{
  "snapshot": {
    "version": "string",
    "created_at": "2024-07-29T15:51:28.071Z",
    "bucket": "string",
    "description": "string"
  }
}
```

Unexpected error

- application/json  
- Schema  
- Example (auto)

**Schema**

**message** string

```json
{
  "message": "string"
}
```

#### Authorization: X-Tigris-Signature

```  
name: X-Tigris-Signature  
type: apiKey  
in: header  
description: HMAC-SHA256 of the canonical request signed using the signing key.
To create the signature, concatenate the HTTP method, URL, timestamp, and nonce with a newline character in between.
Then, calculate the HMAC-SHA256 of the concatenated string using the signing key. Example:

Create the `canonical_request` as:
```
POST
https://mgmt.storage.dev/provider/your-provider-id/orgs/user-org-id/provision
1731703213870
f8d133cb-5a42-47b1-9ef2-874bb55bab72
```
Then, calculate HMAC-SHA256 of the canonical request using the signing key as:
```
Signature = hex(sha256sign(canonical_request, "signing_key"))
```
```
name: X-Tigris-Noncetype: apiKeyin: headerdescription: Random unique string to identify the request and prevent replay attacks. Example: "f8d133cb-5a42-47b1-9ef2-874bb55bab72"
```

```
name: X-Tigris-Timetype: apiKeyin: headerdescription: Unix timestamp in milliseconds of the request. Example: 1731703213870
```

- csharp  
- curl  
- dart  
- go  
- http  
- java  
- javascript  
- kotlin  
- c  
- nodejs  
- objective-c  
- ocaml  
- php  
- postman-cli  
- powershell  
- python  
- r  
- ruby  
- rust  
- shell  
- swift

- HTTPCLIENT  
- RESTSHARP

```csharp
var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://mgmt.storage.dev/v1/providers/:provider_id/orgs/:org_id/buckets/:bucket_name/snapshots");
request.Headers.Add("Accept", "application/json");
request.Headers.Add("X-Tigris-Signature", "<X-Tigris-Signature>");
request.Headers.Add("X-Tigris-Nonce", "<X-Tigris-Nonce>");
request.Headers.Add("X-Tigris-Time", "<X-Tigris-Time>");
var content = new StringContent("{\n  \"description\": \"string\"\n}", null, "application/json");
request.Content = content;
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
Console.WriteLine(await response.Content.ReadAsStringAsync());
```

### Parameters

**provider_id** — path required  
**org_id** — path required  
**bucket_name** — path required

### Body

```json
{
  "description": "string"
}
```

### Send API Request
