# get\_\_bucket

`GET /bucket`

*List Buckets*

Get all storage buckets for the authenticated user's organization

#### Parameters

| Name        | In    | Type   | Required | Description                                                                                                                                        |
| ----------- | ----- | ------ | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| workspaceId | query | string | false    | Optional workspace ID to filter buckets. If not provided, returns all buckets the user has access to based on their role and workspace membership. |

#### TypeScript Client Library

```typescript
public getStorageBuckets = async (workspaceId?: string): Promise<GetBucketsResponse> => {
  const queryParams = workspaceId ? `?workspaceId=${workspaceId}` : '';
  return this.makeRequest<GetBucketsResponse>(`bucket${queryParams}`, 'GET', null);
};
```

#### Code Samples

{% tabs %}
{% tab title="Shell" %}

```shell
# You can also use wget
curl -X GET https://backend.flashback.tech/bucket \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

# With workspaceId parameter
curl -X GET 'https://backend.flashback.tech/bucket?workspaceId=workspace-123' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'
```

{% endtab %}

{% tab title="HTTP" %}

```http
GET https://backend.flashback.tech/bucket HTTP/1.1
Host: localhost:3000
Accept: application/json

# With workspaceId parameter
GET https://backend.flashback.tech/bucket?workspaceId=workspace-123 HTTP/1.1
Host: localhost:3000
Accept: application/json
```

{% endtab %}

{% tab title="JavaScript" %}

```javascript
const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

// Without workspaceId
fetch('https://backend.flashback.tech/bucket',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

// With workspaceId
const workspaceId = 'workspace-123';
fetch(`https://backend.flashback.tech/bucket?workspaceId=${workspaceId}`,
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
```

{% endtab %}

{% tab title="Ruby" %}

```ruby
require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://backend.flashback.tech/bucket',
  params: {
  }, headers: headers

p JSON.parse(result)
```

{% endtab %}

{% tab title="Python" %}

```python
import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://backend.flashback.tech/bucket', headers = headers)

print(r.json())
```

{% endtab %}

{% tab title="PHP" %}

```php
<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://backend.flashback.tech/bucket', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...
```

{% endtab %}

{% tab title="Java" %}

```java
URL obj = new URL("https://backend.flashback.tech/bucket");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
```

{% endtab %}

{% tab title="Go" %}

```go
package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://backend.flashback.tech/bucket", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
```

{% endtab %}
{% endtabs %}

> Example responses

> 200 Response

```json
{
  "success": true,
  "buckets": [
    {
      "name": "string",
      "id": "string",
      "storageType": "string",
      "bucket": "string",
      "key": "string",
      "secret": {},
      "endpoint": "string",
      "region": "string",
      "status": "string",
      "lastStatusAt": "2019-08-24T14:15:22Z",
      "createdAt": "2019-08-24T14:15:22Z",
      "workspaceId": "workspace-123"
    }
  ]
}
```

#### Responses <a href="#get__bucket-responses" id="get__bucket-responses"></a>

| Status | Meaning                                                 | Description             | Schema |
| ------ | ------------------------------------------------------- | ----------------------- | ------ |
| 200    | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | List of storage buckets | Inline |

#### Response Schema <a href="#get__bucket-responseschema" id="get__bucket-responseschema"></a>

Status Code **200**

| Name            | Type              | Required | Restrictions | Description                                 |
| --------------- | ----------------- | -------- | ------------ | ------------------------------------------- |
| » success       | boolean           | false    | none         | none                                        |
| » buckets       | \[object]         | false    | none         | none                                        |
| »» name         | string            | false    | none         | none                                        |
| »» id           | string            | false    | none         | none                                        |
| »» storageType  | string            | false    | none         | none                                        |
| »» bucket       | string            | false    | none         | none                                        |
| »» key          | string            | false    | none         | none                                        |
| »» secret       | object            | false    | none         | none                                        |
| »» endpoint     | string            | false    | none         | none                                        |
| »» region       | string            | false    | none         | none                                        |
| »» status       | string            | false    | none         | none                                        |
| »» lastStatusAt | string(date-time) | false    | none         | none                                        |
| »» createdAt    | string(date-time) | false    | none         | none                                        |
| »» workspaceId  | string            | false    | none         | Workspace ID the bucket belongs to (if any) |

To perform this operation, you must be authenticated by means of one of the following methods: BearerAuth
