digitalocean-api — quality + safety report

In the Skillier index (lap__digitalocean-com-digitalocean-com) · scanned 2026-06-03 · engine: builtin+triage

A
Quality
90/100
Safety

3 heuristic flags to review

Heuristic flags from the builtin scanner, which is known to over-flag (it trips on legitimate env-reading integrations, security skills, and library .eval calls). This is NOT an authoritative malicious verdict — re-scan with SkillSpector for the authoritative result. Run the authoritative scan →

Skillproof quality grade A

📇 This skill is in the Skillier index (curated · deduped · quality-filtered). Install Skillier to route & load it into your AI client.

Quality notes

Skill is large (~17397 tokens)
medium · quality · body
→ Tighten to the essential procedure; move long reference material to linked files.
No example
low · quality · body
→ Add at least one worked example (input → expected action/output).

About this skill

DigitalOcean API skill. Use when working with DigitalOcean for 1-clicks, account, actions. Covers 545 endpoints.

📄 Read the SKILL.md
---
name: digitalocean-api
description: "DigitalOcean API skill. Use when working with DigitalOcean for 1-clicks, account, actions. Covers 545 endpoints."
version: 1.0.0
generator: lapsh
---

# DigitalOcean API
API version: 2.0

## Auth
Bearer bearer

## Base URL
https://api.digitalocean.com

## Setup
1. Set Authorization header with your Bearer token
2. GET /v2/1-clicks -- verify access
3. POST /v2/1-clicks/kubernetes -- create first kubernetes

## Endpoints

545 endpoints across 39 groups. See references/api-spec.lap for full details.

### 1-clicks
| Method | Path | Description |
|--------|------|-------------|
| GET | /v2/1-clicks |  |
| POST | /v2/1-clicks/kubernetes |  |

### account
| Method | Path | Description |
|--------|------|-------------|
| GET | /v2/account |  |
| GET | /v2/account/keys |  |
| POST | /v2/account/keys |  |
| GET | /v2/account/keys/{ssh_key_identifier} |  |
| PUT | /v2/account/keys/{ssh_key_identifier} |  |
| DELETE | /v2/account/keys/{ssh_key_identifier} |  |

### actions
| Method | Path | Description |
|--------|------|-------------|
| GET | /v2/actions |  |
| GET | /v2/actions/{action_id} |  |

### add-ons
| Method | Path | Description |
|--------|------|-------------|
| GET | /v2/add-ons/apps |  |
| GET | /v2/add-ons/apps/{app_slug}/metadata |  |
| GET | /v2/add-ons/saas |  |
| POST | /v2/add-ons/saas |  |
| GET | /v2/add-ons/saas/{resource_uuid} |  |
| DELETE | /v2/add-ons/saas/{resource_uuid} |  |
| PATCH | /v2/add-ons/saas/{resource_uuid} |  |
| PATCH | /v2/add-ons/saas/{resource_uuid}/plan |  |

### apps
| Method | Path | Description |
|--------|------|-------------|
| GET | /v2/apps |  |
| POST | /v2/apps |  |
| DELETE | /v2/apps/{id} |  |
| GET | /v2/apps/{id} |  |
| PUT | /v2/apps/{id} |  |
| POST | /v2/apps/{app_id}/restart |  |
| GET | /v2/apps/{app_id}/components/{component_name}/logs |  |
| GET | /v2/apps/{app_id}/components/{component_name}/exec |  |
| GET | /v2/apps/{app_id}/instances |  |
| GET | /v2/apps/{app_id}/deployments |  |
| POST | /v2/apps/{app_id}/deployments |  |
| GET | /v2/apps/{app_id}/deployments/{deployment_id} |  |
| POST | /v2/apps/{app_id}/deployments/{deployment_id}/cancel |  |
| GET | /v2/apps/{app_id}/deployments/{deployment_id}/components/{component_name}/logs |  |
| GET | /v2/apps/{app_id}/deployments/{deployment_id}/logs |  |
| GET | /v2/apps/{app_id}/deployments/{deployment_id}/components/{component_name}/exec |  |
| GET | /v2/apps/{app_id}/logs |  |
| GET | /v2/apps/{app_id}/job-invocations |  |
| GET | /v2/apps/{app_id}/job-invocations/{job_invocation_id} |  |
| POST | /v2/apps/{app_id}/job-invocations/{job_invocation_id}/cancel |  |
| GET | /v2/apps/{app_id}/jobs/{job_name}/invocations/{job_invocation_id}/logs |  |
| GET | /v2/apps/tiers/instance_sizes |  |
| GET | /v2/apps/tiers/instance_sizes/{slug} |  |
| GET | /v2/apps/regions |  |
| POST | /v2/apps/propose |  |
| GET | /v2/apps/{app_id}/alerts |  |
| POST | /v2/apps/{app_id}/alerts/{alert_id}/destinations |  |
| POST | /v2/apps/{app_id}/rollback |  |
| POST | /v2/apps/{app_id}/rollback/validate |  |
| POST | /v2/apps/{app_id}/rollback/commit |  |
| POST | /v2/apps/{app_id}/rollback/revert |  |
| GET | /v2/apps/{app_id}/metrics/bandwidth_daily |  |
| POST | /v2/apps/metrics/bandwidth_daily |  |
| GET | /v2/apps/{app_id}/health |  |

