Introduction to DigitalOcean API

DigitalOcean provides a RESTful API that allows developers to manage Droplets (virtual machines), images, domains, and more through HTTP requests. The documentation for the DigitalOcean API is available at https://developers.digitalocean.com/documentation/v2/.

Authentication

Before making any API requests, you must first authenticate. DigitalOcean API uses OAuth2 for authentication and authorization. You will need a client ID and secret to use the API. You can create your OAuth2 client in the DigitalOcean control panel.

const digitalocean = require('digitalocean');
const client = digitalocean.client('your_access_token');

Examples

Droplets

List all Droplets

const digitalocean = require('digitalocean');
const client = digitalocean.client('your_access_token');

client.droplets.list().then((droplets) => {
    console.log(droplets);
}).catch((error) => {
    console.log(error.message);
});

Create a new Droplet

const digitalocean = require('digitalocean');
const client = digitalocean.client('your_access_token');

const dropletData = {
  "name": "example.com",
  "region": "nyc3",
  "size": "s-1vcpu-1gb",
  "image": "ubuntu-16-04-x64",
  "ssh_keys": null,
  "backups": false,
  "ipv6": true,
  "user_data": null,
  "private_networking": null,
  "volumes": null,
  "tags": [
    "web"
  ]
};

client.droplets.create(dropletData).then((droplet) => {
    console.log(droplet);
}).catch((error) => {
    console.log(error.message);
});

Delete a Droplet

const digitalocean = require('digitalocean');
const client = digitalocean.client('your_access_token');

const dropletId = 123456;

client.droplets.delete(dropletId).then(() => {
    console.log(`Droplet ${dropletId} was successfully deleted.`);
}).catch((error) => {
    console.log(error.message);
});

Domains

List all Domains

const digitalocean = require('digitalocean');
const client = digitalocean.client('your_access_token');

client.domains.list().then((domains) => {
    console.log(domains);
}).catch((error) => {
    console.log(error.message);
});

Create a new Domain

const digitalocean = require('digitalocean');
const client = digitalocean.client('your_access_token');

const domainData = {
    "name": "example.com",
    "ip_address": "203.0.113.0"
};

client.domains.create(domainData).then((domain) => {
    console.log(domain);
}).catch((error) => {
    console.log(error.message);
});

Delete a Domain

const digitalocean = require('digitalocean');
const client = digitalocean.client('your_access_token');

const domainName = "example.com";

client.domains.delete(domainName).then(() => {
    console.log(`Domain ${domainName} was successfully deleted.`);
}).catch((error) => {
    console.log(error.message);
});

Conclusion

The DigitalOcean API allows developers to automate the management of their infrastructure and provide self-service functionality to their users. This blog post has provided some examples of how this can be done using the API in JavaScript. For a complete list of available endpoints and methods, please refer to the official DigitalOcean API documentation.

Related APIs