# DigitalOcean Integration via LowCodeAPI

**Last Updated**: February 11, 2026

## Overview

Cloud computing platform

The DigitalOcean API provides access to:

- **Developer Tools** - Related functionality

## Base Endpoint

```
https://api.lowcodeapi.com/digitalocean/
```

**Important**: Always include the provider name in the URL path after `api.lowcodeapi.com/`

## Authentication

LowCodeAPI handles authentication automatically. You only need to:

1. **Sign up** at [DigitalOcean](https://www.digitalocean.com)
2. **Get your credentials** from [credential page](https://cloud.digitalocean.com/account/api/tokens)
3. **Connect your account** in LowCodeAPI dashboard
4. **Use your `api_token`** in all requests

The `api_token` is your LowCodeAPI authentication token. LowCodeAPI will automatically:
- Fetch your provider credentials (API keys, OAuth tokens, etc.)
- Apply them to each request
- Handle token refresh for OAuth providers

**Auth Type**: TOKEN

## URL Format (Important)

LowCodeAPI supports **two URL formats** for endpoints with path parameters. **Always try New Format first**, and only fall back to Old Format if it doesn't work.

### New Format (Priority) - Dynamic Path Parameters

- **Path parameters stay in the URL path** - Do NOT convert to query parameters
- **Provider name is always in the URL path** after `api.lowcodeapi.com/`
- Pattern: `https://api.lowcodeapi.com/{provider}/{path_with_params}?api_token={api_token}`

**Example**:
```bash
# New Format - Path parameter stays in the URL path
https://api.lowcodeapi.com/digitalocean/resource/{RESOURCE_ID}?api_token=YOUR_API_TOKEN
```

### Old Format (Fallback) - Sanitized Path + Query Parameters

- **Path parameters become query parameters**
- **Provider name is always in the URL path**
- Pattern: `https://api.lowcodeapi.com/{provider}/{sanitized_path}?{path_params}&api_token={api_token}`

**Example**:
```bash
# Old Format - Path parameter becomes a query parameter
https://api.lowcodeapi.com/digitalocean/resource/id?id=RESOURCE_ID&api_token=YOUR_API_TOKEN
```

### Decision Flow for AI Agents

1. Always use **New Format first** - Keep path parameters in the URL path
2. If you get a 404 or error, try **Old Format** with sanitized path
3. Log which format worked for future requests to this provider

## API Categories

- **1-Click Applications** - 2 endpoints
- **Account** - 1 endpoints
- **Actions** - 2 endpoints
- **Apps** - 27 endpoints
- **Billing** - 7 endpoints
- **Block Storage** - 9 endpoints
- **Block Storage Actions** - 4 endpoints
- **CDN Endpoints** - 6 endpoints
- **Certificates** - 4 endpoints
- **Container Registry** - 18 endpoints
- **Databases** - 41 endpoints
- **Domain Records** - 6 endpoints
- **Domains** - 4 endpoints
- **Droplet Actions** - 4 endpoints
- **Droplets** - 16 endpoints
- **Firewalls** - 11 endpoints
- **Floating IP Actions** - 3 endpoints
- **Floating IPs** - 4 endpoints
- **Functions** - 9 endpoints
- **Image Actions** - 3 endpoints
- **Images** - 5 endpoints
- **Kubernetes** - 25 endpoints
- **Load Balancers** - 9 endpoints
- **Monitoring** - 16 endpoints
- **Project Resources** - 4 endpoints
- **Projects** - 9 endpoints
- **Regions** - 1 endpoints
- **Reserved IP Actions** - 3 endpoints
- **Reserved IPs** - 4 endpoints
- **SSH Keys** - 5 endpoints
- **Sizes** - 1 endpoints
- **Snapshots** - 3 endpoints
- **Tags** - 6 endpoints
- **Uptime** - 11 endpoints
- **VPC NAT Gateways** - 5 endpoints
- **VPCs** - 7 endpoints

## Common Endpoints

### Category: 1-Click Applications

#### List 1-Click Applications

**Method**: `GET` | **LowCodeAPI Path**: `/v2/1-clicks`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/1-clicks?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/1-clicks?type={type}&api_token={api_token}
```

**Description**: To list all available 1-Click applications send a GET request to `/v2/1-clicks`.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `type` | string | No | Restrict results to a certain type of 1-Click |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/1-clicks?type=VALUE&api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Install Kubernetes 1-Click Applications

**Method**: `POST` | **LowCodeAPI Path**: `/v2/1-clicks/kubernetes`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/1-clicks/kubernetes?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/1-clicks/kubernetes?api_token={api_token}
```

**Description**: To install a Kubernetes 1-Click application on a cluster send a POST request to `/v2/1-clicks/kubernetes`.

**Request Body**:
```json
{
  "addon_slugs": "<array>",
  "cluster_uuid": "<string>"
}
```

**Request Body Fields**:

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `addon_slugs` | array | Yes | An array of 1-Click Application slugs to be installed to the Kubernetes cluster |
| `cluster_uuid` | string | Yes | A unique ID for the Kubernetes cluster to which the 1-Click Applications will be installed |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/digitalocean/v2/1-clicks/kubernetes?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

### Category: Account

#### Get User Information

**Method**: `GET` | **LowCodeAPI Path**: `/v2/account`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/account?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/account?api_token={api_token}
```

**Description**: To show information about the current user account send a GET request to `/v2/account`.

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/account?api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

### Category: Actions

#### List All Actions

**Method**: `GET` | **LowCodeAPI Path**: `/v2/actions`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/actions?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/actions?page={page}&per_page={per_page}&api_token={api_token}
```

**Description**: This will be the entire list of actions taken on your account so it will be quite large.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Which 'page' of paginated results to return |
| `per_page` | integer | No | Number of items returned per page |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/actions?page=VALUE&per_page=VALUE&api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Retrieve an Existing Action

**Method**: `GET` | **LowCodeAPI Path**: `/v2/actions/{action_id}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/actions/{action_id}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/actions/action_id?action_id={action_id}&api_token={api_token}
```

**Description**: To retrieve a specific action object send a GET request to `/v2/actions/$ACTION_ID`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `action_id` | integer | Yes | A unique numeric ID that can be used to identify and reference an action |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/actions/{action_id}?api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

### Category: Apps

#### List All Apps

**Method**: `GET` | **LowCodeAPI Path**: `/v2/apps`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/apps?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/apps?page={page}&per_page={per_page}&with_projects={with_projects}&api_token={api_token}
```

**Description**: List all apps on your account.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Which 'page' of paginated results to return |
| `per_page` | integer | No | Number of items returned per page |
| `with_projects` | boolean | No | Whether the project_id of listed apps should be fetched and included |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/apps?page=VALUE&per_page=VALUE&with_projects=VALUE&api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Create a New App

**Method**: `POST` | **LowCodeAPI Path**: `/v2/apps`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/apps?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/apps?api_token={api_token}
```

**Description**: Create a new app by submitting an app specification.

**Request Body**:
```json
{
  "spec": "<object>"
}
```

**Request Body Fields**:

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `project_id` | string | No | The ID of the project the app should be assigned to |
| `spec` | object | Yes | The desired configuration of an application |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/digitalocean/v2/apps?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Delete an App

**Method**: `DELETE` | **LowCodeAPI Path**: `/v2/apps/{id}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/apps/{id}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/apps/id?id={id}&api_token={api_token}
```

**Description**: Delete an existing app.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The ID of the app |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X DELETE "https://api.lowcodeapi.com/digitalocean/v2/apps/{id}?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Retrieve an Existing App

**Method**: `GET` | **LowCodeAPI Path**: `/v2/apps/{id}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/apps/{id}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/apps/id?id={id}&name={name}&api_token={api_token}
```

**Description**: Retrieve details about an existing app by either its ID or name.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The ID of the app |

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | The name of the app to retrieve |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/apps/{id}?name=VALUE&api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Update an App

**Method**: `PUT` | **LowCodeAPI Path**: `/v2/apps/{id}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/apps/{id}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/apps/id?id={id}&api_token={api_token}
```

**Description**: Update an existing app by submitting a new app specification.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The ID of the app |

**Request Body**:
```json
{
  "spec": "<object>"
}
```

**Request Body Fields**:

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `spec` | object | Yes | The desired configuration of an application |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X PUT "https://api.lowcodeapi.com/digitalocean/v2/apps/{id}?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Retrieve Active Deployment Logs

**Method**: `GET` | **LowCodeAPI Path**: `/v2/apps/{app_id}/components/{component_name}/logs`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/apps/{app_id}/components/{component_name}/logs?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/apps/app_id/components/component_name/logs?app_id={app_id}&component_name={component_name}&type={type}&follow={follow}&pod_connection_timeout={pod_connection_timeout}&api_token={api_token}
```

**Description**: Retrieve the logs of the active deployment if one exists.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `app_id` | string | Yes | The app ID |
| `component_name` | string | Yes | An optional component name |

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `type` | string | Yes | The type of logs to retrieve |
| `follow` | boolean | No | Whether the logs should follow live updates |
| `pod_connection_timeout` | string | No | An optional time duration to wait if the underlying component instance is not immediately available |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/apps/{app_id}/components/{component_name}/logs?type=VALUE&follow=VALUE&pod_connection_timeout=VALUE&api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### List App Deployments

**Method**: `GET` | **LowCodeAPI Path**: `/v2/apps/{app_id}/deployments`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/apps/{app_id}/deployments?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/apps/app_id/deployments?app_id={app_id}&page={page}&per_page={per_page}&api_token={api_token}
```

**Description**: List all deployments of an app.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `app_id` | string | Yes | The app ID |

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Which 'page' of paginated results to return |
| `per_page` | integer | No | Number of items returned per page |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/apps/{app_id}/deployments?page=VALUE&per_page=VALUE&api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Create an App Deployment

**Method**: `POST` | **LowCodeAPI Path**: `/v2/apps/{app_id}/deployments`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/apps/{app_id}/deployments?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/apps/app_id/deployments?app_id={app_id}&api_token={api_token}
```

**Description**: Creating an app deployment will pull the latest changes from your repository and schedule a new deployment for your app.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `app_id` | string | Yes | The app ID |

**Request Body**:
```json
{
  "key": "value"
}
```

**Request Body Fields**:

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `force_build` | boolean | No |  |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/digitalocean/v2/apps/{app_id}/deployments?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Retrieve an App Deployment

**Method**: `GET` | **LowCodeAPI Path**: `/v2/apps/{app_id}/deployments/{deployment_id}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/apps/{app_id}/deployments/{deployment_id}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/apps/app_id/deployments/deployment_id?app_id={app_id}&deployment_id={deployment_id}&api_token={api_token}
```

**Description**: Retrieve information about an app deployment.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `app_id` | string | Yes | The app ID |
| `deployment_id` | string | Yes | The deployment ID |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/apps/{app_id}/deployments/{deployment_id}?api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Cancel a Deployment

**Method**: `POST` | **LowCodeAPI Path**: `/v2/apps/{app_id}/deployments/{deployment_id}/cancel`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/apps/{app_id}/deployments/{deployment_id}/cancel?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/apps/app_id/deployments/deployment_id/cancel?app_id={app_id}&deployment_id={deployment_id}&api_token={api_token}
```

**Description**: Immediately cancel an in-progress deployment.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `app_id` | string | Yes | The app ID |
| `deployment_id` | string | Yes | The deployment ID |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/digitalocean/v2/apps/{app_id}/deployments/{deployment_id}/cancel?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Retrieve Deployment Logs

**Method**: `GET` | **LowCodeAPI Path**: `/v2/apps/{app_id}/deployments/{deployment_id}/components/{component_name}/logs`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/apps/{app_id}/deployments/{deployment_id}/components/{component_name}/logs?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/apps/app_id/deployments/deployment_id/components/component_name/logs?app_id={app_id}&component_name={component_name}&deployment_id={deployment_id}&type={type}&follow={follow}&pod_connection_timeout={pod_connection_timeout}&api_token={api_token}
```

**Description**: Retrieve the logs of a past in-progress or active deployment.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `app_id` | string | Yes | The app ID |
| `component_name` | string | Yes | An optional component name |
| `deployment_id` | string | Yes | The deployment ID |

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `type` | string | Yes | The type of logs to retrieve |
| `follow` | boolean | No | Whether the logs should follow live updates |
| `pod_connection_timeout` | string | No | An optional time duration to wait if the underlying component instance is not immediately available |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/apps/{app_id}/deployments/{deployment_id}/components/{component_name}/logs?type=VALUE&follow=VALUE&pod_connection_timeout=VALUE&api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Retrieve Aggregate Deployment Logs

**Method**: `GET` | **LowCodeAPI Path**: `/v2/apps/{app_id}/deployments/{deployment_id}/logs`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/apps/{app_id}/deployments/{deployment_id}/logs?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/apps/app_id/deployments/deployment_id/logs?app_id={app_id}&deployment_id={deployment_id}&type={type}&follow={follow}&pod_connection_timeout={pod_connection_timeout}&api_token={api_token}
```

**Description**: Retrieve the logs of a past in-progress or active deployment.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `app_id` | string | Yes | The app ID |
| `deployment_id` | string | Yes | The deployment ID |

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `type` | string | Yes | The type of logs to retrieve |
| `follow` | boolean | No | Whether the logs should follow live updates |
| `pod_connection_timeout` | string | No | An optional time duration to wait if the underlying component instance is not immediately available |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/apps/{app_id}/deployments/{deployment_id}/logs?type=VALUE&follow=VALUE&pod_connection_timeout=VALUE&api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Retrieve Active Deployment Aggregate Logs

**Method**: `GET` | **LowCodeAPI Path**: `/v2/apps/{app_id}/logs`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/apps/{app_id}/logs?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/apps/app_id/logs?app_id={app_id}&type={type}&follow={follow}&pod_connection_timeout={pod_connection_timeout}&api_token={api_token}
```

**Description**: Retrieve the logs of the active deployment if one exists.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `app_id` | string | Yes | The app ID |

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `type` | string | Yes | The type of logs to retrieve |
| `follow` | boolean | No | Whether the logs should follow live updates |
| `pod_connection_timeout` | string | No | An optional time duration to wait if the underlying component instance is not immediately available |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/apps/{app_id}/logs?type=VALUE&follow=VALUE&pod_connection_timeout=VALUE&api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### List App Tiers

**Method**: `GET` | **LowCodeAPI Path**: `/v2/apps/tiers`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/apps/tiers?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/apps/tiers?api_token={api_token}
```

**Description**: List all app tiers.

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/apps/tiers?api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Retrieve an App Tier

**Method**: `GET` | **LowCodeAPI Path**: `/v2/apps/tiers/{slug}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/apps/tiers/{slug}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/apps/tiers/slug?slug={slug}&api_token={api_token}
```

**Description**: Retrieve information about a specific app tier.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `slug` | string | Yes | The slug of the tier |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/apps/tiers/{slug}?api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

*Note: Showing 15 of 27 endpoints in this category. See complete reference below.*

---

### Category: Billing

#### Get Customer Balance

**Method**: `GET` | **LowCodeAPI Path**: `/v2/customers/my/balance`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/customers/my/balance?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/customers/my/balance?api_token={api_token}
```

**Description**: To retrieve the balances on a customer's account send a GET request to `/v2/customers/my/balance`.

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/customers/my/balance?api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### List Billing History

**Method**: `GET` | **LowCodeAPI Path**: `/v2/customers/my/billing_history`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/customers/my/billing_history?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/customers/my/billing_history?api_token={api_token}
```

**Description**: To retrieve a list of all billing history entries send a GET request to `/v2/customers/my/billing_history`.

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/customers/my/billing_history?api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### List All Invoices

**Method**: `GET` | **LowCodeAPI Path**: `/v2/customers/my/invoices`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/customers/my/invoices?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/customers/my/invoices?page={page}&per_page={per_page}&api_token={api_token}
```

**Description**: To retrieve a list of all invoices send a GET request to `/v2/customers/my/invoices`.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Which 'page' of paginated results to return |
| `per_page` | integer | No | Number of items returned per page |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/customers/my/invoices?page=VALUE&per_page=VALUE&api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Retrieve an Invoice by UUID

**Method**: `GET` | **LowCodeAPI Path**: `/v2/customers/my/invoices/{invoice_uuid}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/customers/my/invoices/{invoice_uuid}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/customers/my/invoices/invoice_uuid?invoice_uuid={invoice_uuid}&api_token={api_token}
```

**Description**: To retrieve the invoice items for an invoice send a GET request to `/v2/customers/my/invoices/$INVOICE_UUID`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `invoice_uuid` | string | Yes | UUID of the invoice |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/customers/my/invoices/{invoice_uuid}?api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Retrieve an Invoice CSV by UUID

**Method**: `GET` | **LowCodeAPI Path**: `/v2/customers/my/invoices/{invoice_uuid}/csv`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/customers/my/invoices/{invoice_uuid}/csv?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/customers/my/invoices/invoice_uuid/csv?invoice_uuid={invoice_uuid}&api_token={api_token}
```

**Description**: To retrieve a CSV for an invoice send a GET request to `/v2/customers/my/invoices/$INVOICE_UUID/csv`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `invoice_uuid` | string | Yes | UUID of the invoice |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/customers/my/invoices/{invoice_uuid}/csv?api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Retrieve an Invoice PDF by UUID

**Method**: `GET` | **LowCodeAPI Path**: `/v2/customers/my/invoices/{invoice_uuid}/pdf`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/customers/my/invoices/{invoice_uuid}/pdf?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/customers/my/invoices/invoice_uuid/pdf?invoice_uuid={invoice_uuid}&api_token={api_token}
```

**Description**: To retrieve a PDF for an invoice send a GET request to `/v2/customers/my/invoices/$INVOICE_UUID/pdf`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `invoice_uuid` | string | Yes | UUID of the invoice |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/customers/my/invoices/{invoice_uuid}/pdf?api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Retrieve an Invoice Summary by UUID

**Method**: `GET` | **LowCodeAPI Path**: `/v2/customers/my/invoices/{invoice_uuid}/summary`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/customers/my/invoices/{invoice_uuid}/summary?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/customers/my/invoices/invoice_uuid/summary?invoice_uuid={invoice_uuid}&api_token={api_token}
```

**Description**: To retrieve a summary for an invoice send a GET request to `/v2/customers/my/invoices/$INVOICE_UUID/summary`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `invoice_uuid` | string | Yes | UUID of the invoice |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/customers/my/invoices/{invoice_uuid}/summary?api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

### Category: Block Storage

#### List All Block Storage Volumes

**Method**: `GET` | **LowCodeAPI Path**: `/v2/volumes`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/volumes?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/volumes?name={name}&page={page}&per_page={per_page}&region={region}&api_token={api_token}
```

**Description**: To list all of the block storage volumes available on your account send a GET request to `/v2/volumes`.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | The block storage volume's name |
| `page` | integer | No | Which 'page' of paginated results to return |
| `per_page` | integer | No | Number of items returned per page |
| `region` | string | No | The slug identifier for the region where the resource is available |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/volumes?name=VALUE&page=VALUE&per_page=VALUE&region=VALUE&api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Create a New Block Storage Volume

**Method**: `POST` | **LowCodeAPI Path**: `/v2/volumes`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/volumes?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/volumes?api_token={api_token}
```

**Description**: To create a new volume send a POST request to `/v2/volumes`.

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/digitalocean/v2/volumes?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Delete a Block Storage Volume by Name

**Method**: `DELETE` | **LowCodeAPI Path**: `/v2/volumes`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/volumes?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/volumes?name={name}&region={region}&api_token={api_token}
```

**Description**: Block storage volumes may also be deleted by name by sending a DELETE request with the volume's **name** and the **region slug** for the region it is located in as query parameters to `/v2/volumes?name=$VOLUME_NAME&region=nyc1`.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | The block storage volume's name |
| `region` | string | No | The slug identifier for the region where the resource is available |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X DELETE "https://api.lowcodeapi.com/digitalocean/v2/volumes?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Retrieve an Existing Volume Snapshot

**Method**: `GET` | **LowCodeAPI Path**: `/v2/volumes/snapshots/{snapshot_id}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/volumes/snapshots/{snapshot_id}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/volumes/snapshots/snapshot_id?snapshot_id={snapshot_id}&api_token={api_token}
```

**Description**: To retrieve the details of a snapshot that has been created from a volume send a GET request to `/v2/volumes/snapshots/$SNAPSHOT_ID`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `snapshot_id` |  | Yes | Either the ID of an existing snapshot |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/volumes/snapshots/{snapshot_id}?api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Delete a Volume Snapshot

**Method**: `DELETE` | **LowCodeAPI Path**: `/v2/volumes/snapshots/{snapshot_id}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/volumes/snapshots/{snapshot_id}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/volumes/snapshots/snapshot_id?snapshot_id={snapshot_id}&api_token={api_token}
```

**Description**: To delete a volume snapshot send a DELETE request to
`/v2/snapshots/$SNAPSHOT_ID`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `snapshot_id` |  | Yes | Either the ID of an existing snapshot |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X DELETE "https://api.lowcodeapi.com/digitalocean/v2/volumes/snapshots/{snapshot_id}?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Retrieve an Existing Block Storage Volume

**Method**: `GET` | **LowCodeAPI Path**: `/v2/volumes/{volume_id}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/volumes/{volume_id}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/volumes/volume_id?volume_id={volume_id}&api_token={api_token}
```

**Description**: To show information about a block storage volume send a GET request to `/v2/volumes/$VOLUME_ID`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `volume_id` | string | Yes | The ID of the block storage volume |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/volumes/{volume_id}?api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Delete a Block Storage Volume

**Method**: `DELETE` | **LowCodeAPI Path**: `/v2/volumes/{volume_id}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/volumes/{volume_id}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/volumes/volume_id?volume_id={volume_id}&api_token={api_token}
```

**Description**: To delete a block storage volume destroying all data and removing it from your account send a DELETE request to `/v2/volumes/$VOLUME_ID`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `volume_id` | string | Yes | The ID of the block storage volume |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X DELETE "https://api.lowcodeapi.com/digitalocean/v2/volumes/{volume_id}?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### List Snapshots for a Volume

**Method**: `GET` | **LowCodeAPI Path**: `/v2/volumes/{volume_id}/snapshots`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/volumes/{volume_id}/snapshots?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/volumes/volume_id/snapshots?volume_id={volume_id}&page={page}&per_page={per_page}&api_token={api_token}
```

**Description**: To retrieve the snapshots that have been created from a volume send a GET request to `/v2/volumes/$VOLUME_ID/snapshots`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `volume_id` | string | Yes | The ID of the block storage volume |

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Which 'page' of paginated results to return |
| `per_page` | integer | No | Number of items returned per page |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/volumes/{volume_id}/snapshots?page=VALUE&per_page=VALUE&api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Create Snapshot from a Volume

**Method**: `POST` | **LowCodeAPI Path**: `/v2/volumes/{volume_id}/snapshots`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/volumes/{volume_id}/snapshots?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/volumes/volume_id/snapshots?volume_id={volume_id}&api_token={api_token}
```

**Description**: To create a snapshot from a volume sent a POST request to `/v2/volumes/$VOLUME_ID/snapshots`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `volume_id` | string | Yes | The ID of the block storage volume |

**Request Body**:
```json
{
  "name": "<string>"
}
```

**Request Body Fields**:

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `name` | string | Yes | A human-readable name for the volume snapshot |
| `tags` | array | No | A flat array of tag names as strings to be applied to the resource |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/digitalocean/v2/volumes/{volume_id}/snapshots?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

### Category: Block Storage Actions

#### Initiate A Block Storage Action By Volume Name

**Method**: `POST` | **LowCodeAPI Path**: `/v2/volumes/actions`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/volumes/actions?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/volumes/actions?page={page}&per_page={per_page}&api_token={api_token}
```

**Description**: To initiate an action on a block storage volume by Name send a POST request to
`~/v2/volumes/actions`.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Which 'page' of paginated results to return |
| `per_page` | integer | No | Number of items returned per page |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/digitalocean/v2/volumes/actions?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### List All Actions for a Volume

**Method**: `GET` | **LowCodeAPI Path**: `/v2/volumes/{volume_id}/actions`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/volumes/{volume_id}/actions?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/volumes/volume_id/actions?volume_id={volume_id}&page={page}&per_page={per_page}&api_token={api_token}
```

**Description**: To retrieve all actions that have been executed on a volume send a GET request to `/v2/volumes/$VOLUME_ID/actions`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `volume_id` | string | Yes | The ID of the block storage volume |

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Which 'page' of paginated results to return |
| `per_page` | integer | No | Number of items returned per page |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/volumes/{volume_id}/actions?page=VALUE&per_page=VALUE&api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Initiate A Block Storage Action By Volume Id

**Method**: `POST` | **LowCodeAPI Path**: `/v2/volumes/{volume_id}/actions`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/volumes/{volume_id}/actions?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/volumes/volume_id/actions?volume_id={volume_id}&page={page}&per_page={per_page}&api_token={api_token}
```

**Description**: To initiate an action on a block storage volume by Id send a POST request to
`~/v2/volumes/$VOLUME_ID/actions`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `volume_id` | string | Yes | The ID of the block storage volume |

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Which 'page' of paginated results to return |
| `per_page` | integer | No | Number of items returned per page |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/digitalocean/v2/volumes/{volume_id}/actions?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Retrieve an Existing Volume Action

**Method**: `GET` | **LowCodeAPI Path**: `/v2/volumes/{volume_id}/actions/{action_id}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/volumes/{volume_id}/actions/{action_id}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/volumes/volume_id/actions/action_id?action_id={action_id}&volume_id={volume_id}&page={page}&per_page={per_page}&api_token={api_token}
```

**Description**: To retrieve the status of a volume action send a GET request to `/v2/volumes/$VOLUME_ID/actions/$ACTION_ID`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `action_id` | integer | Yes | A unique numeric ID that can be used to identify and reference an action |
| `volume_id` | string | Yes | The ID of the block storage volume |

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Which 'page' of paginated results to return |
| `per_page` | integer | No | Number of items returned per page |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/volumes/{volume_id}/actions/{action_id}?page=VALUE&per_page=VALUE&api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

### Category: CDN Endpoints

#### List All CDN Endpoints

**Method**: `GET` | **LowCodeAPI Path**: `/v2/cdn/endpoints`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/cdn/endpoints?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/cdn/endpoints?page={page}&per_page={per_page}&api_token={api_token}
```

**Description**: To list all of the CDN endpoints available on your account send a GET request to `/v2/cdn/endpoints`.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Which 'page' of paginated results to return |
| `per_page` | integer | No | Number of items returned per page |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/cdn/endpoints?page=VALUE&per_page=VALUE&api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Create a New CDN Endpoint

**Method**: `POST` | **LowCodeAPI Path**: `/v2/cdn/endpoints`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/cdn/endpoints?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/cdn/endpoints?api_token={api_token}
```

**Description**: To create a new CDN endpoint send a POST request to `/v2/cdn/endpoints`.

**Request Body**:
```json
{
  "origin": "<string>"
}
```

**Request Body Fields**:

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `certificate_id` | string | No | The ID of a DigitalOcean managed TLS certificate used for SSL when a custom subdomain is provided |
| `created_at` | string | No | A time value given in ISO8601 combined date and time format that represents when the CDN endpoint was created |
| `custom_domain` | string | No | The fully qualified domain name (FQDN) of the custom subdomain used with the CDN endpoint |
| `endpoint` | string | No | The fully qualified domain name (FQDN) from which the CDN-backed content is served |
| `id` | string | No | A unique ID that can be used to identify and reference a CDN endpoint |
| `origin` | string | Yes | The fully qualified domain name (FQDN) for the origin server which provides the content for the CDN |
| `ttl` | integer | No | The amount of time the content is cached by the CDN's edge servers in seconds |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/digitalocean/v2/cdn/endpoints?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Retrieve an Existing CDN Endpoint

**Method**: `GET` | **LowCodeAPI Path**: `/v2/cdn/endpoints/{cdn_id}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/cdn/endpoints/{cdn_id}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/cdn/endpoints/cdn_id?cdn_id={cdn_id}&api_token={api_token}
```

**Description**: To show information about an existing CDN endpoint send a GET request to `/v2/cdn/endpoints/$ENDPOINT_ID`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cdn_id` | string | Yes | A unique identifier for a CDN endpoint |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/cdn/endpoints/{cdn_id}?api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Update a CDN Endpoint

**Method**: `PUT` | **LowCodeAPI Path**: `/v2/cdn/endpoints/{cdn_id}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/cdn/endpoints/{cdn_id}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/cdn/endpoints/cdn_id?cdn_id={cdn_id}&api_token={api_token}
```

**Description**: To update the TTL certificate ID or the FQDN of the custom subdomain for an existing CDN endpoint send a PUT request to `/v2/cdn/endpoints/$ENDPOINT_ID`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cdn_id` | string | Yes | A unique identifier for a CDN endpoint |

**Request Body**:
```json
{
  "key": "value"
}
```

**Request Body Fields**:

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `certificate_id` | string | No | The ID of a DigitalOcean managed TLS certificate used for SSL when a custom subdomain is provided |
| `custom_domain` | string | No | The fully qualified domain name (FQDN) of the custom subdomain used with the CDN endpoint |
| `ttl` | integer | No | The amount of time the content is cached by the CDN's edge servers in seconds |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X PUT "https://api.lowcodeapi.com/digitalocean/v2/cdn/endpoints/{cdn_id}?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Delete a CDN Endpoint

**Method**: `DELETE` | **LowCodeAPI Path**: `/v2/cdn/endpoints/{cdn_id}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/cdn/endpoints/{cdn_id}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/cdn/endpoints/cdn_id?cdn_id={cdn_id}&api_token={api_token}
```

**Description**: To delete a specific CDN endpoint send a DELETE request to
`/v2/cdn/endpoints/$ENDPOINT_ID`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cdn_id` | string | Yes | A unique identifier for a CDN endpoint |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X DELETE "https://api.lowcodeapi.com/digitalocean/v2/cdn/endpoints/{cdn_id}?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Purge the Cache for an Existing CDN Endpoint

**Method**: `DELETE` | **LowCodeAPI Path**: `/v2/cdn/endpoints/{cdn_id}/cache`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/cdn/endpoints/{cdn_id}/cache?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/cdn/endpoints/cdn_id/cache?cdn_id={cdn_id}&api_token={api_token}
```

**Description**: To purge cached content from a CDN endpoint send a DELETE request to
`/v2/cdn/endpoints/$ENDPOINT_ID/cache`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cdn_id` | string | Yes | A unique identifier for a CDN endpoint |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X DELETE "https://api.lowcodeapi.com/digitalocean/v2/cdn/endpoints/{cdn_id}/cache?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

### Category: Certificates

#### List All Certificates

**Method**: `GET` | **LowCodeAPI Path**: `/v2/certificates`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/certificates?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/certificates?page={page}&per_page={per_page}&api_token={api_token}
```

**Description**: To list all of the certificates available on your account send a GET request to `/v2/certificates`.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Which 'page' of paginated results to return |
| `per_page` | integer | No | Number of items returned per page |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/certificates?page=VALUE&per_page=VALUE&api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Create a New Certificate

**Method**: `POST` | **LowCodeAPI Path**: `/v2/certificates`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/certificates?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/certificates?api_token={api_token}
```

**Description**: To upload new SSL certificate which you have previously generated send a POST
request to `/v2/certificates`.

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/digitalocean/v2/certificates?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Retrieve an Existing Certificate

**Method**: `GET` | **LowCodeAPI Path**: `/v2/certificates/{certificate_id}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/certificates/{certificate_id}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/certificates/certificate_id?certificate_id={certificate_id}&api_token={api_token}
```

**Description**: To show information about an existing certificate send a GET request to `/v2/certificates/$CERTIFICATE_ID`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `certificate_id` | string | Yes | A unique identifier for a certificate |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/certificates/{certificate_id}?api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Delete a Certificate

**Method**: `DELETE` | **LowCodeAPI Path**: `/v2/certificates/{certificate_id}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/certificates/{certificate_id}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/certificates/certificate_id?certificate_id={certificate_id}&api_token={api_token}
```

**Description**: To delete a specific certificate send a DELETE request to
`/v2/certificates/$CERTIFICATE_ID`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `certificate_id` | string | Yes | A unique identifier for a certificate |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X DELETE "https://api.lowcodeapi.com/digitalocean/v2/certificates/{certificate_id}?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

### Category: Container Registry

#### Get Container Registry Information

**Method**: `GET` | **LowCodeAPI Path**: `/v2/registry`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/registry?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/registry?api_token={api_token}
```

**Description**: To get information about your container registry send a GET request to `/v2/registry`.

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/registry?api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Create Container Registry

**Method**: `POST` | **LowCodeAPI Path**: `/v2/registry`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/registry?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/registry?api_token={api_token}
```

**Description**: To create your container registry send a POST request to `/v2/registry`.

**Request Body**:
```json
{
  "name": "<string>",
  "subscription_tier_slug": "<string>"
}
```

**Request Body Fields**:

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `name` | string | Yes | A globally unique name for the container registry |
| `region` | string | No | Slug of the region where registry data is stored |
| `subscription_tier_slug` | string | Yes | The slug of the subscription tier to sign up for |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/digitalocean/v2/registry?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Delete Container Registry

**Method**: `DELETE` | **LowCodeAPI Path**: `/v2/registry`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/registry?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/registry?api_token={api_token}
```

**Description**: To delete your container registry destroying all container image data stored in it send a DELETE request to `/v2/registry`.

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X DELETE "https://api.lowcodeapi.com/digitalocean/v2/registry?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Get Subscription Information

**Method**: `GET` | **LowCodeAPI Path**: `/v2/registry/subscription`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/registry/subscription?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/registry/subscription?api_token={api_token}
```

**Description**: A subscription is automatically created when you configure your container registry.

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/registry/subscription?api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Update Subscription Tier

**Method**: `POST` | **LowCodeAPI Path**: `/v2/registry/subscription`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/registry/subscription?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/registry/subscription?api_token={api_token}
```

**Description**: After creating your registry you can switch to a different subscription tier to better suit your needs.

**Request Body**:
```json
{
  "key": "value"
}
```

**Request Body Fields**:

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `tier_slug` | string | No | The slug of the subscription tier to sign up for |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/digitalocean/v2/registry/subscription?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Get Docker Credentials for Container Registry

**Method**: `GET` | **LowCodeAPI Path**: `/v2/registry/docker-credentials`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/registry/docker-credentials?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/registry/docker-credentials?expiry_seconds={expiry_seconds}&read_write={read_write}&api_token={api_token}
```

**Description**: In order to access your container registry with the Docker client or from a
Kubernetes cluster you will need to configure authentication.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expiry_seconds` | integer | No | The duration in seconds that the returned registry credentials will be valid |
| `read_write` | boolean | No | By default the registry credentials allow for read-only access |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/registry/docker-credentials?expiry_seconds=VALUE&read_write=VALUE&api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Validate a Container Registry Name

**Method**: `POST` | **LowCodeAPI Path**: `/v2/registry/validate-name`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/registry/validate-name?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/registry/validate-name?api_token={api_token}
```

**Description**: To validate that a container registry name is available for use send a POST
request to `/v2/registry/validate-name`.

**Request Body**:
```json
{
  "name": "<string>"
}
```

**Request Body Fields**:

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `name` | string | Yes | A globally unique name for the container registry |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/digitalocean/v2/registry/validate-name?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### List All Container Registry Repositories

**Method**: `GET` | **LowCodeAPI Path**: `/v2/registry/{registry_name}/repositories`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/registry/{registry_name}/repositories?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/registry/registry_name/repositories?registry_name={registry_name}&page={page}&per_page={per_page}&api_token={api_token}
```

**Description**: This endpoint has been deprecated in favor of the _List All Container Registry Repositories [V2]_ endpoint.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `registry_name` | string | Yes | The name of a container registry |

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Which 'page' of paginated results to return |
| `per_page` | integer | No | Number of items returned per page |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/registry/{registry_name}/repositories?page=VALUE&per_page=VALUE&api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### List All Container Registry Repositories (V2)

**Method**: `GET` | **LowCodeAPI Path**: `/v2/registry/{registry_name}/repositoriesV2`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/registry/{registry_name}/repositoriesV2?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/registry/registry_name/repositoriesv2?registry_name={registry_name}&page={page}&page_token={page_token}&per_page={per_page}&api_token={api_token}
```

**Description**: To list all repositories in your container registry send a GET request to `/v2/registry/$REGISTRY_NAME/repositoriesV2`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `registry_name` | string | Yes | The name of a container registry |

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Which 'page' of paginated results to return |
| `page_token` | string | No | Token to retrieve of the next or previous set of results more quickly than using 'page' |
| `per_page` | integer | No | Number of items returned per page |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/registry/{registry_name}/repositoriesV2?page=VALUE&page_token=VALUE&per_page=VALUE&api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### List All Container Registry Repository Tags

**Method**: `GET` | **LowCodeAPI Path**: `/v2/registry/{registry_name}/{repository_name}/tags`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/registry/{registry_name}/{repository_name}/tags?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/registry/registry_name/repository_name/tags?registry_name={registry_name}&repository_name={repository_name}&page={page}&per_page={per_page}&api_token={api_token}
```

**Description**: To list all tags in your container registry repository send a GET
request to `/v2/registry/$REGISTRY_NAME/repositories/$REPOSITORY_NAME/tags`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `registry_name` | string | Yes | The name of a container registry |
| `repository_name` | string | Yes | The name of a container registry repository |

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Which 'page' of paginated results to return |
| `per_page` | integer | No | Number of items returned per page |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/registry/{registry_name}/{repository_name}/tags?page=VALUE&per_page=VALUE&api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Delete Container Registry Repository Tag

**Method**: `DELETE` | **LowCodeAPI Path**: `/v2/registry/{registry_name}/{repository_name}/tags/{repository_tag}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/registry/{registry_name}/{repository_name}/tags/{repository_tag}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/registry/registry_name/repository_name/tags/repository_tag?registry_name={registry_name}&repository_name={repository_name}&repository_tag={repository_tag}&api_token={api_token}
```

**Description**: To delete a container repository tag send a DELETE request to
`/v2/registry/$REGISTRY_NAME/repositories/$REPOSITORY_NAME/tags/$TAG`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `registry_name` | string | Yes | The name of a container registry |
| `repository_name` | string | Yes | The name of a container registry repository |
| `repository_tag` | string | Yes | The name of a container registry repository tag |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X DELETE "https://api.lowcodeapi.com/digitalocean/v2/registry/{registry_name}/{repository_name}/tags/{repository_tag}?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### List All Container Registry Repository Manifests

**Method**: `GET` | **LowCodeAPI Path**: `/v2/registry/{registry_name}/{repository_name}/digests`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/registry/{registry_name}/{repository_name}/digests?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/registry/registry_name/repository_name/digests?registry_name={registry_name}&repository_name={repository_name}&page={page}&per_page={per_page}&api_token={api_token}
```

**Description**: To list all manifests in your container registry repository send a GET
request to `/v2/registry/$REGISTRY_NAME/repositories/$REPOSITORY_NAME/digests`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `registry_name` | string | Yes | The name of a container registry |
| `repository_name` | string | Yes | The name of a container registry repository |

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Which 'page' of paginated results to return |
| `per_page` | integer | No | Number of items returned per page |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/registry/{registry_name}/{repository_name}/digests?page=VALUE&per_page=VALUE&api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Delete Container Registry Repository Manifest

**Method**: `DELETE` | **LowCodeAPI Path**: `/v2/registry/{registry_name}/{repository_name}/digests/{manifest_digest}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/registry/{registry_name}/{repository_name}/digests/{manifest_digest}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/registry/registry_name/repository_name/digests/manifest_digest?manifest_digest={manifest_digest}&registry_name={registry_name}&repository_name={repository_name}&api_token={api_token}
```

**Description**: To delete a container repository manifest by digest send a DELETE request to
`/v2/registry/$REGISTRY_NAME/repositories/$REPOSITORY_NAME/digests/$MANIFEST_DIGEST`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `manifest_digest` | string | Yes | The manifest digest of a container registry repository tag |
| `registry_name` | string | Yes | The name of a container registry |
| `repository_name` | string | Yes | The name of a container registry repository |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X DELETE "https://api.lowcodeapi.com/digitalocean/v2/registry/{registry_name}/{repository_name}/digests/{manifest_digest}?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Start Garbage Collection

**Method**: `POST` | **LowCodeAPI Path**: `/v2/registry/{registry_name}/garbage-collection`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/registry/{registry_name}/garbage-collection?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/registry/registry_name/garbage-collection?registry_name={registry_name}&api_token={api_token}
```

**Description**: Garbage collection enables users to clear out unreferenced blobs (layer &
manifest data) after deleting one or more manifests from a repository.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `registry_name` | string | Yes | The name of a container registry |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/digitalocean/v2/registry/{registry_name}/garbage-collection?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Get Active Garbage Collection

**Method**: `GET` | **LowCodeAPI Path**: `/v2/registry/{registry_name}/garbage-collection`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/registry/{registry_name}/garbage-collection?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/registry/registry_name/garbage-collection?registry_name={registry_name}&api_token={api_token}
```

**Description**: To get information about the currently-active garbage collection for a registry send a GET request to `/v2/registry/$REGISTRY_NAME/garbage-collection`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `registry_name` | string | Yes | The name of a container registry |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/registry/{registry_name}/garbage-collection?api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

*Note: Showing 15 of 18 endpoints in this category. See complete reference below.*

---

### Category: Databases

#### List Database Options

**Method**: `GET` | **LowCodeAPI Path**: `/v2/databases/options`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/databases/options?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/databases/options?api_token={api_token}
```

**Description**: To list all of the options available for the offered database engines send a GET request to `/v2/databases/options`.

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/databases/options?api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### List All Database Clusters

**Method**: `GET` | **LowCodeAPI Path**: `/v2/databases`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/databases?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/databases?tag_name={tag_name}&api_token={api_token}
```

**Description**: To list all of the database clusters available on your account send a GET request to `/v2/databases`.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tag_name` | string | No | Limits the results to database clusters with a specific tag |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/databases?tag_name=VALUE&api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Create a New Database Cluster

**Method**: `POST` | **LowCodeAPI Path**: `/v2/databases`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/databases?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/databases?api_token={api_token}
```

**Description**: To create a database cluster send a POST request to `/v2/databases`.

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/digitalocean/v2/databases?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Retrieve an Existing Database Cluster

**Method**: `GET` | **LowCodeAPI Path**: `/v2/databases/{database_cluster_uuid}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/databases/{database_cluster_uuid}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/databases/database_cluster_uuid?database_cluster_uuid={database_cluster_uuid}&api_token={api_token}
```

**Description**: To show information about an existing database cluster send a GET request to `/v2/databases/$DATABASE_ID`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `database_cluster_uuid` | string | Yes | A unique identifier for a database cluster |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/databases/{database_cluster_uuid}?api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Destroy a Database Cluster

**Method**: `DELETE` | **LowCodeAPI Path**: `/v2/databases/{database_cluster_uuid}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/databases/{database_cluster_uuid}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/databases/database_cluster_uuid?database_cluster_uuid={database_cluster_uuid}&api_token={api_token}
```

**Description**: To destroy a specific database send a DELETE request to `/v2/databases/$DATABASE_ID`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `database_cluster_uuid` | string | Yes | A unique identifier for a database cluster |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X DELETE "https://api.lowcodeapi.com/digitalocean/v2/databases/{database_cluster_uuid}?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Retrieve an Existing Database Cluster Configuration

**Method**: `GET` | **LowCodeAPI Path**: `/v2/databases/{database_cluster_uuid}/config`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/databases/{database_cluster_uuid}/config?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/databases/database_cluster_uuid/config?database_cluster_uuid={database_cluster_uuid}&api_token={api_token}
```

**Description**: Shows configuration parameters for an existing database cluster by sending a GET request to
`/v2/databases/$DATABASE_ID/config`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `database_cluster_uuid` | string | Yes | A unique identifier for a database cluster |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/databases/{database_cluster_uuid}/config?api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Update the Database Configuration for an Existing Database

**Method**: `PATCH` | **LowCodeAPI Path**: `/v2/databases/{database_cluster_uuid}/config`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/databases/{database_cluster_uuid}/config?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/databases/database_cluster_uuid/config?database_cluster_uuid={database_cluster_uuid}&api_token={api_token}
```

**Description**: To update the configuration for an existing database cluster send a PATCH request to
`/v2/databases/$DATABASE_ID/config`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `database_cluster_uuid` | string | Yes | A unique identifier for a database cluster |

**Request Body**:
```json
{
  "key": "value"
}
```

**Request Body Fields**:

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `config` |  | No |  |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X PATCH "https://api.lowcodeapi.com/digitalocean/v2/databases/{database_cluster_uuid}/config?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Retrieve the Public Certificate

**Method**: `GET` | **LowCodeAPI Path**: `/v2/databases/{database_cluster_uuid}/ca`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/databases/{database_cluster_uuid}/ca?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/databases/database_cluster_uuid/ca?database_cluster_uuid={database_cluster_uuid}&api_token={api_token}
```

**Description**: To retrieve the public certificate used to secure the connection to the database cluster send a GET request to
`/v2/databases/$DATABASE_ID/ca`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `database_cluster_uuid` | string | Yes | A unique identifier for a database cluster |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/databases/{database_cluster_uuid}/ca?api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Retrieve the Status of an Online Migration

**Method**: `GET` | **LowCodeAPI Path**: `/v2/databases/{database_cluster_uuid}/online-migration`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/databases/{database_cluster_uuid}/online-migration?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/databases/database_cluster_uuid/online-migration?database_cluster_uuid={database_cluster_uuid}&api_token={api_token}
```

**Description**: To retrieve the status of the most recent online migration send a GET request to `/v2/databases/$DATABASE_ID/online-migration`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `database_cluster_uuid` | string | Yes | A unique identifier for a database cluster |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/databases/{database_cluster_uuid}/online-migration?api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Start an Online Migration

**Method**: `PUT` | **LowCodeAPI Path**: `/v2/databases/{database_cluster_uuid}/online-migration`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/databases/{database_cluster_uuid}/online-migration?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/databases/database_cluster_uuid/online-migration?database_cluster_uuid={database_cluster_uuid}&api_token={api_token}
```

**Description**: To start an online migration send a PUT request to `/v2/databases/$DATABASE_ID/online-migration` endpoint.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `database_cluster_uuid` | string | Yes | A unique identifier for a database cluster |

**Request Body**:
```json
{
  "key": "value"
}
```

**Request Body Fields**:

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `disable_ssl` | boolean | No | Enables SSL encryption when connecting to the source database |
| `source` | object | No |  |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X PUT "https://api.lowcodeapi.com/digitalocean/v2/databases/{database_cluster_uuid}/online-migration?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Stop an Online Migration

**Method**: `DELETE` | **LowCodeAPI Path**: `/v2/databases/{database_cluster_uuid}/online-migration/{migration_id}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/databases/{database_cluster_uuid}/online-migration/{migration_id}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/databases/database_cluster_uuid/online-migration/migration_id?database_cluster_uuid={database_cluster_uuid}&migration_id={migration_id}&api_token={api_token}
```

**Description**: To stop an online migration send a DELETE request to `/v2/databases/$DATABASE_ID/online-migration/$MIGRATION_ID`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `database_cluster_uuid` | string | Yes | A unique identifier for a database cluster |
| `migration_id` | string | Yes | A unique identifier assigned to the online migration |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X DELETE "https://api.lowcodeapi.com/digitalocean/v2/databases/{database_cluster_uuid}/online-migration/{migration_id}?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Migrate a Database Cluster to a New Region

**Method**: `PUT` | **LowCodeAPI Path**: `/v2/databases/{database_cluster_uuid}/migrate`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/databases/{database_cluster_uuid}/migrate?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/databases/database_cluster_uuid/migrate?database_cluster_uuid={database_cluster_uuid}&api_token={api_token}
```

**Description**: To migrate a database cluster to a new region send a `PUT` request to
`/v2/databases/$DATABASE_ID/migrate`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `database_cluster_uuid` | string | Yes | A unique identifier for a database cluster |

**Request Body**:
```json
{
  "region": "<string>"
}
```

**Request Body Fields**:

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `region` | string | Yes | A slug identifier for the region to which the database cluster will be migrated |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X PUT "https://api.lowcodeapi.com/digitalocean/v2/databases/{database_cluster_uuid}/migrate?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Resize a Database Cluster

**Method**: `PUT` | **LowCodeAPI Path**: `/v2/databases/{database_cluster_uuid}/resize`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/databases/{database_cluster_uuid}/resize?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/databases/database_cluster_uuid/resize?database_cluster_uuid={database_cluster_uuid}&api_token={api_token}
```

**Description**: To resize a database cluster send a PUT request to `/v2/databases/$DATABASE_ID/resize`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `database_cluster_uuid` | string | Yes | A unique identifier for a database cluster |

**Request Body**:
```json
{
  "num_nodes": "<integer>",
  "size": "<string>"
}
```

**Request Body Fields**:

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `num_nodes` | integer | Yes | The number of nodes in the database cluster |
| `size` | string | Yes | A slug identifier representing desired the size of the nodes in the database cluster |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X PUT "https://api.lowcodeapi.com/digitalocean/v2/databases/{database_cluster_uuid}/resize?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### List Firewall Rules (Trusted Sources) for a Database Cluster

**Method**: `GET` | **LowCodeAPI Path**: `/v2/databases/{database_cluster_uuid}/firewall`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/databases/{database_cluster_uuid}/firewall?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/databases/database_cluster_uuid/firewall?database_cluster_uuid={database_cluster_uuid}&api_token={api_token}
```

**Description**: To list all of a database cluster's firewall rules (known as "trusted sources" in the control panel) send a GET request to `/v2/databases/$DATABASE_ID/firewall`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `database_cluster_uuid` | string | Yes | A unique identifier for a database cluster |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/databases/{database_cluster_uuid}/firewall?api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Update Firewall Rules (Trusted Sources) for a Database

**Method**: `PUT` | **LowCodeAPI Path**: `/v2/databases/{database_cluster_uuid}/firewall`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/databases/{database_cluster_uuid}/firewall?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/databases/database_cluster_uuid/firewall?database_cluster_uuid={database_cluster_uuid}&api_token={api_token}
```

**Description**: To update a database cluster's firewall rules (known as "trusted sources" in the control panel) send a PUT request to `/v2/databases/$DATABASE_ID/firewall` specifying which resources should be able to open connections to the database.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `database_cluster_uuid` | string | Yes | A unique identifier for a database cluster |

**Request Body**:
```json
{
  "key": "value"
}
```

**Request Body Fields**:

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `rules` | array | No |  |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X PUT "https://api.lowcodeapi.com/digitalocean/v2/databases/{database_cluster_uuid}/firewall?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

*Note: Showing 15 of 41 endpoints in this category. See complete reference below.*

---

### Category: Domain Records

#### List All Domain Records

**Method**: `GET` | **LowCodeAPI Path**: `/v2/domains/{domain_name}/records`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/domains/{domain_name}/records?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/domains/domain_name/records?domain_name={domain_name}&type={type}&name={name}&page={page}&per_page={per_page}&api_token={api_token}
```

**Description**: To get a listing of all records configured for a domain send a GET request to `/v2/domains/$DOMAIN_NAME/records`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `domain_name` | string | Yes | The name of the domain itself |

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `type` | string | No | The type of the DNS record |
| `name` | string | No | A fully qualified record name |
| `page` | integer | No | Which 'page' of paginated results to return |
| `per_page` | integer | No | Number of items returned per page |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/domains/{domain_name}/records?type=VALUE&name=VALUE&page=VALUE&per_page=VALUE&api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Create a New Domain Record

**Method**: `POST` | **LowCodeAPI Path**: `/v2/domains/{domain_name}/records`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/domains/{domain_name}/records?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/domains/domain_name/records?domain_name={domain_name}&api_token={api_token}
```

**Description**: To create a new record to a domain send a POST request to
`/v2/domains/$DOMAIN_NAME/records`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `domain_name` | string | Yes | The name of the domain itself |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/digitalocean/v2/domains/{domain_name}/records?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Retrieve an Existing Domain Record

**Method**: `GET` | **LowCodeAPI Path**: `/v2/domains/{domain_name}/records/{domain_record_id}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/domains/{domain_name}/records/{domain_record_id}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/domains/domain_name/records/domain_record_id?domain_name={domain_name}&domain_record_id={domain_record_id}&api_token={api_token}
```

**Description**: To retrieve a specific domain record send a GET request to `/v2/domains/$DOMAIN_NAME/records/$RECORD_ID`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `domain_name` | string | Yes | The name of the domain itself |
| `domain_record_id` | integer | Yes | The unique identifier of the domain record |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/domains/{domain_name}/records/{domain_record_id}?api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Update a Domain Record

**Method**: `PATCH` | **LowCodeAPI Path**: `/v2/domains/{domain_name}/records/{domain_record_id}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/domains/{domain_name}/records/{domain_record_id}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/domains/domain_name/records/domain_record_id?domain_name={domain_name}&domain_record_id={domain_record_id}&api_token={api_token}
```

**Description**: To update an existing record send a PATCH request to
`/v2/domains/$DOMAIN_NAME/records/$DOMAIN_RECORD_ID`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `domain_name` | string | Yes | The name of the domain itself |
| `domain_record_id` | integer | Yes | The unique identifier of the domain record |

**Request Body**:
```json
{
  "type": "<string>"
}
```

**Request Body Fields**:

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `type` | string | Yes | The type of the DNS record |
| `data` | string | No | Variable data depending on record type |
| `flags` | integer | No | An unsigned integer between 0-255 used for CAA records |
| `id` | integer | No | A unique identifier for each domain record |
| `name` | string | No | The host name alias or service being defined by the record |
| `port` | integer | No | The port for SRV records |
| `priority` | integer | No | The priority for SRV and MX records |
| `tag` | string | No | The parameter tag for CAA records |
| `ttl` | integer | No | This value is the time to live for the record in seconds |
| `weight` | integer | No | The weight for SRV records |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X PATCH "https://api.lowcodeapi.com/digitalocean/v2/domains/{domain_name}/records/{domain_record_id}?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Update a Domain Record

**Method**: `PUT` | **LowCodeAPI Path**: `/v2/domains/{domain_name}/records/{domain_record_id}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/domains/{domain_name}/records/{domain_record_id}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/domains/domain_name/records/domain_record_id?domain_name={domain_name}&domain_record_id={domain_record_id}&api_token={api_token}
```

**Description**: To update an existing record send a PUT request to
`/v2/domains/$DOMAIN_NAME/records/$DOMAIN_RECORD_ID`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `domain_name` | string | Yes | The name of the domain itself |
| `domain_record_id` | integer | Yes | The unique identifier of the domain record |

**Request Body**:
```json
{
  "type": "<string>"
}
```

**Request Body Fields**:

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `type` | string | Yes | The type of the DNS record |
| `data` | string | No | Variable data depending on record type |
| `flags` | integer | No | An unsigned integer between 0-255 used for CAA records |
| `id` | integer | No | A unique identifier for each domain record |
| `name` | string | No | The host name alias or service being defined by the record |
| `port` | integer | No | The port for SRV records |
| `priority` | integer | No | The priority for SRV and MX records |
| `tag` | string | No | The parameter tag for CAA records |
| `ttl` | integer | No | This value is the time to live for the record in seconds |
| `weight` | integer | No | The weight for SRV records |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X PUT "https://api.lowcodeapi.com/digitalocean/v2/domains/{domain_name}/records/{domain_record_id}?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Delete a Domain Record

**Method**: `DELETE` | **LowCodeAPI Path**: `/v2/domains/{domain_name}/records/{domain_record_id}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/domains/{domain_name}/records/{domain_record_id}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/domains/domain_name/records/domain_record_id?domain_name={domain_name}&domain_record_id={domain_record_id}&api_token={api_token}
```

**Description**: To delete a record for a domain send a DELETE request to
`/v2/domains/$DOMAIN_NAME/records/$DOMAIN_RECORD_ID`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `domain_name` | string | Yes | The name of the domain itself |
| `domain_record_id` | integer | Yes | The unique identifier of the domain record |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X DELETE "https://api.lowcodeapi.com/digitalocean/v2/domains/{domain_name}/records/{domain_record_id}?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

### Category: Domains

#### List All Domains

**Method**: `GET` | **LowCodeAPI Path**: `/v2/domains`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/domains?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/domains?page={page}&per_page={per_page}&api_token={api_token}
```

**Description**: To retrieve a list of all of the domains in your account send a GET request to `/v2/domains`.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Which 'page' of paginated results to return |
| `per_page` | integer | No | Number of items returned per page |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/domains?page=VALUE&per_page=VALUE&api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Create a New Domain

**Method**: `POST` | **LowCodeAPI Path**: `/v2/domains`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/domains?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/domains?api_token={api_token}
```

**Description**: To create a new domain send a POST request to `/v2/domains`.

**Request Body**:
```json
{
  "key": "value"
}
```

**Request Body Fields**:

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `ip_address` | string | No | This optional attribute may contain an IP address |
| `name` | string | No | The name of the domain itself |
| `ttl` | integer | No | This value is the time to live for the records on this domain in seconds |
| `zone_file` | string | No | This attribute contains the complete contents of the zone file for the selected domain |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/digitalocean/v2/domains?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Retrieve an Existing Domain

**Method**: `GET` | **LowCodeAPI Path**: `/v2/domains/{domain_name}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/domains/{domain_name}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/domains/domain_name?domain_name={domain_name}&api_token={api_token}
```

**Description**: To get details about a specific domain send a GET request to `/v2/domains/$DOMAIN_NAME`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `domain_name` | string | Yes | The name of the domain itself |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/domains/{domain_name}?api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Delete a Domain

**Method**: `DELETE` | **LowCodeAPI Path**: `/v2/domains/{domain_name}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/domains/{domain_name}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/domains/domain_name?domain_name={domain_name}&api_token={api_token}
```

**Description**: To delete a domain send a DELETE request to `/v2/domains/$DOMAIN_NAME`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `domain_name` | string | Yes | The name of the domain itself |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X DELETE "https://api.lowcodeapi.com/digitalocean/v2/domains/{domain_name}?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

### Category: Droplet Actions

#### List Actions for a Droplet

**Method**: `GET` | **LowCodeAPI Path**: `/v2/droplets/{droplet_id}/actions`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/droplets/{droplet_id}/actions?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/droplets/droplet_id/actions?droplet_id={droplet_id}&page={page}&per_page={per_page}&api_token={api_token}
```

**Description**: To retrieve a list of all actions that have been executed for a Droplet send
a GET request to `/v2/droplets/$DROPLET_ID/actions`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `droplet_id` | integer | Yes | A unique identifier for a Droplet instance |

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Which 'page' of paginated results to return |
| `per_page` | integer | No | Number of items returned per page |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/droplets/{droplet_id}/actions?page=VALUE&per_page=VALUE&api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Initiate a Droplet Action

**Method**: `POST` | **LowCodeAPI Path**: `/v2/droplets/{droplet_id}/actions`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/droplets/{droplet_id}/actions?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/droplets/droplet_id/actions?droplet_id={droplet_id}&api_token={api_token}
```

**Description**: To initiate an action on a Droplet send a POST request to
`/v2/droplets/$DROPLET_ID/actions`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `droplet_id` | integer | Yes | A unique identifier for a Droplet instance |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/digitalocean/v2/droplets/{droplet_id}/actions?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Acting on Tagged Droplets

**Method**: `POST` | **LowCodeAPI Path**: `/v2/droplets/actions`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/droplets/actions?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/droplets/actions?tag_name={tag_name}&api_token={api_token}
```

**Description**: Some actions can be performed in bulk on tagged Droplets.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tag_name` | string | No | Used to filter Droplets by a specific tag |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/digitalocean/v2/droplets/actions?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Retrieve a Droplet Action

**Method**: `GET` | **LowCodeAPI Path**: `/v2/droplets/{droplet_id}/actions/{action_id}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/droplets/{droplet_id}/actions/{action_id}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/droplets/droplet_id/actions/action_id?action_id={action_id}&droplet_id={droplet_id}&api_token={api_token}
```

**Description**: To retrieve a Droplet action send a GET request to
`/v2/droplets/$DROPLET_ID/actions/$ACTION_ID`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `action_id` | integer | Yes | A unique numeric ID that can be used to identify and reference an action |
| `droplet_id` | integer | Yes | A unique identifier for a Droplet instance |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/droplets/{droplet_id}/actions/{action_id}?api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

### Category: Droplets

#### List All Droplets

**Method**: `GET` | **LowCodeAPI Path**: `/v2/droplets`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/droplets?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/droplets?name={name}&page={page}&per_page={per_page}&tag_name={tag_name}&api_token={api_token}
```

**Description**: To list all Droplets in your account send a GET request to `/v2/droplets`.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Used to filter list response by Droplet name returning only exact matches |
| `page` | integer | No | Which 'page' of paginated results to return |
| `per_page` | integer | No | Number of items returned per page |
| `tag_name` | string | No | Used to filter Droplets by a specific tag |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/droplets?name=VALUE&page=VALUE&per_page=VALUE&tag_name=VALUE&api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Create a New Droplet

**Method**: `POST` | **LowCodeAPI Path**: `/v2/droplets`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/droplets?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/droplets?api_token={api_token}
```

**Description**: To create a new Droplet send a POST request to `/v2/droplets` setting the
required attributes.

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/digitalocean/v2/droplets?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Deleting Droplets by Tag

**Method**: `DELETE` | **LowCodeAPI Path**: `/v2/droplets`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/droplets?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/droplets?tag_name={tag_name}&api_token={api_token}
```

**Description**: To delete **all** Droplets assigned to a specific tag include the `tag_name`
query parameter set to the name of the tag in your DELETE request.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tag_name` | string | Yes | Specifies Droplets to be deleted by tag |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X DELETE "https://api.lowcodeapi.com/digitalocean/v2/droplets?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Retrieve an Existing Droplet

**Method**: `GET` | **LowCodeAPI Path**: `/v2/droplets/{droplet_id}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/droplets/{droplet_id}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/droplets/droplet_id?droplet_id={droplet_id}&api_token={api_token}
```

**Description**: To show information about an individual Droplet send a GET request to
`/v2/droplets/$DROPLET_ID`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `droplet_id` | integer | Yes | A unique identifier for a Droplet instance |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/droplets/{droplet_id}?api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Delete an Existing Droplet

**Method**: `DELETE` | **LowCodeAPI Path**: `/v2/droplets/{droplet_id}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/droplets/{droplet_id}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/droplets/droplet_id?droplet_id={droplet_id}&api_token={api_token}
```

**Description**: To delete a Droplet send a DELETE request to `/v2/droplets/$DROPLET_ID`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `droplet_id` | integer | Yes | A unique identifier for a Droplet instance |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X DELETE "https://api.lowcodeapi.com/digitalocean/v2/droplets/{droplet_id}?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### List Backups for a Droplet

**Method**: `GET` | **LowCodeAPI Path**: `/v2/droplets/{droplet_id}/backups`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/droplets/{droplet_id}/backups?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/droplets/droplet_id/backups?droplet_id={droplet_id}&page={page}&per_page={per_page}&api_token={api_token}
```

**Description**: To retrieve any backups associated with a Droplet send a GET request to
`/v2/droplets/$DROPLET_ID/backups`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `droplet_id` | integer | Yes | A unique identifier for a Droplet instance |

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Which 'page' of paginated results to return |
| `per_page` | integer | No | Number of items returned per page |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/droplets/{droplet_id}/backups?page=VALUE&per_page=VALUE&api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### List Snapshots for a Droplet

**Method**: `GET` | **LowCodeAPI Path**: `/v2/droplets/{droplet_id}/snapshots`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/droplets/{droplet_id}/snapshots?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/droplets/droplet_id/snapshots?droplet_id={droplet_id}&page={page}&per_page={per_page}&api_token={api_token}
```

**Description**: To retrieve the snapshots that have been created from a Droplet send a GET
request to `/v2/droplets/$DROPLET_ID/snapshots`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `droplet_id` | integer | Yes | A unique identifier for a Droplet instance |

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Which 'page' of paginated results to return |
| `per_page` | integer | No | Number of items returned per page |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/droplets/{droplet_id}/snapshots?page=VALUE&per_page=VALUE&api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### List All Available Kernels for a Droplet

**Method**: `GET` | **LowCodeAPI Path**: `/v2/droplets/{droplet_id}/kernels`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/droplets/{droplet_id}/kernels?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/droplets/droplet_id/kernels?droplet_id={droplet_id}&page={page}&per_page={per_page}&api_token={api_token}
```

**Description**: To retrieve a list of all kernels available to a Droplet send a GET request
to `/v2/droplets/$DROPLET_ID/kernels`

The response will be a JSON object that has a key called `kernels`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `droplet_id` | integer | Yes | A unique identifier for a Droplet instance |

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Which 'page' of paginated results to return |
| `per_page` | integer | No | Number of items returned per page |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/droplets/{droplet_id}/kernels?page=VALUE&per_page=VALUE&api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### List all Firewalls Applied to a Droplet

**Method**: `GET` | **LowCodeAPI Path**: `/v2/droplets/{droplet_id}/firewalls`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/droplets/{droplet_id}/firewalls?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/droplets/droplet_id/firewalls?droplet_id={droplet_id}&page={page}&per_page={per_page}&api_token={api_token}
```

**Description**: To retrieve a list of all firewalls available to a Droplet send a GET request
to `/v2/droplets/$DROPLET_ID/firewalls`

The response will be a JSON object that has a key called `firewalls`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `droplet_id` | integer | Yes | A unique identifier for a Droplet instance |

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Which 'page' of paginated results to return |
| `per_page` | integer | No | Number of items returned per page |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/droplets/{droplet_id}/firewalls?page=VALUE&per_page=VALUE&api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### List Neighbors for a Droplet

**Method**: `GET` | **LowCodeAPI Path**: `/v2/droplets/{droplet_id}/neighbors`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/droplets/{droplet_id}/neighbors?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/droplets/droplet_id/neighbors?droplet_id={droplet_id}&api_token={api_token}
```

**Description**: To retrieve a list of any "neighbors" (i.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `droplet_id` | integer | Yes | A unique identifier for a Droplet instance |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/droplets/{droplet_id}/neighbors?api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### List Associated Resources for a Droplet

**Method**: `GET` | **LowCodeAPI Path**: `/v2/droplets/{droplet_id}/destroy_with_associated_resources`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/droplets/{droplet_id}/destroy_with_associated_resources?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/droplets/droplet_id/destroy_with_associated_resources?droplet_id={droplet_id}&api_token={api_token}
```

**Description**: To list the associated billable resources that can be destroyed along with a
Droplet send a GET request to the
`/v2/droplets/$DROPLET_ID/destroy_with_associated_resources` endpoint.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `droplet_id` | integer | Yes | A unique identifier for a Droplet instance |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/droplets/{droplet_id}/destroy_with_associated_resources?api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Selectively Destroy a Droplet and its Associated Resources

**Method**: `DELETE` | **LowCodeAPI Path**: `/v2/droplets/{droplet_id}/destroy_with_associated_resources/selective`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/droplets/{droplet_id}/destroy_with_associated_resources/selective?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/droplets/droplet_id/destroy_with_associated_resources/selective?droplet_id={droplet_id}&api_token={api_token}
```

**Description**: To destroy a Droplet along with a sub-set of its associated resources send a
DELETE request to the `/v2/droplets/$DROPLET_ID/destroy_with_associated_resources/selective`
endpoint.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `droplet_id` | integer | Yes | A unique identifier for a Droplet instance |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X DELETE "https://api.lowcodeapi.com/digitalocean/v2/droplets/{droplet_id}/destroy_with_associated_resources/selective?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Destroy a Droplet and All of its Associated Resources (Dangerous)

**Method**: `DELETE` | **LowCodeAPI Path**: `/v2/droplets/{droplet_id}/destroy_with_associated_resources/dangerous`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/droplets/{droplet_id}/destroy_with_associated_resources/dangerous?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/droplets/droplet_id/destroy_with_associated_resources/dangerous?droplet_id={droplet_id}&api_token={api_token}
```

**Description**: To destroy a Droplet along with all of its associated resources send a DELETE
request to the `/v2/droplets/$DROPLET_ID/destroy_with_associated_resources/dangerous`
endpoint.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `droplet_id` | integer | Yes | A unique identifier for a Droplet instance |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X DELETE "https://api.lowcodeapi.com/digitalocean/v2/droplets/{droplet_id}/destroy_with_associated_resources/dangerous?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Check Status of a Droplet Destroy with Associated Resources Request

**Method**: `GET` | **LowCodeAPI Path**: `/v2/droplets/{droplet_id}/destroy_with_associated_resources/status`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/droplets/{droplet_id}/destroy_with_associated_resources/status?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/droplets/droplet_id/destroy_with_associated_resources/status?droplet_id={droplet_id}&api_token={api_token}
```

**Description**: To check on the status of a request to destroy a Droplet with its associated
resources send a GET request to the
`/v2/droplets/$DROPLET_ID/destroy_with_associated_resources/status` endpoint.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `droplet_id` | integer | Yes | A unique identifier for a Droplet instance |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/droplets/{droplet_id}/destroy_with_associated_resources/status?api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Retry a Droplet Destroy with Associated Resources Request

**Method**: `POST` | **LowCodeAPI Path**: `/v2/droplets/{droplet_id}/destroy_with_associated_resources/retry`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/droplets/{droplet_id}/destroy_with_associated_resources/retry?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/droplets/droplet_id/destroy_with_associated_resources/retry?droplet_id={droplet_id}&api_token={api_token}
```

**Description**: If the status of a request to destroy a Droplet with its associated resources
reported any errors it can be retried by sending a POST request to the
`/v2/droplets/$DROPLET_ID/destroy_with_associated_resources/retry` endpoint.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `droplet_id` | integer | Yes | A unique identifier for a Droplet instance |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/digitalocean/v2/droplets/{droplet_id}/destroy_with_associated_resources/retry?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

*Note: Showing 15 of 16 endpoints in this category. See complete reference below.*

---

### Category: Firewalls

#### List All Firewalls

**Method**: `GET` | **LowCodeAPI Path**: `/v2/firewalls`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/firewalls?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/firewalls?page={page}&per_page={per_page}&api_token={api_token}
```

**Description**: To list all of the firewalls available on your account send a GET request to `/v2/firewalls`.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Which 'page' of paginated results to return |
| `per_page` | integer | No | Number of items returned per page |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/firewalls?page=VALUE&per_page=VALUE&api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Create a New Firewall

**Method**: `POST` | **LowCodeAPI Path**: `/v2/firewalls`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/firewalls?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/firewalls?api_token={api_token}
```

**Description**: To create a new firewall send a POST request to `/v2/firewalls`.

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/digitalocean/v2/firewalls?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Retrieve an Existing Firewall

**Method**: `GET` | **LowCodeAPI Path**: `/v2/firewalls/{firewall_id}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/firewalls/{firewall_id}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/firewalls/firewall_id?firewall_id={firewall_id}&api_token={api_token}
```

**Description**: To show information about an existing firewall send a GET request to `/v2/firewalls/$FIREWALL_ID`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `firewall_id` | string | Yes | A unique ID that can be used to identify and reference a firewall |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/firewalls/{firewall_id}?api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Update a Firewall

**Method**: `PUT` | **LowCodeAPI Path**: `/v2/firewalls/{firewall_id}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/firewalls/{firewall_id}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/firewalls/firewall_id?firewall_id={firewall_id}&api_token={api_token}
```

**Description**: To update the configuration of an existing firewall send a PUT request to
`/v2/firewalls/$FIREWALL_ID`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `firewall_id` | string | Yes | A unique ID that can be used to identify and reference a firewall |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X PUT "https://api.lowcodeapi.com/digitalocean/v2/firewalls/{firewall_id}?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Delete a Firewall

**Method**: `DELETE` | **LowCodeAPI Path**: `/v2/firewalls/{firewall_id}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/firewalls/{firewall_id}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/firewalls/firewall_id?firewall_id={firewall_id}&api_token={api_token}
```

**Description**: To delete a firewall send a DELETE request to `/v2/firewalls/$FIREWALL_ID`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `firewall_id` | string | Yes | A unique ID that can be used to identify and reference a firewall |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X DELETE "https://api.lowcodeapi.com/digitalocean/v2/firewalls/{firewall_id}?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Add Droplets to a Firewall

**Method**: `POST` | **LowCodeAPI Path**: `/v2/firewalls/{firewall_id}/droplets`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/firewalls/{firewall_id}/droplets?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/firewalls/firewall_id/droplets?firewall_id={firewall_id}&api_token={api_token}
```

**Description**: To assign a Droplet to a firewall send a POST request to
`/v2/firewalls/$FIREWALL_ID/droplets`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `firewall_id` | string | Yes | A unique ID that can be used to identify and reference a firewall |

**Request Body**:
```json
{
  "droplet_ids": "<array>"
}
```

**Request Body Fields**:

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `droplet_ids` | array | Yes | An array containing the IDs of the Droplets to be assigned to the firewall |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/digitalocean/v2/firewalls/{firewall_id}/droplets?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Remove Droplets from a Firewall

**Method**: `DELETE` | **LowCodeAPI Path**: `/v2/firewalls/{firewall_id}/droplets`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/firewalls/{firewall_id}/droplets?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/firewalls/firewall_id/droplets?firewall_id={firewall_id}&api_token={api_token}
```

**Description**: To remove a Droplet from a firewall send a DELETE request to
`/v2/firewalls/$FIREWALL_ID/droplets`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `firewall_id` | string | Yes | A unique ID that can be used to identify and reference a firewall |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X DELETE "https://api.lowcodeapi.com/digitalocean/v2/firewalls/{firewall_id}/droplets?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Add Tags to a Firewall

**Method**: `POST` | **LowCodeAPI Path**: `/v2/firewalls/{firewall_id}/tags`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/firewalls/{firewall_id}/tags?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/firewalls/firewall_id/tags?firewall_id={firewall_id}&api_token={api_token}
```

**Description**: To assign a tag representing a group of Droplets to a firewall send a POST
request to `/v2/firewalls/$FIREWALL_ID/tags`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `firewall_id` | string | Yes | A unique ID that can be used to identify and reference a firewall |

**Request Body**:
```json
{
  "tags": "<>"
}
```

**Request Body Fields**:

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `tags` |  | Yes |  |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/digitalocean/v2/firewalls/{firewall_id}/tags?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Remove Tags from a Firewall

**Method**: `DELETE` | **LowCodeAPI Path**: `/v2/firewalls/{firewall_id}/tags`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/firewalls/{firewall_id}/tags?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/firewalls/firewall_id/tags?firewall_id={firewall_id}&api_token={api_token}
```

**Description**: To remove a tag representing a group of Droplets from a firewall send a
DELETE request to `/v2/firewalls/$FIREWALL_ID/tags`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `firewall_id` | string | Yes | A unique ID that can be used to identify and reference a firewall |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X DELETE "https://api.lowcodeapi.com/digitalocean/v2/firewalls/{firewall_id}/tags?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Add Rules to a Firewall

**Method**: `POST` | **LowCodeAPI Path**: `/v2/firewalls/{firewall_id}/rules`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/firewalls/{firewall_id}/rules?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/firewalls/firewall_id/rules?firewall_id={firewall_id}&api_token={api_token}
```

**Description**: To add additional access rules to a firewall send a POST request to
`/v2/firewalls/$FIREWALL_ID/rules`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `firewall_id` | string | Yes | A unique ID that can be used to identify and reference a firewall |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/digitalocean/v2/firewalls/{firewall_id}/rules?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Remove Rules from a Firewall

**Method**: `DELETE` | **LowCodeAPI Path**: `/v2/firewalls/{firewall_id}/rules`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/firewalls/{firewall_id}/rules?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/firewalls/firewall_id/rules?firewall_id={firewall_id}&api_token={api_token}
```

**Description**: To remove access rules from a firewall send a DELETE request to
`/v2/firewalls/$FIREWALL_ID/rules`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `firewall_id` | string | Yes | A unique ID that can be used to identify and reference a firewall |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X DELETE "https://api.lowcodeapi.com/digitalocean/v2/firewalls/{firewall_id}/rules?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

### Category: Floating IP Actions

#### List All Actions for a Floating IP

**Method**: `GET` | **LowCodeAPI Path**: `/v2/floating_ips/{floating_ip}/actions`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/floating_ips/{floating_ip}/actions?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/floating_ips/floating_ip/actions?floating_ip={floating_ip}&api_token={api_token}
```

**Description**: To retrieve all actions that have been executed on a floating IP send a GET request to `/v2/floating_ips/$FLOATING_IP/actions`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `floating_ip` | string | Yes | A floating IP address |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/floating_ips/{floating_ip}/actions?api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Initiate a Floating IP Action

**Method**: `POST` | **LowCodeAPI Path**: `/v2/floating_ips/{floating_ip}/actions`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/floating_ips/{floating_ip}/actions?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/floating_ips/floating_ip/actions?floating_ip={floating_ip}&api_token={api_token}
```

**Description**: To initiate an action on a floating IP send a POST request to
`/v2/floating_ips/$FLOATING_IP/actions`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `floating_ip` | string | Yes | A floating IP address |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/digitalocean/v2/floating_ips/{floating_ip}/actions?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Retrieve an Existing Floating IP Action

**Method**: `GET` | **LowCodeAPI Path**: `/v2/floating_ips/{floating_ip}/actions/{action_id}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/floating_ips/{floating_ip}/actions/{action_id}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/floating_ips/floating_ip/actions/action_id?action_id={action_id}&floating_ip={floating_ip}&api_token={api_token}
```

**Description**: To retrieve the status of a floating IP action send a GET request to `/v2/floating_ips/$FLOATING_IP/actions/$ACTION_ID`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `action_id` | integer | Yes | A unique numeric ID that can be used to identify and reference an action |
| `floating_ip` | string | Yes | A floating IP address |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/floating_ips/{floating_ip}/actions/{action_id}?api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

### Category: Floating IPs

#### List All Floating IPs

**Method**: `GET` | **LowCodeAPI Path**: `/v2/floating_ips`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/floating_ips?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/floating_ips?page={page}&per_page={per_page}&api_token={api_token}
```

**Description**: To list all of the floating IPs available on your account send a GET request to `/v2/floating_ips`.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Which 'page' of paginated results to return |
| `per_page` | integer | No | Number of items returned per page |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/floating_ips?page=VALUE&per_page=VALUE&api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Create a New Floating IP

**Method**: `POST` | **LowCodeAPI Path**: `/v2/floating_ips`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/floating_ips?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/floating_ips?api_token={api_token}
```

**Description**: On creation a floating IP must be either assigned to a Droplet or reserved to a region.

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/digitalocean/v2/floating_ips?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Retrieve an Existing Floating IP

**Method**: `GET` | **LowCodeAPI Path**: `/v2/floating_ips/{floating_ip}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/floating_ips/{floating_ip}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/floating_ips/floating_ip?floating_ip={floating_ip}&api_token={api_token}
```

**Description**: To show information about a floating IP send a GET request to `/v2/floating_ips/$FLOATING_IP_ADDR`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `floating_ip` | string | Yes | A floating IP address |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/floating_ips/{floating_ip}?api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Delete a Floating IP

**Method**: `DELETE` | **LowCodeAPI Path**: `/v2/floating_ips/{floating_ip}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/floating_ips/{floating_ip}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/floating_ips/floating_ip?floating_ip={floating_ip}&api_token={api_token}
```

**Description**: To delete a floating IP and remove it from your account send a DELETE request
to `/v2/floating_ips/$FLOATING_IP_ADDR`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `floating_ip` | string | Yes | A floating IP address |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X DELETE "https://api.lowcodeapi.com/digitalocean/v2/floating_ips/{floating_ip}?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

### Category: Functions

#### List Namespaces

**Method**: `GET` | **LowCodeAPI Path**: `/v2/functions/namespaces`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/functions/namespaces?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/functions/namespaces?api_token={api_token}
```

**Description**: Returns a list of namespaces associated with the current user.

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/functions/namespaces?api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Create Namespace

**Method**: `POST` | **LowCodeAPI Path**: `/v2/functions/namespaces`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/functions/namespaces?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/functions/namespaces?api_token={api_token}
```

**Description**: Creates a new serverless functions namespace in the desired region and associates it with the provided label.

**Request Body**:
```json
{
  "label": "<string>",
  "region": "<string>"
}
```

**Request Body Fields**:

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `label` | string | Yes | The namespace's unique name |
| `region` | string | Yes | The [datacenter region](https//docs |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/digitalocean/v2/functions/namespaces?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Get Namespace

**Method**: `GET` | **LowCodeAPI Path**: `/v2/functions/namespaces/{namespace_id}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/functions/namespaces/{namespace_id}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/functions/namespaces/namespace_id?namespace_id={namespace_id}&api_token={api_token}
```

**Description**: Gets the namespace details for the given namespace UUID.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `namespace_id` | string | Yes | The ID of the namespace to be managed |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/functions/namespaces/{namespace_id}?api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Delete Namespace

**Method**: `DELETE` | **LowCodeAPI Path**: `/v2/functions/namespaces/{namespace_id}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/functions/namespaces/{namespace_id}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/functions/namespaces/namespace_id?namespace_id={namespace_id}&api_token={api_token}
```

**Description**: Deletes the given namespace.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `namespace_id` | string | Yes | The ID of the namespace to be managed |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X DELETE "https://api.lowcodeapi.com/digitalocean/v2/functions/namespaces/{namespace_id}?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### List Triggers

**Method**: `GET` | **LowCodeAPI Path**: `/v2/functions/namespaces/{namespace_id}/triggers`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/functions/namespaces/{namespace_id}/triggers?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/functions/namespaces/namespace_id/triggers?namespace_id={namespace_id}&api_token={api_token}
```

**Description**: Returns a list of triggers associated with the current user and namespace.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `namespace_id` | string | Yes | The ID of the namespace to be managed |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/functions/namespaces/{namespace_id}/triggers?api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Create Trigger

**Method**: `POST` | **LowCodeAPI Path**: `/v2/functions/namespaces/{namespace_id}/triggers`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/functions/namespaces/{namespace_id}/triggers?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/functions/namespaces/namespace_id/triggers?namespace_id={namespace_id}&api_token={api_token}
```

**Description**: Creates a new trigger for a given function in a namespace.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `namespace_id` | string | Yes | The ID of the namespace to be managed |

**Request Body**:
```json
{
  "type": "<string>",
  "function": "<string>",
  "is_enabled": "<boolean>",
  "name": "<string>",
  "scheduled_details": "<object>"
}
```

**Request Body Fields**:

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `type` | string | Yes | One of different type of triggers |
| `function` | string | Yes | Name of function(action) that exists in the given namespace |
| `is_enabled` | boolean | Yes | Indicates weather the trigger is paused or unpaused |
| `name` | string | Yes | The trigger's unique name within the namespace |
| `scheduled_details` | object | Yes | Trigger details for SCHEDULED type where body is optional |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/digitalocean/v2/functions/namespaces/{namespace_id}/triggers?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Get Trigger

**Method**: `GET` | **LowCodeAPI Path**: `/v2/functions/namespaces/{namespace_id}/triggers/{trigger_name}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/functions/namespaces/{namespace_id}/triggers/{trigger_name}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/functions/namespaces/namespace_id/triggers/trigger_name?namespace_id={namespace_id}&trigger_name={trigger_name}&api_token={api_token}
```

**Description**: Gets the trigger details.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `namespace_id` | string | Yes | The ID of the namespace to be managed |
| `trigger_name` | string | Yes | The name of the trigger to be managed |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/functions/namespaces/{namespace_id}/triggers/{trigger_name}?api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Update Trigger

**Method**: `PUT` | **LowCodeAPI Path**: `/v2/functions/namespaces/{namespace_id}/triggers/{trigger_name}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/functions/namespaces/{namespace_id}/triggers/{trigger_name}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/functions/namespaces/namespace_id/triggers/trigger_name?namespace_id={namespace_id}&trigger_name={trigger_name}&api_token={api_token}
```

**Description**: Updates the details of the given trigger.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `namespace_id` | string | Yes | The ID of the namespace to be managed |
| `trigger_name` | string | Yes | The name of the trigger to be managed |

**Request Body**:
```json
{
  "key": "value"
}
```

**Request Body Fields**:

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `is_enabled` | boolean | No | Indicates weather the trigger is paused or unpaused |
| `scheduled_details` | object | No | Trigger details for SCHEDULED type where body is optional |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X PUT "https://api.lowcodeapi.com/digitalocean/v2/functions/namespaces/{namespace_id}/triggers/{trigger_name}?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Delete Trigger

**Method**: `DELETE` | **LowCodeAPI Path**: `/v2/functions/namespaces/{namespace_id}/triggers/{trigger_name}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/functions/namespaces/{namespace_id}/triggers/{trigger_name}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/functions/namespaces/namespace_id/triggers/trigger_name?namespace_id={namespace_id}&trigger_name={trigger_name}&api_token={api_token}
```

**Description**: Deletes the given trigger.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `namespace_id` | string | Yes | The ID of the namespace to be managed |
| `trigger_name` | string | Yes | The name of the trigger to be managed |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X DELETE "https://api.lowcodeapi.com/digitalocean/v2/functions/namespaces/{namespace_id}/triggers/{trigger_name}?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

### Category: Image Actions

#### List All Actions for an Image

**Method**: `GET` | **LowCodeAPI Path**: `/v2/images/{image_id}/actions`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/images/{image_id}/actions?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/images/image_id/actions?image_id={image_id}&api_token={api_token}
```

**Description**: To retrieve all actions that have been executed on an image send a GET request to `/v2/images/$IMAGE_ID/actions`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `image_id` | integer | Yes | A unique number that can be used to identify and reference a specific image |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/images/{image_id}/actions?api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Initiate an Image Action

**Method**: `POST` | **LowCodeAPI Path**: `/v2/images/{image_id}/actions`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/images/{image_id}/actions?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/images/image_id/actions?image_id={image_id}&api_token={api_token}
```

**Description**: The following actions are available on an Image.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `image_id` | integer | Yes | A unique number that can be used to identify and reference a specific image |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/digitalocean/v2/images/{image_id}/actions?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Retrieve an Existing Action

**Method**: `GET` | **LowCodeAPI Path**: `/v2/images/{image_id}/actions/{action_id}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/images/{image_id}/actions/{action_id}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/images/image_id/actions/action_id?action_id={action_id}&image_id={image_id}&api_token={api_token}
```

**Description**: To retrieve the status of an image action send a GET request to `/v2/images/$IMAGE_ID/actions/$IMAGE_ACTION_ID`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `action_id` | integer | Yes | A unique numeric ID that can be used to identify and reference an action |
| `image_id` | integer | Yes | A unique number that can be used to identify and reference a specific image |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/images/{image_id}/actions/{action_id}?api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

### Category: Images

#### List All Images

**Method**: `GET` | **LowCodeAPI Path**: `/v2/images`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/images?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/images?type={type}&page={page}&per_page={per_page}&private={private}&tag_name={tag_name}&api_token={api_token}
```

**Description**: To list all of the images available on your account send a GET request to /v2/images.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `type` | string | No | Filters results based on image type which can be either `application` or `distribution` |
| `page` | integer | No | Which 'page' of paginated results to return |
| `per_page` | integer | No | Number of items returned per page |
| `private` | boolean | No | Used to filter only user images |
| `tag_name` | string | No | Used to filter images by a specific tag |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/images?type=VALUE&page=VALUE&per_page=VALUE&private=VALUE&tag_name=VALUE&api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Create a Custom Image

**Method**: `POST` | **LowCodeAPI Path**: `/v2/images`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/images?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/images?api_token={api_token}
```

**Description**: To create a new custom image send a POST request to /v2/images.

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/digitalocean/v2/images?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Retrieve an Existing Image

**Method**: `GET` | **LowCodeAPI Path**: `/v2/images/{image_id}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/images/{image_id}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/images/image_id?image_id={image_id}&api_token={api_token}
```

**Description**: To retrieve information about an image send a `GET` request to
`/v2/images/$IDENTIFIER`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `image_id` |  | Yes | A unique number (id) or string (slug) used to identify and reference a |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/images/{image_id}?api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Update an Image

**Method**: `PUT` | **LowCodeAPI Path**: `/v2/images/{image_id}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/images/{image_id}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/images/image_id?image_id={image_id}&api_token={api_token}
```

**Description**: To update an image send a `PUT` request to `/v2/images/$IMAGE_ID`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `image_id` | integer | Yes | A unique number that can be used to identify and reference a specific image |

**Request Body**:
```json
{
  "key": "value"
}
```

**Request Body Fields**:

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `description` | string | No | An optional free-form text field to describe an image |
| `distribution` | string | No | The name of a custom image's distribution |
| `name` | string | No | The display name that has been given to an image |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X PUT "https://api.lowcodeapi.com/digitalocean/v2/images/{image_id}?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Delete an Image

**Method**: `DELETE` | **LowCodeAPI Path**: `/v2/images/{image_id}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/images/{image_id}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/images/image_id?image_id={image_id}&api_token={api_token}
```

**Description**: To delete a snapshot or custom image send a `DELETE` request to `/v2/images/$IMAGE_ID`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `image_id` | integer | Yes | A unique number that can be used to identify and reference a specific image |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X DELETE "https://api.lowcodeapi.com/digitalocean/v2/images/{image_id}?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

### Category: Kubernetes

#### List All Kubernetes Clusters

**Method**: `GET` | **LowCodeAPI Path**: `/v2/kubernetes/clusters`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/kubernetes/clusters?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/kubernetes/clusters?page={page}&per_page={per_page}&api_token={api_token}
```

**Description**: To list all of the Kubernetes clusters on your account send a GET request
to `/v2/kubernetes/clusters`.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Which 'page' of paginated results to return |
| `per_page` | integer | No | Number of items returned per page |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/kubernetes/clusters?page=VALUE&per_page=VALUE&api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Create a New Kubernetes Cluster

**Method**: `POST` | **LowCodeAPI Path**: `/v2/kubernetes/clusters`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/kubernetes/clusters?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/kubernetes/clusters?api_token={api_token}
```

**Description**: To create a new Kubernetes cluster send a POST request to
`/v2/kubernetes/clusters`.

**Request Body**:
```json
{
  "name": "<string>",
  "node_pools": "<array>",
  "region": "<string>",
  "version": "<string>"
}
```

**Request Body Fields**:

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `auto_upgrade` | boolean | No | A boolean value indicating whether the cluster will be automatically upgraded to new patch releases during its maintenance window |
| `cluster_subnet` | string | No | The range of IP addresses in the overlay network of the Kubernetes cluster in CIDR notation |
| `created_at` | string | No | A time value given in ISO8601 combined date and time format that represents when the Kubernetes cluster was created |
| `endpoint` | string | No | The base URL of the API server on the Kubernetes master node |
| `ha` | boolean | No | A boolean value indicating whether the control plane is run in a highly available configuration in the cluster |
| `id` | string | No | A unique ID that can be used to identify and reference a Kubernetes cluster |
| `ipv4` | string | No | The public IPv4 address of the Kubernetes master node |
| `maintenance_policy` | object | No | An object specifying the maintenance window policy for the Kubernetes cluster |
| `name` | string | Yes | A human-readable name for a Kubernetes cluster |
| `node_pools` | array | Yes | An object specifying the details of the worker nodes available to the Kubernetes cluster |
| `region` | string | Yes | The slug identifier for the region where the Kubernetes cluster is located |
| `registry_enabled` | boolean | No | A read-only boolean value indicating if a container registry is integrated with the cluster |
| `service_subnet` | string | No | The range of assignable IP addresses for services running in the Kubernetes cluster in CIDR notation |
| `status` | object | No | An object containing a `state` attribute whose value is set to a string indicating the current status of the cluster |
| `surge_upgrade` | boolean | No | A boolean value indicating whether surge upgrade is enabled/disabled for the cluster |
| `tags` | array | No | An array of tags applied to the Kubernetes cluster |
| `version` | string | Yes | The slug identifier for the version of Kubernetes used for the cluster |
| `vpc_uuid` | string | No | A string specifying the UUID of the VPC to which the Kubernetes cluster is assigned |
| `updated_at` | string | No | A time value given in ISO8601 combined date and time format that represents when the Kubernetes cluster was last updated |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/digitalocean/v2/kubernetes/clusters?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Retrieve an Existing Kubernetes Cluster

**Method**: `GET` | **LowCodeAPI Path**: `/v2/kubernetes/clusters/{cluster_id}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/kubernetes/clusters/{cluster_id}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/kubernetes/clusters/cluster_id?cluster_id={cluster_id}&api_token={api_token}
```

**Description**: To show information about an existing Kubernetes cluster send a GET request
to `/v2/kubernetes/clusters/$K8S_CLUSTER_ID`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cluster_id` | string | Yes | A unique ID that can be used to reference a Kubernetes cluster |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/kubernetes/clusters/{cluster_id}?api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Update a Kubernetes Cluster

**Method**: `PUT` | **LowCodeAPI Path**: `/v2/kubernetes/clusters/{cluster_id}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/kubernetes/clusters/{cluster_id}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/kubernetes/clusters/cluster_id?cluster_id={cluster_id}&api_token={api_token}
```

**Description**: To update a Kubernetes cluster send a PUT request to
`/v2/kubernetes/clusters/$K8S_CLUSTER_ID` and specify one or more of the
attributes below.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cluster_id` | string | Yes | A unique ID that can be used to reference a Kubernetes cluster |

**Request Body**:
```json
{
  "name": "<string>"
}
```

**Request Body Fields**:

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `auto_upgrade` | boolean | No | A boolean value indicating whether the cluster will be automatically upgraded to new patch releases during its maintenance window |
| `ha` | boolean | No | A boolean value indicating whether the control plane is run in a highly available configuration in the cluster |
| `maintenance_policy` | object | No | An object specifying the maintenance window policy for the Kubernetes cluster |
| `name` | string | Yes | A human-readable name for a Kubernetes cluster |
| `surge_upgrade` | boolean | No | A boolean value indicating whether surge upgrade is enabled/disabled for the cluster |
| `tags` | array | No | An array of tags applied to the Kubernetes cluster |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X PUT "https://api.lowcodeapi.com/digitalocean/v2/kubernetes/clusters/{cluster_id}?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Delete a Kubernetes Cluster

**Method**: `DELETE` | **LowCodeAPI Path**: `/v2/kubernetes/clusters/{cluster_id}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/kubernetes/clusters/{cluster_id}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/kubernetes/clusters/cluster_id?cluster_id={cluster_id}&api_token={api_token}
```

**Description**: To delete a Kubernetes cluster and all services deployed to it send a DELETE
request to `/v2/kubernetes/clusters/$K8S_CLUSTER_ID`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cluster_id` | string | Yes | A unique ID that can be used to reference a Kubernetes cluster |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X DELETE "https://api.lowcodeapi.com/digitalocean/v2/kubernetes/clusters/{cluster_id}?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### List Associated Resources for Cluster Deletion

**Method**: `GET` | **LowCodeAPI Path**: `/v2/kubernetes/clusters/{cluster_id}/destroy_with_associated_resources`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/kubernetes/clusters/{cluster_id}/destroy_with_associated_resources?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/kubernetes/clusters/cluster_id/destroy_with_associated_resources?cluster_id={cluster_id}&api_token={api_token}
```

**Description**: To list the associated billable resources that can be destroyed along with a cluster send a GET request to the `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/destroy_with_associated_resources` endpoint.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cluster_id` | string | Yes | A unique ID that can be used to reference a Kubernetes cluster |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/kubernetes/clusters/{cluster_id}/destroy_with_associated_resources?api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Selectively Delete a Cluster and its Associated Resources

**Method**: `DELETE` | **LowCodeAPI Path**: `/v2/kubernetes/clusters/{cluster_id}/destroy_with_associated_resources/selective`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/kubernetes/clusters/{cluster_id}/destroy_with_associated_resources/selective?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/kubernetes/clusters/cluster_id/destroy_with_associated_resources/selective?cluster_id={cluster_id}&api_token={api_token}
```

**Description**: To delete a Kubernetes cluster along with a subset of its associated resources
send a DELETE request to `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/destroy_with_associated_resources/selective`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cluster_id` | string | Yes | A unique ID that can be used to reference a Kubernetes cluster |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X DELETE "https://api.lowcodeapi.com/digitalocean/v2/kubernetes/clusters/{cluster_id}/destroy_with_associated_resources/selective?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Delete a Cluster and All of its Associated Resources (Dangerous)

**Method**: `DELETE` | **LowCodeAPI Path**: `/v2/kubernetes/clusters/{cluster_id}/destroy_with_associated_resources/dangerous`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/kubernetes/clusters/{cluster_id}/destroy_with_associated_resources/dangerous?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/kubernetes/clusters/cluster_id/destroy_with_associated_resources/dangerous?cluster_id={cluster_id}&api_token={api_token}
```

**Description**: To delete a Kubernetes cluster with all of its associated resources send a
DELETE request to `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/destroy_with_associated_resources/dangerous`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cluster_id` | string | Yes | A unique ID that can be used to reference a Kubernetes cluster |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X DELETE "https://api.lowcodeapi.com/digitalocean/v2/kubernetes/clusters/{cluster_id}/destroy_with_associated_resources/dangerous?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Retrieve the kubeconfig for a Kubernetes Cluster

**Method**: `GET` | **LowCodeAPI Path**: `/v2/kubernetes/clusters/{cluster_id}/kubeconfig`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/kubernetes/clusters/{cluster_id}/kubeconfig?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/kubernetes/clusters/cluster_id/kubeconfig?cluster_id={cluster_id}&expiry_seconds={expiry_seconds}&api_token={api_token}
```

**Description**: This endpoint returns a kubeconfig file in YAML format.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cluster_id` | string | Yes | A unique ID that can be used to reference a Kubernetes cluster |

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expiry_seconds` | integer | No | The duration in seconds that the returned Kubernetes credentials will be valid |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/kubernetes/clusters/{cluster_id}/kubeconfig?expiry_seconds=VALUE&api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Retrieve Credentials for a Kubernetes Cluster

**Method**: `GET` | **LowCodeAPI Path**: `/v2/kubernetes/clusters/{cluster_id}/credentials`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/kubernetes/clusters/{cluster_id}/credentials?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/kubernetes/clusters/cluster_id/credentials?cluster_id={cluster_id}&expiry_seconds={expiry_seconds}&api_token={api_token}
```

**Description**: This endpoint returns a JSON object .

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cluster_id` | string | Yes | A unique ID that can be used to reference a Kubernetes cluster |

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expiry_seconds` | integer | No | The duration in seconds that the returned Kubernetes credentials will be valid |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/kubernetes/clusters/{cluster_id}/credentials?expiry_seconds=VALUE&api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Retrieve Available Upgrades for an Existing Kubernetes Cluster

**Method**: `GET` | **LowCodeAPI Path**: `/v2/kubernetes/clusters/{cluster_id}/upgrades`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/kubernetes/clusters/{cluster_id}/upgrades?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/kubernetes/clusters/cluster_id/upgrades?cluster_id={cluster_id}&api_token={api_token}
```

**Description**: To determine whether a cluster can be upgraded and the versions to which it
can be upgraded send a GET request to
`/v2/kubernetes/clusters/$K8S_CLUSTER_ID/upgrades`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cluster_id` | string | Yes | A unique ID that can be used to reference a Kubernetes cluster |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/kubernetes/clusters/{cluster_id}/upgrades?api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Upgrade a Kubernetes Cluster

**Method**: `POST` | **LowCodeAPI Path**: `/v2/kubernetes/clusters/{cluster_id}/upgrade`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/kubernetes/clusters/{cluster_id}/upgrade?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/kubernetes/clusters/cluster_id/upgrade?cluster_id={cluster_id}&api_token={api_token}
```

**Description**: To immediately upgrade a Kubernetes cluster to a newer patch release of
Kubernetes send a POST request to `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/upgrade`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cluster_id` | string | Yes | A unique ID that can be used to reference a Kubernetes cluster |

**Request Body**:
```json
{
  "key": "value"
}
```

**Request Body Fields**:

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `version` | string | No | The slug identifier for the version of Kubernetes that the cluster will be upgraded to |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/digitalocean/v2/kubernetes/clusters/{cluster_id}/upgrade?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### List All Node Pools in a Kubernetes Clusters

**Method**: `GET` | **LowCodeAPI Path**: `/v2/kubernetes/clusters/{cluster_id}/node_pools`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/kubernetes/clusters/{cluster_id}/node_pools?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/kubernetes/clusters/cluster_id/node_pools?cluster_id={cluster_id}&api_token={api_token}
```

**Description**: To list all of the node pools in a Kubernetes clusters send a GET request to
`/v2/kubernetes/clusters/$K8S_CLUSTER_ID/node_pools`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cluster_id` | string | Yes | A unique ID that can be used to reference a Kubernetes cluster |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/kubernetes/clusters/{cluster_id}/node_pools?api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Add a Node Pool to a Kubernetes Cluster

**Method**: `POST` | **LowCodeAPI Path**: `/v2/kubernetes/clusters/{cluster_id}/node_pools`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/kubernetes/clusters/{cluster_id}/node_pools?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/kubernetes/clusters/cluster_id/node_pools?cluster_id={cluster_id}&api_token={api_token}
```

**Description**: To add an additional node pool to a Kubernetes clusters send a POST request
to `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/node_pools` with the following
attributes.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cluster_id` | string | Yes | A unique ID that can be used to reference a Kubernetes cluster |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/digitalocean/v2/kubernetes/clusters/{cluster_id}/node_pools?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Retrieve a Node Pool for a Kubernetes Cluster

**Method**: `GET` | **LowCodeAPI Path**: `/v2/kubernetes/clusters/{cluster_id}/node_pools/{node_pool_id}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/kubernetes/clusters/{cluster_id}/node_pools/{node_pool_id}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/kubernetes/clusters/cluster_id/node_pools/node_pool_id?cluster_id={cluster_id}&node_pool_id={node_pool_id}&api_token={api_token}
```

**Description**: To show information about a specific node pool in a Kubernetes cluster send
a GET request to `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/node_pools/$NODE_POOL_ID`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cluster_id` | string | Yes | A unique ID that can be used to reference a Kubernetes cluster |
| `node_pool_id` | string | Yes | A unique ID that can be used to reference a Kubernetes node pool |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/kubernetes/clusters/{cluster_id}/node_pools/{node_pool_id}?api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

*Note: Showing 15 of 25 endpoints in this category. See complete reference below.*

---

### Category: Load Balancers

#### Create a New Load Balancer

**Method**: `POST` | **LowCodeAPI Path**: `/v2/load_balancers`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/load_balancers?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/load_balancers?api_token={api_token}
```

**Description**: To create a new load balancer instance send a POST request to
`/v2/load_balancers`.

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/digitalocean/v2/load_balancers?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### List All Load Balancers

**Method**: `GET` | **LowCodeAPI Path**: `/v2/load_balancers`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/load_balancers?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/load_balancers?page={page}&per_page={per_page}&api_token={api_token}
```

**Description**: To list all of the load balancer instances on your account send a GET request
to `/v2/load_balancers`.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Which 'page' of paginated results to return |
| `per_page` | integer | No | Number of items returned per page |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/load_balancers?page=VALUE&per_page=VALUE&api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Retrieve an Existing Load Balancer

**Method**: `GET` | **LowCodeAPI Path**: `/v2/load_balancers/{lb_id}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/load_balancers/{lb_id}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/load_balancers/lb_id?lb_id={lb_id}&api_token={api_token}
```

**Description**: To show information about a load balancer instance send a GET request to
`/v2/load_balancers/$LOAD_BALANCER_ID`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `lb_id` | string | Yes | A unique identifier for a load balancer |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/load_balancers/{lb_id}?api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Update a Load Balancer

**Method**: `PUT` | **LowCodeAPI Path**: `/v2/load_balancers/{lb_id}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/load_balancers/{lb_id}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/load_balancers/lb_id?lb_id={lb_id}&api_token={api_token}
```

**Description**: To update a load balancer's settings send a PUT request to
`/v2/load_balancers/$LOAD_BALANCER_ID`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `lb_id` | string | Yes | A unique identifier for a load balancer |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X PUT "https://api.lowcodeapi.com/digitalocean/v2/load_balancers/{lb_id}?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Delete a Load Balancer

**Method**: `DELETE` | **LowCodeAPI Path**: `/v2/load_balancers/{lb_id}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/load_balancers/{lb_id}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/load_balancers/lb_id?lb_id={lb_id}&api_token={api_token}
```

**Description**: To delete a load balancer instance disassociating any Droplets assigned to it
and removing it from your account send a DELETE request to
`/v2/load_balancers/$LOAD_BALANCER_ID`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `lb_id` | string | Yes | A unique identifier for a load balancer |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X DELETE "https://api.lowcodeapi.com/digitalocean/v2/load_balancers/{lb_id}?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Add Droplets to a Load Balancer

**Method**: `POST` | **LowCodeAPI Path**: `/v2/load_balancers/{lb_id}/droplets`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/load_balancers/{lb_id}/droplets?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/load_balancers/lb_id/droplets?lb_id={lb_id}&api_token={api_token}
```

**Description**: To assign a Droplet to a load balancer instance send a POST request to
`/v2/load_balancers/$LOAD_BALANCER_ID/droplets`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `lb_id` | string | Yes | A unique identifier for a load balancer |

**Request Body**:
```json
{
  "droplet_ids": "<array>"
}
```

**Request Body Fields**:

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `droplet_ids` | array | Yes | An array containing the IDs of the Droplets assigned to the load balancer |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/digitalocean/v2/load_balancers/{lb_id}/droplets?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Remove Droplets from a Load Balancer

**Method**: `DELETE` | **LowCodeAPI Path**: `/v2/load_balancers/{lb_id}/droplets`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/load_balancers/{lb_id}/droplets?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/load_balancers/lb_id/droplets?lb_id={lb_id}&api_token={api_token}
```

**Description**: To remove a Droplet from a load balancer instance send a DELETE request to
`/v2/load_balancers/$LOAD_BALANCER_ID/droplets`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `lb_id` | string | Yes | A unique identifier for a load balancer |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X DELETE "https://api.lowcodeapi.com/digitalocean/v2/load_balancers/{lb_id}/droplets?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Add Forwarding Rules to a Load Balancer

**Method**: `POST` | **LowCodeAPI Path**: `/v2/load_balancers/{lb_id}/forwarding_rules`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/load_balancers/{lb_id}/forwarding_rules?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/load_balancers/lb_id/forwarding_rules?lb_id={lb_id}&api_token={api_token}
```

**Description**: To add an additional forwarding rule to a load balancer instance send a POST
request to `/v2/load_balancers/$LOAD_BALANCER_ID/forwarding_rules`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `lb_id` | string | Yes | A unique identifier for a load balancer |

**Request Body**:
```json
{
  "forwarding_rules": "<array>"
}
```

**Request Body Fields**:

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `forwarding_rules` | array | Yes |  |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/digitalocean/v2/load_balancers/{lb_id}/forwarding_rules?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Remove Forwarding Rules from a Load Balancer

**Method**: `DELETE` | **LowCodeAPI Path**: `/v2/load_balancers/{lb_id}/forwarding_rules`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/load_balancers/{lb_id}/forwarding_rules?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/load_balancers/lb_id/forwarding_rules?lb_id={lb_id}&api_token={api_token}
```

**Description**: To remove forwarding rules from a load balancer instance send a DELETE
request to `/v2/load_balancers/$LOAD_BALANCER_ID/forwarding_rules`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `lb_id` | string | Yes | A unique identifier for a load balancer |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X DELETE "https://api.lowcodeapi.com/digitalocean/v2/load_balancers/{lb_id}/forwarding_rules?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

### Category: Monitoring

#### List Alert Policies

**Method**: `GET` | **LowCodeAPI Path**: `/v2/monitoring/alerts`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/monitoring/alerts?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/monitoring/alerts?page={page}&per_page={per_page}&api_token={api_token}
```

**Description**: Returns all alert policies that are configured for the given account.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Which 'page' of paginated results to return |
| `per_page` | integer | No | Number of items returned per page |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/monitoring/alerts?page=VALUE&per_page=VALUE&api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Create Alert Policy

**Method**: `POST` | **LowCodeAPI Path**: `/v2/monitoring/alerts`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/monitoring/alerts?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/monitoring/alerts?api_token={api_token}
```

**Description**: To create a new alert send a POST request to `/v2/monitoring/alerts`.

**Request Body**:
```json
{
  "type": "<string>",
  "alerts": "<object>",
  "compare": "<string>",
  "description": "<string>",
  "enabled": "<boolean>",
  "entities": "<array>",
  "tags": "<array>",
  "value": "<number>",
  "window": "<string>"
}
```

**Request Body Fields**:

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `type` | string | Yes |  |
| `alerts` | object | Yes |  |
| `compare` | string | Yes |  |
| `description` | string | Yes |  |
| `enabled` | boolean | Yes |  |
| `entities` | array | Yes |  |
| `tags` | array | Yes |  |
| `value` | number | Yes |  |
| `window` | string | Yes |  |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/digitalocean/v2/monitoring/alerts?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Retrieve an Existing Alert Policy

**Method**: `GET` | **LowCodeAPI Path**: `/v2/monitoring/alerts/{alert_uuid}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/monitoring/alerts/{alert_uuid}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/monitoring/alerts/alert_uuid?alert_uuid={alert_uuid}&api_token={api_token}
```

**Description**: To retrieve a given alert policy send a GET request to `/v2/monitoring/alerts/{alert_uuid}`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `alert_uuid` | string | Yes | A unique identifier for an alert policy |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/monitoring/alerts/{alert_uuid}?api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Update an Alert Policy

**Method**: `PUT` | **LowCodeAPI Path**: `/v2/monitoring/alerts/{alert_uuid}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/monitoring/alerts/{alert_uuid}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/monitoring/alerts/alert_uuid?alert_uuid={alert_uuid}&api_token={api_token}
```

**Description**: To update en existing policy send a PUT request to `v2/monitoring/alerts/{alert_uuid}`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `alert_uuid` | string | Yes | A unique identifier for an alert policy |

**Request Body**:
```json
{
  "type": "<string>",
  "alerts": "<object>",
  "compare": "<string>",
  "description": "<string>",
  "enabled": "<boolean>",
  "entities": "<array>",
  "tags": "<array>",
  "value": "<number>",
  "window": "<string>"
}
```

**Request Body Fields**:

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `type` | string | Yes |  |
| `alerts` | object | Yes |  |
| `compare` | string | Yes |  |
| `description` | string | Yes |  |
| `enabled` | boolean | Yes |  |
| `entities` | array | Yes |  |
| `tags` | array | Yes |  |
| `value` | number | Yes |  |
| `window` | string | Yes |  |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X PUT "https://api.lowcodeapi.com/digitalocean/v2/monitoring/alerts/{alert_uuid}?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Delete an Alert Policy

**Method**: `DELETE` | **LowCodeAPI Path**: `/v2/monitoring/alerts/{alert_uuid}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/monitoring/alerts/{alert_uuid}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/monitoring/alerts/alert_uuid?alert_uuid={alert_uuid}&api_token={api_token}
```

**Description**: To delete an alert policy send a DELETE request to `/v2/monitoring/alerts/{alert_uuid}`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `alert_uuid` | string | Yes | A unique identifier for an alert policy |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X DELETE "https://api.lowcodeapi.com/digitalocean/v2/monitoring/alerts/{alert_uuid}?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Get Droplet Bandwidth Metrics

**Method**: `GET` | **LowCodeAPI Path**: `/v2/monitoring/metrics/droplet/bandwidth`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/monitoring/metrics/droplet/bandwidth?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/monitoring/metrics/droplet/bandwidth?direction={direction}&end={end}&host_id={host_id}&interface={interface}&start={start}&api_token={api_token}
```

**Description**: To retrieve bandwidth metrics for a given Droplet send a GET request to `/v2/monitoring/metrics/droplet/bandwidth`.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `direction` | string | Yes | The traffic direction |
| `end` | string | Yes | Timestamp to end metric window |
| `host_id` | string | Yes | The droplet ID |
| `interface` | string | Yes | The network interface |
| `start` | string | Yes | Timestamp to start metric window |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/monitoring/metrics/droplet/bandwidth?direction=VALUE&end=VALUE&host_id=VALUE&interface=VALUE&start=VALUE&api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Get Droplet CPU Metrics

**Method**: `GET` | **LowCodeAPI Path**: `/v2/monitoring/metrics/droplet/cpu`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/monitoring/metrics/droplet/cpu?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/monitoring/metrics/droplet/cpu?end={end}&host_id={host_id}&start={start}&api_token={api_token}
```

**Description**: To retrieve CPU metrics for a given droplet send a GET request to `/v2/monitoring/metrics/droplet/cpu`.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `end` | string | Yes | Timestamp to end metric window |
| `host_id` | string | Yes | The droplet ID |
| `start` | string | Yes | Timestamp to start metric window |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/monitoring/metrics/droplet/cpu?end=VALUE&host_id=VALUE&start=VALUE&api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Get Droplet Filesystem Free Metrics

**Method**: `GET` | **LowCodeAPI Path**: `/v2/monitoring/metrics/droplet/filesystem_free`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/monitoring/metrics/droplet/filesystem_free?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/monitoring/metrics/droplet/filesystem_free?end={end}&host_id={host_id}&start={start}&api_token={api_token}
```

**Description**: To retrieve filesystem free metrics for a given droplet send a GET request to `/v2/monitoring/metrics/droplet/filesystem_free`.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `end` | string | Yes | Timestamp to end metric window |
| `host_id` | string | Yes | The droplet ID |
| `start` | string | Yes | Timestamp to start metric window |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/monitoring/metrics/droplet/filesystem_free?end=VALUE&host_id=VALUE&start=VALUE&api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Get Droplet Filesystem Size Metrics

**Method**: `GET` | **LowCodeAPI Path**: `/v2/monitoring/metrics/droplet/filesystem_size`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/monitoring/metrics/droplet/filesystem_size?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/monitoring/metrics/droplet/filesystem_size?end={end}&host_id={host_id}&start={start}&api_token={api_token}
```

**Description**: To retrieve filesystem size metrics for a given droplet send a GET request to `/v2/monitoring/metrics/droplet/filesystem_size`.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `end` | string | Yes | Timestamp to end metric window |
| `host_id` | string | Yes | The droplet ID |
| `start` | string | Yes | Timestamp to start metric window |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/monitoring/metrics/droplet/filesystem_size?end=VALUE&host_id=VALUE&start=VALUE&api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Get Droplet Load1 Metrics

**Method**: `GET` | **LowCodeAPI Path**: `/v2/monitoring/metrics/droplet/load_1`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/monitoring/metrics/droplet/load_1?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/monitoring/metrics/droplet/load_1?end={end}&host_id={host_id}&start={start}&api_token={api_token}
```

**Description**: To retrieve 1 minute load average metrics for a given droplet send a GET request to `/v2/monitoring/metrics/droplet/load_1`.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `end` | string | Yes | Timestamp to end metric window |
| `host_id` | string | Yes | The droplet ID |
| `start` | string | Yes | Timestamp to start metric window |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/monitoring/metrics/droplet/load_1?end=VALUE&host_id=VALUE&start=VALUE&api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Get Droplet Load5 Metrics

**Method**: `GET` | **LowCodeAPI Path**: `/v2/monitoring/metrics/droplet/load_5`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/monitoring/metrics/droplet/load_5?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/monitoring/metrics/droplet/load_5?end={end}&host_id={host_id}&start={start}&api_token={api_token}
```

**Description**: To retrieve 5 minute load average metrics for a given droplet send a GET request to `/v2/monitoring/metrics/droplet/load_5`.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `end` | string | Yes | Timestamp to end metric window |
| `host_id` | string | Yes | The droplet ID |
| `start` | string | Yes | Timestamp to start metric window |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/monitoring/metrics/droplet/load_5?end=VALUE&host_id=VALUE&start=VALUE&api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Get Droplet Load15 Metrics

**Method**: `GET` | **LowCodeAPI Path**: `/v2/monitoring/metrics/droplet/load_15`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/monitoring/metrics/droplet/load_15?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/monitoring/metrics/droplet/load_15?end={end}&host_id={host_id}&start={start}&api_token={api_token}
```

**Description**: To retrieve 15 minute load average metrics for a given droplet send a GET request to `/v2/monitoring/metrics/droplet/load_15`.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `end` | string | Yes | Timestamp to end metric window |
| `host_id` | string | Yes | The droplet ID |
| `start` | string | Yes | Timestamp to start metric window |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/monitoring/metrics/droplet/load_15?end=VALUE&host_id=VALUE&start=VALUE&api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Get Droplet Cached Memory Metrics

**Method**: `GET` | **LowCodeAPI Path**: `/v2/monitoring/metrics/droplet/memory_cached`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/monitoring/metrics/droplet/memory_cached?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/monitoring/metrics/droplet/memory_cached?end={end}&host_id={host_id}&start={start}&api_token={api_token}
```

**Description**: To retrieve cached memory metrics for a given droplet send a GET request to `/v2/monitoring/metrics/droplet/memory_cached`.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `end` | string | Yes | Timestamp to end metric window |
| `host_id` | string | Yes | The droplet ID |
| `start` | string | Yes | Timestamp to start metric window |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/monitoring/metrics/droplet/memory_cached?end=VALUE&host_id=VALUE&start=VALUE&api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Get Droplet Free Memory Metrics

**Method**: `GET` | **LowCodeAPI Path**: `/v2/monitoring/metrics/droplet/memory_free`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/monitoring/metrics/droplet/memory_free?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/monitoring/metrics/droplet/memory_free?end={end}&host_id={host_id}&start={start}&api_token={api_token}
```

**Description**: To retrieve free memory metrics for a given droplet send a GET request to `/v2/monitoring/metrics/droplet/memory_free`.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `end` | string | Yes | Timestamp to end metric window |
| `host_id` | string | Yes | The droplet ID |
| `start` | string | Yes | Timestamp to start metric window |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/monitoring/metrics/droplet/memory_free?end=VALUE&host_id=VALUE&start=VALUE&api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Get Droplet Total Memory Metrics

**Method**: `GET` | **LowCodeAPI Path**: `/v2/monitoring/metrics/droplet/memory_total`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/monitoring/metrics/droplet/memory_total?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/monitoring/metrics/droplet/memory_total?end={end}&host_id={host_id}&start={start}&api_token={api_token}
```

**Description**: To retrieve total memory metrics for a given droplet send a GET request to `/v2/monitoring/metrics/droplet/memory_total`.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `end` | string | Yes | Timestamp to end metric window |
| `host_id` | string | Yes | The droplet ID |
| `start` | string | Yes | Timestamp to start metric window |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/monitoring/metrics/droplet/memory_total?end=VALUE&host_id=VALUE&start=VALUE&api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

*Note: Showing 15 of 16 endpoints in this category. See complete reference below.*

---

### Category: Project Resources

#### List Project Resources

**Method**: `GET` | **LowCodeAPI Path**: `/v2/projects/{project_id}/resources`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/projects/{project_id}/resources?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/projects/project_id/resources?project_id={project_id}&page={page}&per_page={per_page}&api_token={api_token}
```

**Description**: To list all your resources in a project send a GET request to `/v2/projects/$PROJECT_ID/resources`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `project_id` | string | Yes | A unique identifier for a project |

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Which 'page' of paginated results to return |
| `per_page` | integer | No | Number of items returned per page |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/projects/{project_id}/resources?page=VALUE&per_page=VALUE&api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Assign Resources to a Project

**Method**: `POST` | **LowCodeAPI Path**: `/v2/projects/{project_id}/resources`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/projects/{project_id}/resources?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/projects/project_id/resources?project_id={project_id}&api_token={api_token}
```

**Description**: To assign resources to a project send a POST request to `/v2/projects/$PROJECT_ID/resources`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `project_id` | string | Yes | A unique identifier for a project |

**Request Body**:
```json
{
  "key": "value"
}
```

**Request Body Fields**:

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `resources` | array | No | A list of uniform resource names (URNs) to be added to a project |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/digitalocean/v2/projects/{project_id}/resources?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### List Default Project Resources

**Method**: `GET` | **LowCodeAPI Path**: `/v2/projects/default/resources`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/projects/default/resources?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/projects/default/resources?api_token={api_token}
```

**Description**: To list all your resources in your default project send a GET request to `/v2/projects/default/resources`.

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/projects/default/resources?api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Assign Resources to Default Project

**Method**: `POST` | **LowCodeAPI Path**: `/v2/projects/default/resources`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/projects/default/resources?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/projects/default/resources?api_token={api_token}
```

**Description**: To assign resources to your default project send a POST request to `/v2/projects/default/resources`.

**Request Body**:
```json
{
  "key": "value"
}
```

**Request Body Fields**:

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `resources` | array | No | A list of uniform resource names (URNs) to be added to a project |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/digitalocean/v2/projects/default/resources?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

### Category: Projects

#### List All Projects

**Method**: `GET` | **LowCodeAPI Path**: `/v2/projects`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/projects?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/projects?page={page}&per_page={per_page}&api_token={api_token}
```

**Description**: To list all your projects send a GET request to `/v2/projects`.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Which 'page' of paginated results to return |
| `per_page` | integer | No | Number of items returned per page |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/projects?page=VALUE&per_page=VALUE&api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Create a Project

**Method**: `POST` | **LowCodeAPI Path**: `/v2/projects`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/projects?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/projects?api_token={api_token}
```

**Description**: To create a project send a POST request to `/v2/projects`.

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/digitalocean/v2/projects?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Retrieve the Default Project

**Method**: `GET` | **LowCodeAPI Path**: `/v2/projects/default`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/projects/default?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/projects/default?api_token={api_token}
```

**Description**: To get your default project send a GET request to `/v2/projects/default`.

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/projects/default?api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Update the Default Project

**Method**: `PUT` | **LowCodeAPI Path**: `/v2/projects/default`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/projects/default?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/projects/default?api_token={api_token}
```

**Description**: To update you default project send a PUT request to `/v2/projects/default`.

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X PUT "https://api.lowcodeapi.com/digitalocean/v2/projects/default?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Patch the Default Project

**Method**: `PATCH` | **LowCodeAPI Path**: `/v2/projects/default`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/projects/default?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/projects/default?api_token={api_token}
```

**Description**: To update only specific attributes of your default project send a PATCH request to `/v2/projects/default`.

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X PATCH "https://api.lowcodeapi.com/digitalocean/v2/projects/default?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Retrieve an Existing Project

**Method**: `GET` | **LowCodeAPI Path**: `/v2/projects/{project_id}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/projects/{project_id}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/projects/project_id?project_id={project_id}&api_token={api_token}
```

**Description**: To get a project send a GET request to `/v2/projects/$PROJECT_ID`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `project_id` | string | Yes | A unique identifier for a project |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/projects/{project_id}?api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Update a Project

**Method**: `PUT` | **LowCodeAPI Path**: `/v2/projects/{project_id}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/projects/{project_id}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/projects/project_id?project_id={project_id}&api_token={api_token}
```

**Description**: To update a project send a PUT request to `/v2/projects/$PROJECT_ID`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `project_id` | string | Yes | A unique identifier for a project |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X PUT "https://api.lowcodeapi.com/digitalocean/v2/projects/{project_id}?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Patch a Project

**Method**: `PATCH` | **LowCodeAPI Path**: `/v2/projects/{project_id}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/projects/{project_id}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/projects/project_id?project_id={project_id}&api_token={api_token}
```

**Description**: To update only specific attributes of a project send a PATCH request to `/v2/projects/$PROJECT_ID`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `project_id` | string | Yes | A unique identifier for a project |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X PATCH "https://api.lowcodeapi.com/digitalocean/v2/projects/{project_id}?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Delete an Existing Project

**Method**: `DELETE` | **LowCodeAPI Path**: `/v2/projects/{project_id}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/projects/{project_id}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/projects/project_id?project_id={project_id}&api_token={api_token}
```

**Description**: To delete a project send a DELETE request to `/v2/projects/$PROJECT_ID`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `project_id` | string | Yes | A unique identifier for a project |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X DELETE "https://api.lowcodeapi.com/digitalocean/v2/projects/{project_id}?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

### Category: Regions

#### List All Data Center Regions

**Method**: `GET` | **LowCodeAPI Path**: `/v2/regions`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/regions?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/regions?page={page}&per_page={per_page}&api_token={api_token}
```

**Description**: To list all of the regions that are available send a GET request to `/v2/regions`.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Which 'page' of paginated results to return |
| `per_page` | integer | No | Number of items returned per page |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/regions?page=VALUE&per_page=VALUE&api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

### Category: Reserved IP Actions

#### List All Actions for a Reserved IP

**Method**: `GET` | **LowCodeAPI Path**: `/v2/reserved_ips/{reserved_ip}/actions`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/reserved_ips/{reserved_ip}/actions?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/reserved_ips/reserved_ip/actions?reserved_ip={reserved_ip}&api_token={api_token}
```

**Description**: To retrieve all actions that have been executed on a reserved IP send a GET request to `/v2/reserved_ips/$RESERVED_IP/actions`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `reserved_ip` | string | Yes | A reserved IP address |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/reserved_ips/{reserved_ip}/actions?api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Initiate a Reserved IP Action

**Method**: `POST` | **LowCodeAPI Path**: `/v2/reserved_ips/{reserved_ip}/actions`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/reserved_ips/{reserved_ip}/actions?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/reserved_ips/reserved_ip/actions?reserved_ip={reserved_ip}&api_token={api_token}
```

**Description**: To initiate an action on a reserved IP send a POST request to
`/v2/reserved_ips/$RESERVED_IP/actions`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `reserved_ip` | string | Yes | A reserved IP address |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/digitalocean/v2/reserved_ips/{reserved_ip}/actions?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Retrieve an Existing Reserved IP Action

**Method**: `GET` | **LowCodeAPI Path**: `/v2/reserved_ips/{reserved_ip}/actions/{action_id}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/reserved_ips/{reserved_ip}/actions/{action_id}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/reserved_ips/reserved_ip/actions/action_id?action_id={action_id}&reserved_ip={reserved_ip}&api_token={api_token}
```

**Description**: To retrieve the status of a reserved IP action send a GET request to `/v2/reserved_ips/$RESERVED_IP/actions/$ACTION_ID`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `action_id` | integer | Yes | A unique numeric ID that can be used to identify and reference an action |
| `reserved_ip` | string | Yes | A reserved IP address |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/reserved_ips/{reserved_ip}/actions/{action_id}?api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

### Category: Reserved IPs

#### List All Reserved IPs

**Method**: `GET` | **LowCodeAPI Path**: `/v2/reserved_ips`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/reserved_ips?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/reserved_ips?page={page}&per_page={per_page}&api_token={api_token}
```

**Description**: To list all of the reserved IPs available on your account send a GET request to `/v2/reserved_ips`.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Which 'page' of paginated results to return |
| `per_page` | integer | No | Number of items returned per page |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/reserved_ips?page=VALUE&per_page=VALUE&api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Create a New Reserved IP

**Method**: `POST` | **LowCodeAPI Path**: `/v2/reserved_ips`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/reserved_ips?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/reserved_ips?api_token={api_token}
```

**Description**: On creation a reserved IP must be either assigned to a Droplet or reserved to a region.

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/digitalocean/v2/reserved_ips?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Retrieve an Existing Reserved IP

**Method**: `GET` | **LowCodeAPI Path**: `/v2/reserved_ips/{reserved_ip}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/reserved_ips/{reserved_ip}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/reserved_ips/reserved_ip?reserved_ip={reserved_ip}&api_token={api_token}
```

**Description**: To show information about a reserved IP send a GET request to `/v2/reserved_ips/$RESERVED_IP_ADDR`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `reserved_ip` | string | Yes | A reserved IP address |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/reserved_ips/{reserved_ip}?api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Delete a Reserved IP

**Method**: `DELETE` | **LowCodeAPI Path**: `/v2/reserved_ips/{reserved_ip}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/reserved_ips/{reserved_ip}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/reserved_ips/reserved_ip?reserved_ip={reserved_ip}&api_token={api_token}
```

**Description**: To delete a reserved IP and remove it from your account send a DELETE request
to `/v2/reserved_ips/$RESERVED_IP_ADDR`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `reserved_ip` | string | Yes | A reserved IP address |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X DELETE "https://api.lowcodeapi.com/digitalocean/v2/reserved_ips/{reserved_ip}?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

### Category: SSH Keys

#### List All SSH Keys

**Method**: `GET` | **LowCodeAPI Path**: `/v2/account/keys`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/account/keys?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/account/keys?page={page}&per_page={per_page}&api_token={api_token}
```

**Description**: To list all of the keys in your account send a GET request to `/v2/account/keys`.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Which 'page' of paginated results to return |
| `per_page` | integer | No | Number of items returned per page |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/account/keys?page=VALUE&per_page=VALUE&api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Create a New SSH Key

**Method**: `POST` | **LowCodeAPI Path**: `/v2/account/keys`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/account/keys?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/account/keys?api_token={api_token}
```

**Description**: To add a new SSH public key to your DigitalOcean account send a POST request to `/v2/account/keys`.

**Request Body**:
```json
{
  "name": "<string>",
  "public_key": "<string>"
}
```

**Request Body Fields**:

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `fingerprint` | string | No | A unique identifier that differentiates this key from other keys using  a format that SSH recognizes |
| `id` | integer | No | A unique identification number for this key |
| `name` | string | Yes | A human-readable display name for this key used to easily identify the SSH keys when they are displayed |
| `public_key` | string | Yes | The entire public key string that was uploaded |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/digitalocean/v2/account/keys?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Retrieve an Existing SSH Key

**Method**: `GET` | **LowCodeAPI Path**: `/v2/account/keys/{ssh_key_identifier}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/account/keys/{ssh_key_identifier}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/account/keys/ssh_key_identifier?ssh_key_identifier={ssh_key_identifier}&api_token={api_token}
```

**Description**: To get information about a key send a GET request to `/v2/account/keys/$KEY_ID` or `/v2/account/keys/$KEY_FINGERPRINT`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `ssh_key_identifier` |  | Yes | Either the ID or the fingerprint of an existing SSH key |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/account/keys/{ssh_key_identifier}?api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Update an SSH Key's Name

**Method**: `PUT` | **LowCodeAPI Path**: `/v2/account/keys/{ssh_key_identifier}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/account/keys/{ssh_key_identifier}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/account/keys/ssh_key_identifier?ssh_key_identifier={ssh_key_identifier}&api_token={api_token}
```

**Description**: To update the name of an SSH key send a PUT request to either `/v2/account/keys/$SSH_KEY_ID` or `/v2/account/keys/$SSH_KEY_FINGERPRINT`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `ssh_key_identifier` |  | Yes | Either the ID or the fingerprint of an existing SSH key |

**Request Body**:
```json
{
  "key": "value"
}
```

**Request Body Fields**:

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `name` | string | No | A human-readable display name for this key used to easily identify the SSH keys when they are displayed |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X PUT "https://api.lowcodeapi.com/digitalocean/v2/account/keys/{ssh_key_identifier}?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Delete an SSH Key

**Method**: `DELETE` | **LowCodeAPI Path**: `/v2/account/keys/{ssh_key_identifier}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/account/keys/{ssh_key_identifier}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/account/keys/ssh_key_identifier?ssh_key_identifier={ssh_key_identifier}&api_token={api_token}
```

**Description**: To destroy a public SSH key that you have in your account send a DELETE request to `/v2/account/keys/$KEY_ID` or `/v2/account/keys/$KEY_FINGERPRINT`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `ssh_key_identifier` |  | Yes | Either the ID or the fingerprint of an existing SSH key |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X DELETE "https://api.lowcodeapi.com/digitalocean/v2/account/keys/{ssh_key_identifier}?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

### Category: Sizes

#### List All Droplet Sizes

**Method**: `GET` | **LowCodeAPI Path**: `/v2/sizes`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/sizes?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/sizes?page={page}&per_page={per_page}&api_token={api_token}
```

**Description**: To list all of available Droplet sizes send a GET request to `/v2/sizes`.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Which 'page' of paginated results to return |
| `per_page` | integer | No | Number of items returned per page |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/sizes?page=VALUE&per_page=VALUE&api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

### Category: Snapshots

#### List All Snapshots

**Method**: `GET` | **LowCodeAPI Path**: `/v2/snapshots`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/snapshots?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/snapshots?page={page}&per_page={per_page}&resource_type={resource_type}&api_token={api_token}
```

**Description**: To list all of the snapshots available on your account send a GET request to
`/v2/snapshots`.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Which 'page' of paginated results to return |
| `per_page` | integer | No | Number of items returned per page |
| `resource_type` | string | No | Used to filter snapshots by a resource type |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/snapshots?page=VALUE&per_page=VALUE&resource_type=VALUE&api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Retrieve an Existing Snapshot

**Method**: `GET` | **LowCodeAPI Path**: `/v2/snapshots/{snapshot_id}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/snapshots/{snapshot_id}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/snapshots/snapshot_id?snapshot_id={snapshot_id}&api_token={api_token}
```

**Description**: To retrieve information about a snapshot send a GET request to
`/v2/snapshots/$SNAPSHOT_ID`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `snapshot_id` |  | Yes | Either the ID of an existing snapshot |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/snapshots/{snapshot_id}?api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Delete a Snapshot

**Method**: `DELETE` | **LowCodeAPI Path**: `/v2/snapshots/{snapshot_id}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/snapshots/{snapshot_id}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/snapshots/snapshot_id?snapshot_id={snapshot_id}&api_token={api_token}
```

**Description**: Both Droplet and volume snapshots are managed through the `/v2/snapshots/`
endpoint.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `snapshot_id` |  | Yes | Either the ID of an existing snapshot |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X DELETE "https://api.lowcodeapi.com/digitalocean/v2/snapshots/{snapshot_id}?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

### Category: Tags

#### List All Tags

**Method**: `GET` | **LowCodeAPI Path**: `/v2/tags`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/tags?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/tags?page={page}&per_page={per_page}&api_token={api_token}
```

**Description**: To list all of your tags you can send a GET request to `/v2/tags`.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Which 'page' of paginated results to return |
| `per_page` | integer | No | Number of items returned per page |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/tags?page=VALUE&per_page=VALUE&api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Create a New Tag

**Method**: `POST` | **LowCodeAPI Path**: `/v2/tags`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/tags?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/tags?api_token={api_token}
```

**Description**: To create a tag you can send a POST request to `/v2/tags` with a `name` attribute.

**Request Body**:
```json
{
  "key": "value"
}
```

**Request Body Fields**:

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `name` | string | No | The name of the tag |
| `resources` | object | No | An embedded object containing key value pairs of resource type and resource statistics |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/digitalocean/v2/tags?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Retrieve a Tag

**Method**: `GET` | **LowCodeAPI Path**: `/v2/tags/{tag_id}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/tags/{tag_id}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/tags/tag_id?tag_id={tag_id}&api_token={api_token}
```

**Description**: To retrieve an individual tag you can send a `GET` request to `/v2/tags/$TAG_NAME`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tag_id` | string | Yes | The name of the tag |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/tags/{tag_id}?api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Delete a Tag

**Method**: `DELETE` | **LowCodeAPI Path**: `/v2/tags/{tag_id}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/tags/{tag_id}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/tags/tag_id?tag_id={tag_id}&api_token={api_token}
```

**Description**: A tag can be deleted by sending a `DELETE` request to `/v2/tags/$TAG_NAME`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tag_id` | string | Yes | The name of the tag |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X DELETE "https://api.lowcodeapi.com/digitalocean/v2/tags/{tag_id}?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Tag a Resource

**Method**: `POST` | **LowCodeAPI Path**: `/v2/tags/{tag_id}/resources`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/tags/{tag_id}/resources?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/tags/tag_id/resources?tag_id={tag_id}&api_token={api_token}
```

**Description**: Resources can be tagged by sending a POST request to `/v2/tags/$TAG_NAME/resources` with an array of json objects containing `resource_id` and `resource_type` attributes.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tag_id` | string | Yes | The name of the tag |

**Request Body**:
```json
{
  "resources": "<array>"
}
```

**Request Body Fields**:

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `resources` | array | Yes | An array of objects containing resource_id and resource_type  attributes |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/digitalocean/v2/tags/{tag_id}/resources?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Untag a Resource

**Method**: `DELETE` | **LowCodeAPI Path**: `/v2/tags/{tag_id}/resources`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/tags/{tag_id}/resources?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/tags/tag_id/resources?tag_id={tag_id}&api_token={api_token}
```

**Description**: Resources can be untagged by sending a DELETE request to `/v2/tags/$TAG_NAME/resources` with an array of json objects containing `resource_id` and `resource_type` attributes.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tag_id` | string | Yes | The name of the tag |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X DELETE "https://api.lowcodeapi.com/digitalocean/v2/tags/{tag_id}/resources?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

### Category: Uptime

#### List All Checks

**Method**: `GET` | **LowCodeAPI Path**: `/v2/uptime/checks`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/uptime/checks?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/uptime/checks?page={page}&per_page={per_page}&api_token={api_token}
```

**Description**: To list all of the Uptime checks on your account send a GET request to `/v2/uptime/checks`.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Which 'page' of paginated results to return |
| `per_page` | integer | No | Number of items returned per page |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/uptime/checks?page=VALUE&per_page=VALUE&api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Create a New Check

**Method**: `POST` | **LowCodeAPI Path**: `/v2/uptime/checks`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/uptime/checks?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/uptime/checks?api_token={api_token}
```

**Description**: To create an Uptime check send a POST request to `/v2/uptime/checks` specifying the attributes
in the table below in the JSON body.

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/digitalocean/v2/uptime/checks?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Retrieve an Existing Check

**Method**: `GET` | **LowCodeAPI Path**: `/v2/uptime/checks/{check_id}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/uptime/checks/{check_id}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/uptime/checks/check_id?check_id={check_id}&api_token={api_token}
```

**Description**: To show information about an existing check send a GET request to `/v2/uptime/checks/$CHECK_ID`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `check_id` | string | Yes | A unique identifier for a check |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/uptime/checks/{check_id}?api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Update a Check

**Method**: `PUT` | **LowCodeAPI Path**: `/v2/uptime/checks/{check_id}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/uptime/checks/{check_id}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/uptime/checks/check_id?check_id={check_id}&api_token={api_token}
```

**Description**: To update the settings of an Uptime check send a PUT request to `/v2/uptime/checks/$CHECK_ID`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `check_id` | string | Yes | A unique identifier for a check |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X PUT "https://api.lowcodeapi.com/digitalocean/v2/uptime/checks/{check_id}?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Delete a Check

**Method**: `DELETE` | **LowCodeAPI Path**: `/v2/uptime/checks/{check_id}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/uptime/checks/{check_id}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/uptime/checks/check_id?check_id={check_id}&api_token={api_token}
```

**Description**: To delete an Uptime check send a DELETE request to `/v2/uptime/checks/$CHECK_ID`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `check_id` | string | Yes | A unique identifier for a check |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X DELETE "https://api.lowcodeapi.com/digitalocean/v2/uptime/checks/{check_id}?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Retrieve Check State

**Method**: `GET` | **LowCodeAPI Path**: `/v2/uptime/checks/{check_id}/state`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/uptime/checks/{check_id}/state?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/uptime/checks/check_id/state?check_id={check_id}&api_token={api_token}
```

**Description**: To show information about an existing check's state send a GET request to `/v2/uptime/checks/$CHECK_ID/state`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `check_id` | string | Yes | A unique identifier for a check |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/uptime/checks/{check_id}/state?api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### List All Alerts

**Method**: `GET` | **LowCodeAPI Path**: `/v2/uptime/checks/{check_id}/alerts`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/uptime/checks/{check_id}/alerts?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/uptime/checks/check_id/alerts?check_id={check_id}&page={page}&per_page={per_page}&api_token={api_token}
```

**Description**: To list all of the alerts for an Uptime check send a GET request to `/v2/uptime/checks/$CHECK_ID/alerts`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `check_id` | string | Yes | A unique identifier for a check |

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Which 'page' of paginated results to return |
| `per_page` | integer | No | Number of items returned per page |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/uptime/checks/{check_id}/alerts?page=VALUE&per_page=VALUE&api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Create a New Alert

**Method**: `POST` | **LowCodeAPI Path**: `/v2/uptime/checks/{check_id}/alerts`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/uptime/checks/{check_id}/alerts?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/uptime/checks/check_id/alerts?check_id={check_id}&api_token={api_token}
```

**Description**: To create an Uptime alert send a POST request to `/v2/uptime/checks/$CHECK_ID/alerts` specifying the attributes
in the table below in the JSON body.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `check_id` | string | Yes | A unique identifier for a check |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/digitalocean/v2/uptime/checks/{check_id}/alerts?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Retrieve an Existing Alert

**Method**: `GET` | **LowCodeAPI Path**: `/v2/uptime/checks/{check_id}/alerts/{alert_id}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/uptime/checks/{check_id}/alerts/{alert_id}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/uptime/checks/check_id/alerts/alert_id?alert_id={alert_id}&check_id={check_id}&api_token={api_token}
```

**Description**: To show information about an existing alert send a GET request to `/v2/uptime/checks/$CHECK_ID/alerts/$ALERT_ID`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `alert_id` | string | Yes | A unique identifier for an alert |
| `check_id` | string | Yes | A unique identifier for a check |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/uptime/checks/{check_id}/alerts/{alert_id}?api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Update an Alert

**Method**: `PUT` | **LowCodeAPI Path**: `/v2/uptime/checks/{check_id}/alerts/{alert_id}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/uptime/checks/{check_id}/alerts/{alert_id}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/uptime/checks/check_id/alerts/alert_id?alert_id={alert_id}&check_id={check_id}&api_token={api_token}
```

**Description**: To update the settings of an Uptime alert send a PUT request to `/v2/uptime/checks/$CHECK_ID/alerts/$ALERT_ID`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `alert_id` | string | Yes | A unique identifier for an alert |
| `check_id` | string | Yes | A unique identifier for a check |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X PUT "https://api.lowcodeapi.com/digitalocean/v2/uptime/checks/{check_id}/alerts/{alert_id}?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Delete an Alert

**Method**: `DELETE` | **LowCodeAPI Path**: `/v2/uptime/checks/{check_id}/alerts/{alert_id}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/uptime/checks/{check_id}/alerts/{alert_id}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/uptime/checks/check_id/alerts/alert_id?alert_id={alert_id}&check_id={check_id}&api_token={api_token}
```

**Description**: To delete an Uptime alert send a DELETE request to `/v2/uptime/checks/$CHECK_ID/alerts/$ALERT_ID`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `alert_id` | string | Yes | A unique identifier for an alert |
| `check_id` | string | Yes | A unique identifier for a check |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X DELETE "https://api.lowcodeapi.com/digitalocean/v2/uptime/checks/{check_id}/alerts/{alert_id}?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

### Category: VPC NAT Gateways

#### List All VPC NAT Gateways

**Method**: `GET` | **LowCodeAPI Path**: `/v2/vpc_nat_gateways`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/vpc_nat_gateways?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/vpc_nat_gateways?type={type}&name={name}&page={page}&per_page={per_page}&region={region}&state={state}&api_token={api_token}
```

**Description**: To list all VPC NAT gateways in your team send a GET request to `/v2/vpc_nat_gateways`.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `type` | string | No | The type of the VPC NAT gateway. |
| `name` | string | No | The name of the VPC NAT gateway. |
| `page` | integer | No | Which 'page' of paginated results to return |
| `per_page` | integer | No | Number of items returned per page |
| `region` | string | No | The region where the VPC NAT gateway is located. |
| `state` | string | No | The current state of the VPC NAT gateway. |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/vpc_nat_gateways?type=VALUE&name=VALUE&page=VALUE&per_page=VALUE&region=VALUE&state=VALUE&api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

**Official Documentation**: [List All VPC NAT Gateways](https://docs.digitalocean.com/reference/api/api-reference/#tag/VPC-NAT-Gateways/operation/vpcnatgateways_list)

---

#### Create a New VPC NAT Gateway

**Method**: `POST` | **LowCodeAPI Path**: `/v2/vpc_nat_gateways`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/vpc_nat_gateways?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/vpc_nat_gateways?api_token={api_token}
```

**Description**: To create a new VPC NAT gateway send a POST request to `/v2/vpc_nat_gateways` with the required attributes.

**Request Body**:
```json
{
  "type": "<string>",
  "name": "<string>",
  "region": "<string>",
  "size": "<integer>",
  "vpcs": "<array>"
}
```

**Request Body Fields**:

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `type` | string | Yes | The type of the VPC NAT gateway. |
| `icmp_timeout_seconds` | integer | No | The ICMP timeout in seconds for the VPC NAT gateway. |
| `name` | string | Yes | The human-readable name of the VPC NAT gateway. |
| `region` | string | Yes | The region in which the VPC NAT gateway is created. |
| `size` | integer | Yes | The size of the VPC NAT gateway. |
| `tcp_timeout_seconds` | integer | No | The TCP timeout in seconds for the VPC NAT gateway. |
| `udp_timeout_seconds` | integer | No | The UDP timeout in seconds for the VPC NAT gateway. |
| `vpcs` | array | Yes | An array of VPCs associated with the VPC NAT gateway. Each object must include `vpc_uuid` and can set `default_gateway`. |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/digitalocean/v2/vpc_nat_gateways?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

**Official Documentation**: [Create a New VPC NAT Gateway](https://docs.digitalocean.com/reference/api/api-reference/#tag/VPC-NAT-Gateways/operation/vpcnatgateways_create)

---

#### Retrieve an Existing VPC NAT Gateway

**Method**: `GET` | **LowCodeAPI Path**: `/v2/vpc_nat_gateways/{id}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/vpc_nat_gateways/{id}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/vpc_nat_gateways/id?id={id}&api_token={api_token}
```

**Description**: To show information about an individual VPC NAT gateway send a GET request to `/v2/vpc_nat_gateways/$VPC_NAT_GATEWAY_ID`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique identifier of the VPC NAT gateway. |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/vpc_nat_gateways/{id}?api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

**Official Documentation**: [Retrieve an Existing VPC NAT Gateway](https://docs.digitalocean.com/reference/api/api-reference/#tag/VPC-NAT-Gateways/operation/vpcnatgateways_get)

---

#### Update VPC NAT Gateway

**Method**: `PUT` | **LowCodeAPI Path**: `/v2/vpc_nat_gateways/{id}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/vpc_nat_gateways/{id}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/vpc_nat_gateways/id?id={id}&api_token={api_token}
```

**Description**: To update the configuration of an existing VPC NAT gateway send a PUT request to `/v2/vpc_nat_gateways/$VPC_NAT_GATEWAY_ID` with a full representation of the resource.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique identifier of the VPC NAT gateway. |

**Request Body**:
```json
{
  "name": "<string>",
  "size": "<integer>"
}
```

**Request Body Fields**:

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `icmp_timeout_seconds` | integer | No | The ICMP timeout in seconds for the VPC NAT gateway. |
| `name` | string | Yes | The human-readable name of the VPC NAT gateway. |
| `size` | integer | Yes | The size of the VPC NAT gateway. |
| `tcp_timeout_seconds` | integer | No | The TCP timeout in seconds for the VPC NAT gateway. |
| `udp_timeout_seconds` | integer | No | The UDP timeout in seconds for the VPC NAT gateway. |
| `vpcs` | array | No | An array of VPCs associated with the VPC NAT gateway. Each object should include `vpc_uuid` and can set `default_gateway`. |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X PUT "https://api.lowcodeapi.com/digitalocean/v2/vpc_nat_gateways/{id}?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

**Official Documentation**: [Update VPC NAT Gateway](https://docs.digitalocean.com/reference/api/api-reference/#tag/VPC-NAT-Gateways/operation/vpcnatgateways_update)

---

#### Delete VPC NAT Gateway

**Method**: `DELETE` | **LowCodeAPI Path**: `/v2/vpc_nat_gateways/{id}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/vpc_nat_gateways/{id}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/vpc_nat_gateways/id?id={id}&api_token={api_token}
```

**Description**: To destroy a VPC NAT gateway send a DELETE request to `/v2/vpc_nat_gateways/$VPC_NAT_GATEWAY_ID`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique identifier of the VPC NAT gateway. |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X DELETE "https://api.lowcodeapi.com/digitalocean/v2/vpc_nat_gateways/{id}?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

**Official Documentation**: [Delete VPC NAT Gateway](https://docs.digitalocean.com/reference/api/api-reference/#tag/VPC-NAT-Gateways/operation/vpcnatgateways_delete)

---

### Category: VPCs

#### List All VPCs

**Method**: `GET` | **LowCodeAPI Path**: `/v2/vpcs`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/vpcs?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/vpcs?page={page}&per_page={per_page}&api_token={api_token}
```

**Description**: To list all of the VPCs on your account send a GET request to `/v2/vpcs`.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Which 'page' of paginated results to return |
| `per_page` | integer | No | Number of items returned per page |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/vpcs?page=VALUE&per_page=VALUE&api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Create a New VPC

**Method**: `POST` | **LowCodeAPI Path**: `/v2/vpcs`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/vpcs?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/vpcs?api_token={api_token}
```

**Description**: To create a VPC send a POST request to `/v2/vpcs` specifying the attributes
in the table below in the JSON body.

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/digitalocean/v2/vpcs?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Retrieve an Existing VPC

**Method**: `GET` | **LowCodeAPI Path**: `/v2/vpcs/{vpc_id}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/vpcs/{vpc_id}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/vpcs/vpc_id?vpc_id={vpc_id}&api_token={api_token}
```

**Description**: To show information about an existing VPC send a GET request to `/v2/vpcs/$VPC_ID`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `vpc_id` | string | Yes | A unique identifier for a VPC |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/vpcs/{vpc_id}?api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Update a VPC

**Method**: `PUT` | **LowCodeAPI Path**: `/v2/vpcs/{vpc_id}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/vpcs/{vpc_id}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/vpcs/vpc_id?vpc_id={vpc_id}&api_token={api_token}
```

**Description**: To update information about a VPC send a PUT request to `/v2/vpcs/$VPC_ID`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `vpc_id` | string | Yes | A unique identifier for a VPC |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X PUT "https://api.lowcodeapi.com/digitalocean/v2/vpcs/{vpc_id}?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Partially Update a VPC

**Method**: `PATCH` | **LowCodeAPI Path**: `/v2/vpcs/{vpc_id}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/vpcs/{vpc_id}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/vpcs/vpc_id?vpc_id={vpc_id}&api_token={api_token}
```

**Description**: To update a subset of information about a VPC send a PATCH request to
`/v2/vpcs/$VPC_ID`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `vpc_id` | string | Yes | A unique identifier for a VPC |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X PATCH "https://api.lowcodeapi.com/digitalocean/v2/vpcs/{vpc_id}?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### Delete a VPC

**Method**: `DELETE` | **LowCodeAPI Path**: `/v2/vpcs/{vpc_id}`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/vpcs/{vpc_id}?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/vpcs/vpc_id?vpc_id={vpc_id}&api_token={api_token}
```

**Description**: To delete a VPC send a DELETE request to `/v2/vpcs/$VPC_ID`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `vpc_id` | string | Yes | A unique identifier for a VPC |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X DELETE "https://api.lowcodeapi.com/digitalocean/v2/vpcs/{vpc_id}?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

#### List the Member Resources of a VPC

**Method**: `GET` | **LowCodeAPI Path**: `/v2/vpcs/{vpc_id}/members`

**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/vpcs/{vpc_id}/members?api_token=YOUR_API_TOKEN
```

**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/digitalocean/v2/vpcs/vpc_id/members?vpc_id={vpc_id}&page={page}&per_page={per_page}&resource_type={resource_type}&api_token={api_token}
```

**Description**: To list all of the resources that are members of a VPC send a GET request to
`/v2/vpcs/$VPC_ID/members`.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `vpc_id` | string | Yes | A unique identifier for a VPC |

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Which 'page' of paginated results to return |
| `per_page` | integer | No | Number of items returned per page |
| `resource_type` | string | No | Used to filter VPC members by a resource type |

**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/digitalocean/v2/vpcs/{vpc_id}/members?page=VALUE&per_page=VALUE&resource_type=VALUE&api_token=YOUR_API_TOKEN"
```

**Example Response**:
```json
{
  "data": {
    // Provider response here
  }
}
```

---

## API Definition Endpoints

You can retrieve the complete OpenAPI specification for this provider using these endpoints:

**New Format (OpenAPI spec with dynamic path parameters):**
```bash
curl -X GET "https://backend.lowcodeapi.com/digitalocean/openapi"
```

**Old Format (API definition with sanitized paths):**
```bash
curl -X GET "https://backend.lowcodeapi.com/digitalocean/definition"
```

## Response Format

All responses from LowCodeAPI are wrapped in a `data` key:

```json
{
  "data": {
    // Actual response from provider API
  }
}
```

The `data` key contains the raw response from the provider's API.

## Complete Endpoint Reference

For a complete list of all 295 endpoints, refer to:
- **Official Provider Documentation**: https://docs.digitalocean.com/reference/api/

## Usage Examples

### Example 1: Basic API Request (New Format)

Making a simple request to DigitalOcean:

```bash
# Replace RESOURCE_ID with an actual resource ID from your DigitalOcean account
curl -X GET "https://api.lowcodeapi.com/digitalocean/resource/{RESOURCE_ID}?api_token=YOUR_API_TOKEN"
```

### Example 2: Request with Query Parameters (New Format)

Request with specific parameters:

```bash
# Include query parameters for filtering
curl -X GET "https://api.lowcodeapi.com/digitalocean/resources?filter=value&api_token=YOUR_API_TOKEN"
```

## Error Handling

Standard HTTP status codes apply. All responses are wrapped in a `data` key:
```json
{
  "data": {
    // Actual response from provider
  }
}
```