### cdn
| Method | Path | Description |
|--------|------|-------------|
| GET | /v2/cdn/endpoints |  |
| POST | /v2/cdn/endpoints |  |
| GET | /v2/cdn/endpoints/{cdn_id} |  |
| PUT | /v2/cdn/endpoints/{cdn_id} |  |
| DELETE | /v2/cdn/endpoints/{cdn_id} |  |
| DELETE | /v2/cdn/endpoints/{cdn_id}/cache |  |

### certificates
| Method | Path | Description |
|--------|------|-------------|
| GET | /v2/certificates |  |
| POST | /v2/certificates |  |
| GET | /v2/certificates/{certificate_id} |  |
| DELETE | /v2/certificates/{certificate_id} |  |

### customers
| Method | Path | Description |
|--------|------|-------------|
| GET | /v2/customers/my/balance |  |
| GET | /v2/customers/my/billing_history |  |
| GET | /v2/customers/my/invoices |  |
| GET | /v2/customers/my/invoices/{invoice_uuid} |  |
| GET | /v2/customers/my/invoices/{invoice_uuid}/csv |  |
| GET | /v2/customers/my/invoices/{invoice_uuid}/pdf |  |
| GET | /v2/customers/my/invoices/{invoice_uuid}/summary |  |

### billing
| Method | Path | Description |
|--------|------|-------------|
| GET | /v2/billing/{account_urn}/insights/{start_date}/{end_date} |  |

