## Overview
<p align="justify">
This endpoint returns all available bandsets, including both **custom** and **default** bandsets. You can copy the appropriate `bandset_id` and use it while placing tasking orders.

- Method: `GET`

- URL: `/v0/bandsets`

- Operation: Retrieve a list of available bandsets and their metadata

- Authentication Required: Yes

</p>

## Authorization
<p align="justify">
You need the **api key** which you can get from the **API** tab in **Workspace Settings**. The api key is required in almost all the commands

```json
Authorization: <YOUR_API_KEY>
```
</p>

## Query Parameters
<p align="justify">
This endpoint does not require any query parameters.
</p>

## Path Parameter
<p align="justify">
This endpoint does not require any path parameters.
</p>

## Response
<p align="justify">
The **List all bandsets** endpoint returns a `200 OK` response with a list of available bandset. Each bandset includes metadata like name, id, description, and captures. If the request is malformed (e.g., invalid parameters), a `400 Bad Request` is returned. A `500 Internal Server Error` may occur due to unexpected server issues. All errors include a structured JSON response with a code, message, and optional details for debugging.

### Successful Response – 200 OK

Returns a list of bandsets with all related metadata.

| Field               | Type              | Description |
|---------------------|-------------------|-------------|
| `bandsets`           | `array`           | List of bandsets available to the user or workspace. |
| `bands`   | `array of string` | List of EO bands used in the bandset. |
| `name`| `string`          | Name of EO band used in the bandset. |
| `wavelength` | `number`       | Wavelength of the band in nm. |
| `captures`| `integer`       | Number of captures required to fulfill the order for the bandset. |
| `description` | `string`       | Description of the bandset. |
| `id`      | `string`          | Unique ID of the bandset. |
| `name`    | `string`          | Human-readable name of the bandset. |


Below is the complete JSON request for listing all bandsets using the **List all bandsets** endpoint. Customize the values as needed for your search criteria:

```json 200
{
  "bandsets": [
    {
      "bands": [
        {
          "name": "<string>",
          "wavelength": 123
        }
      ],
      "captures": 1,
      "description": "<string>",
      "id": "<string>",
      "name": "<string>"
    }
  ]
}
```

### Error responses

Occurs when the request is malformed, such as missing or invalid parameters: (**400 - Bad Request and 500 - Internal Server Error**)

```json 400 500
{
  "error": {
    "code": "<string>",
    "details": "<any>",
    "message": "<string>"
  }
}
```
</p>

## How to use the endpoint
<p align="justify">
1. **Construct request:**

   Add your API key to the `Authorization` header.
   

2. **Send request:**

   Make the `GET` request to `https://api.pixxel.space/v0/bandsets`.


3. **Examine response:**

    A successful `200 OK` response returns a JSON object with a list of available bandsets and metadata. Each bandset includes its name, description, id, captures, and related band details. In case of errors (like bad parameters or server issues), you'll receive a structured error message with details and status code.
</p>