### databases
| Method | Path | Description |
|--------|------|-------------|
| GET | /v2/databases/options |  |
| GET | /v2/databases |  |
| POST | /v2/databases |  |
| GET | /v2/databases/{database_cluster_uuid} |  |
| DELETE | /v2/databases/{database_cluster_uuid} |  |
| GET | /v2/databases/{database_cluster_uuid}/config |  |
| PATCH | /v2/databases/{database_cluster_uuid}/config |  |
| GET | /v2/databases/{database_cluster_uuid}/ca |  |
| GET | /v2/databases/{database_cluster_uuid}/online-migration |  |
| PUT | /v2/databases/{database_cluster_uuid}/online-migration |  |
| DELETE | /v2/databases/{database_cluster_uuid}/online-migration/{migration_id} |  |
| PUT | /v2/databases/{database_cluster_uuid}/migrate |  |
| PUT | /v2/databases/{database_cluster_uuid}/resize |  |
| GET | /v2/databases/{database_cluster_uuid}/firewall |  |
| PUT | /v2/databases/{database_cluster_uuid}/firewall |  |
| PUT | /v2/databases/{database_cluster_uuid}/maintenance |  |
| PUT | /v2/databases/{database_cluster_uuid}/install_update |  |
| GET | /v2/databases/{database_cluster_uuid}/backups |  |
| GET | /v2/databases/{database_cluster_uuid}/replicas |  |
| POST | /v2/databases/{database_cluster_uuid}/replicas |  |
| GET | /v2/databases/{database_cluster_uuid}/events |  |
| GET | /v2/databases/{database_cluster_uuid}/replicas/{replica_name} |  |
| DELETE | /v2/databases/{database_cluster_uuid}/replicas/{replica_name} |  |
| PUT | /v2/databases/{database_cluster_uuid}/replicas/{replica_name}/promote |  |
| GET | /v2/databases/{database_cluster_uuid}/users |  |
| POST | /v2/databases/{database_cluster_uuid}/users |  |
| GET | /v2/databases/{database_cluster_uuid}/users/{username} |  |
| DELETE | /v2/databases/{database_cluster_uuid}/users/{username} |  |
| PUT | /v2/databases/{database_cluster_uuid}/users/{username} |  |
| POST | /v2/databases/{database_cluster_uuid}/users/{username}/reset_auth |  |
| GET | /v2/databases/{database_cluster_uuid}/dbs |  |
| POST | /v2/databases/{database_cluster_uuid}/dbs |  |
| GET | /v2/databases/{database_cluster_uuid}/dbs/{database_name} |  |
| DELETE | /v2/databases/{database_cluster_uuid}/dbs/{database_name} |  |
| GET | /v2/databases/{database_cluster_uuid}/pools |  |
| POST | /v2/databases/{database_cluster_uuid}/pools |  |
| GET | /v2/databases/{database_cluster_uuid}/pools/{pool_name} |  |
| PUT | /v2/databases/{database_cluster_uuid}/pools/{pool_name} |  |
| DELETE | /v2/databases/{database_cluster_uuid}/pools/{pool_name} |  |
| GET | /v2/databases/{database_cluster_uuid}/eviction_policy |  |
| PUT | /v2/databases/{database_cluster_uuid}/eviction_policy |  |
| GET | /v2/databases/{database_cluster_uuid}/sql_mode |  |
| PUT | /v2/databases/{database_cluster_uuid}/sql_mode |  |
| PUT | /v2/databases/{database_cluster_uuid}/upgrade |  |
| GET | /v2/databases/{database_cluster_uuid}/autoscale |  |
| PUT | /v2/databases/{database_cluster_uuid}/autoscale |  |
| GET | /v2/databases/{database_cluster_uuid}/topics |  |
| POST | /v2/databases/{database_cluster_uuid}/topics |  |
| GET | /v2/databases/{database_cluster_uuid}/topics/{topic_name} |  |
| PUT | /v2/databases/{database_cluster_uuid}/topics/{topic_name} |  |
| DELETE | /v2/databases/{database_cluster_uuid}/topics/{topic_name} |  |
| GET | /v2/databases/{database_cluster_uuid}/logsink |  |
| POST | /v2/databases/{database_cluster_uuid}/logsink |  |
| GET | /v2/databases/{database_cluster_uuid}/logsink/{logsink_id} |  |
| PUT | /v2/databases/{database_cluster_uuid}/logsink/{logsink_id} |  |
| DELETE | /v2/databases/{database_cluster_uuid}/logsink/{logsink_id} |  |
| GET | /v2/databases/{database_cluster_uuid}/schema-registry |  |
| POST | /v2/databases/{database_cluster_uuid}/schema-registry |  |
| GET | /v2/databases/{database_cluster_uuid}/schema-registry/{subject_name} |  |
| DELETE | /v2/databases/{database_cluster_uuid}/schema-registry/{subject_name} |  |
| GET | /v2/databases/{database_cluster_uuid}/schema-registry/{subject_name}/versions/{version} |  |
| GET | /v2/databases/{database_cluster_uuid}/schema-registry/config |  |
| PUT | /v2/databases/{database_cluster_uuid}/schema-registry/config |  |
| GET | /v2/databases/{database_cluster_uuid}/schema-registry/config/{subject_name} |  |
| PUT | /v2/databases/{database_cluster_uuid}/schema-registry/config/{subject_name} |  |
| GET | /v2/databases/metrics/credentials |  |
| PUT | /v2/databases/metrics/credentials |  |
| GET | /v2/databases/{database_cluster_uuid}/indexes |  |
| DELETE | /v2/databases/{database_cluster_uuid}/indexes/{index_name} |  |

### domains
| Method | Path | Description |
|--------|------|-------------|
| GET | /v2/domains |  |
| POST | /v2/domains |  |
| GET | /v2/domains/{domain_name} |  |
| DELETE | /v2/domains/{domain_name} |  |
| GET | /v2/domains/{domain_name}/records |  |
| POST | /v2/domains/{domain_name}/records |  |
| GET | /v2/domains/{domain_name}/records/{domain_record_id} |  |
| PATCH | /v2/domains/{domain_name}/records/{domain_record_id} |  |
| PUT | /v2/domains/{domain_name}/records/{domain_record_id} |  |
| DELETE | /v2/domains/{domain_name}/records/{domain_record_id} |  |

### droplets
| Method | Path | Description |
|--------|------|-------------|
| GET | /v2/droplets |  |
| POST | /v2/droplets |  |
| DELETE | /v2/droplets |  |
| GET | /v2/droplets/{droplet_id} |  |
| DELETE | /v2/droplets/{droplet_id} |  |
| GET | /v2/droplets/{droplet_id}/backups |  |
| GET | /v2/droplets/{droplet_id}/backups/policy |  |
| GET | /v2/droplets/backups/policies |  |
| GET | /v2/droplets/backups/supported_policies |  |
| GET | /v2/droplets/{droplet_id}/snapshots |  |
| GET | /v2/droplets/{droplet_id}/actions |  |
| POST | /v2/droplets/{droplet_id}/actions |  |
| POST | /v2/droplets/actions |  |
| GET | /v2/droplets/{droplet_id}/actions/{action_id} |  |
| GET | /v2/droplets/{droplet_id}/kernels |  |
| GET | /v2/droplets/{droplet_id}/firewalls |  |
| GET | /v2/droplets/{droplet_id}/neighbors |  |
| GET | /v2/droplets/{droplet_id}/destroy_with_associated_resources |  |
| DELETE | /v2/droplets/{droplet_id}/destroy_with_associated_resources/selective |  |
| DELETE | /v2/droplets/{droplet_id}/destroy_with_associated_resources/dangerous |  |
| GET | /v2/droplets/{droplet_id}/destroy_with_associated_resources/status |  |
| POST | /v2/droplets/{droplet_id}/destroy_with_associated_resources/retry |  |
| GET | /v2/droplets/autoscale |  |
| POST | /v2/droplets/autoscale |  |
| GET | /v2/droplets/autoscale/{autoscale_pool_id} |  |
| PUT | /v2/droplets/autoscale/{autoscale_pool_id} |  |
| DELETE | /v2/droplets/autoscale/{autoscale_pool_id} |  |
| DELETE | /v2/droplets/autoscale/{autoscale_pool_id}/dangerous |  |
| GET | /v2/droplets/autoscale/{autoscale_pool_id}/members |  |
| GET | /v2/droplets/autoscale/{autoscale_pool_id}/history |  |

### firewalls
| Method | Path | Description |
|--------|------|-------------|
| GET | /v2/firewalls |  |
| POST | /v2/firewalls |  |
| GET | /v2/firewalls/{firewall_id} |  |
| PUT | /v2/firewalls/{firewall_id} |  |
| DELETE | /v2/firewalls/{firewall_id} |  |
| POST | /v2/firewalls/{firewall_id}/droplets |  |
| DELETE | /v2/firewalls/{firewall_id}/droplets |  |
| POST | /v2/firewalls/{firewall_id}/tags |  |
| DELETE | /v2/firewalls/{firewall_id}/tags |  |
| POST | /v2/firewalls/{firewall_id}/rules |  |
| DELETE | /v2/firewalls/{firewall_id}/rules |  |

### floating_ips
| Method | Path | Description |
|--------|------|-------------|
| GET | /v2/floating_ips |  |
| POST | /v2/floating_ips |  |
| GET | /v2/floating_ips/{floating_ip} |  |
| DELETE

… (truncated)
Scan or optimize your own skill →

Want a live grade + an embeddable README badge? Run your skill through the free scanner.

Graded independently by Skillproof — nothing to sell the author. Quality is mechanical + corpus-grounded; safety flags are heuristic (builtin+triage), not a malicious verdict.