Skip to content

linode

linode

Linode (Akamai) cloud infrastructure API -- compute instances, volumes, DNS, networking, Kubernetes, databases, object storage, and account management

Source: Linode REST API v4

Credits: Dunkel Cloud GmbH -- maintainer Updated: 2026-03-29

Coverage

30% (118 of ~400 endpoints)

Focus: linodes, volumes, domains, nodebalancers, firewalls, VPCs, LKE, databases, object storage, images, stackscripts, regions, account, profile, events, tags

Missing: longview, managed services, monitor, IAM/delegation, service transfers, beta programs, placement groups, support tickets

Last reviewed: 2026-03-29

Tools (179)

GET list_linodes List all Linode instances. Supports X-Filter header for filtering by region, status, tags, etc.
GET get_linode Get details of a specific Linode instance
POST create_linode Create a new Linode instance. Requires region and type. Set image to auto-provision and boot.
PUT update_linode Update a Linode's label, tags, alerts, backups schedule, or watchdog
DELETE delete_linode Delete a Linode instance and all associated disks and IPs. Irreversible.
POST boot_linode Boot a Linode instance
POST reboot_linode Reboot a Linode instance
POST shutdown_linode Shut down a Linode instance
POST rebuild_linode Rebuild a Linode from an image. Destroys all existing disks. Irreversible.
POST resize_linode Resize a Linode to a new plan type. Powers off the instance during resize.
POST clone_linode Clone a Linode to a new instance
POST migrate_linode Initiate a DC migration or accept a pending host migration
POST reset_linode_password Reset the root password for a Linode. Instance must be powered off.
POST rescue_linode Boot a Linode into rescue mode with optional device mappings
GET list_linode_disks List disks for a Linode
GET get_linode_disk Get a specific disk
POST create_linode_disk Create a new disk for a Linode
PUT update_linode_disk Update a disk's label
DELETE delete_linode_disk Delete a disk
POST resize_linode_disk Resize a disk. Linode must be powered off.
GET get_linode_ips Get all networking information (IPv4, IPv6) for a Linode
POST allocate_linode_ip Allocate an additional IPv4 address for a Linode
GET list_linode_backups List backups for a Linode (automatic daily/weekly + manual snapshots)
POST create_linode_snapshot Create a manual snapshot backup
GET get_linode_backup Get a specific backup
POST restore_linode_backup Restore a backup to a Linode
POST enable_linode_backups Enable the backups service for a Linode
POST cancel_linode_backups Cancel the backups service for a Linode. All backups are deleted.
GET get_linode_stats Get CPU, IO, network, and netv6 stats for the current month
GET get_linode_stats_by_month Get statistics for a specific year/month
GET get_linode_transfer Get network transfer usage for the current month
GET list_linode_types List available Linode instance types (plans) with pricing and specs
GET get_linode_type Get a specific instance type by slug
GET list_kernels List available kernels
GET list_volumes List all block storage volumes
GET get_volume Get a specific volume
POST create_volume Create a block storage volume. Set linode_id to auto-attach.
PUT update_volume Update a volume's label or tags
DELETE delete_volume Delete a volume. Must be detached first.
POST attach_volume Attach a volume to a Linode
POST detach_volume Detach a volume from its Linode
POST resize_volume Resize a volume. Can only increase size.
POST clone_volume Clone a volume
GET list_domains List all domains
GET get_domain Get a specific domain
POST create_domain Create a domain (DNS zone)
PUT update_domain Update a domain
DELETE delete_domain Delete a domain and all its records
GET list_domain_records List DNS records for a domain
GET get_domain_record Get a specific DNS record
POST create_domain_record Create a DNS record (A, AAAA, CNAME, MX, TXT, SRV, NS, CAA)
PUT update_domain_record Update a DNS record
DELETE delete_domain_record Delete a DNS record
GET list_nodebalancers List all NodeBalancers
GET get_nodebalancer Get a specific NodeBalancer
POST create_nodebalancer Create a NodeBalancer
PUT update_nodebalancer Update a NodeBalancer's label, throttle, or tags
DELETE delete_nodebalancer Delete a NodeBalancer
GET list_nodebalancer_configs List configs (ports) for a NodeBalancer
POST create_nodebalancer_config Create a NodeBalancer config (listener port)
PUT update_nodebalancer_config Update a NodeBalancer config
DELETE delete_nodebalancer_config Delete a NodeBalancer config
GET list_nodebalancer_nodes List backend nodes for a NodeBalancer config
POST create_nodebalancer_node Add a backend node to a NodeBalancer config
PUT update_nodebalancer_node Update a backend node
DELETE delete_nodebalancer_node Remove a backend node
GET list_firewalls List all firewalls
GET get_firewall Get a specific firewall
POST create_firewall Create a firewall with inbound/outbound rules
PUT update_firewall Update a firewall's label, tags, or status
DELETE delete_firewall Delete a firewall
GET get_firewall_rules Get the current rules for a firewall
PUT update_firewall_rules Replace all rules for a firewall
GET list_firewall_devices List devices (Linodes, NodeBalancers) attached to a firewall
POST create_firewall_device Attach a device to a firewall
DELETE delete_firewall_device Detach a device from a firewall
GET list_ip_addresses List all IP addresses on the account
GET get_ip_address Get info about an IP address
PUT update_ip_rdns Update reverse DNS for an IP address
POST allocate_ip Allocate a new IP address
GET list_ipv6_ranges List all IPv6 ranges
GET list_vlans List all VLANs on the account
GET list_vpcs List all VPCs
GET get_vpc Get a specific VPC
POST create_vpc Create a VPC
PUT update_vpc Update a VPC's label or description
DELETE delete_vpc Delete a VPC. All subnets must be empty.
GET list_vpc_subnets List subnets in a VPC
POST create_vpc_subnet Create a subnet in a VPC
PUT update_vpc_subnet Update a subnet's label
DELETE delete_vpc_subnet Delete a subnet. Must have no attached Linodes.
GET list_lke_clusters List all LKE (Linode Kubernetes Engine) clusters
GET get_lke_cluster Get a specific LKE cluster
POST create_lke_cluster Create an LKE cluster
PUT update_lke_cluster Update an LKE cluster's label, k8s_version, tags, or control plane
DELETE delete_lke_cluster Delete an LKE cluster and all associated node pools
GET get_lke_kubeconfig Get the base64-encoded kubeconfig for a cluster
GET get_lke_dashboard Get the Kubernetes dashboard URL
GET list_lke_api_endpoints List API server endpoints for a cluster
POST recycle_lke_cluster Recycle (replace) all nodes in the cluster
GET list_lke_node_pools List node pools in an LKE cluster
GET get_lke_node_pool Get a specific node pool
POST create_lke_node_pool Add a node pool to an LKE cluster
PUT update_lke_node_pool Update a node pool's count, autoscaler, labels, or taints
DELETE delete_lke_node_pool Delete a node pool
POST recycle_lke_node_pool Recycle (replace) all nodes in a pool
GET list_lke_versions List available Kubernetes versions for LKE
GET list_databases List all managed database instances (MySQL, PostgreSQL)
GET list_database_engines List available database engines and versions
GET list_database_types List available database types (plans) with pricing
GET list_mysql_databases List all MySQL managed databases
GET get_mysql_database Get a specific MySQL database
POST create_mysql_database Create a managed MySQL database
PUT update_mysql_database Update a MySQL database's label, allow_list, or updates config
DELETE delete_mysql_database Delete a MySQL database
GET get_mysql_credentials Get connection credentials (username, password) for a MySQL database
POST reset_mysql_credentials Reset the root password for a MySQL database
GET get_mysql_ssl Get the SSL CA certificate for a MySQL database
POST patch_mysql_database Apply the latest patch to a MySQL database
GET list_postgresql_databases List all PostgreSQL managed databases
GET get_postgresql_database Get a specific PostgreSQL database
POST create_postgresql_database Create a managed PostgreSQL database
PUT update_postgresql_database Update a PostgreSQL database
DELETE delete_postgresql_database Delete a PostgreSQL database
GET get_postgresql_credentials Get connection credentials for a PostgreSQL database
POST reset_postgresql_credentials Reset the root password for a PostgreSQL database
GET list_object_storage_buckets List all Object Storage buckets
GET get_object_storage_bucket Get a specific bucket
POST create_object_storage_bucket Create an Object Storage bucket
DELETE delete_object_storage_bucket Delete an Object Storage bucket. Must be empty.
GET list_object_storage_bucket_contents List objects in a bucket
POST create_object_storage_object_url Create a pre-signed URL for upload or download
GET list_object_storage_keys List S3-compatible access keys
POST create_object_storage_key Create an S3-compatible access key
DELETE delete_object_storage_key Revoke an S3-compatible access key
GET list_object_storage_clusters List Object Storage cluster/region endpoints
GET list_images List all images (official + custom). Rate limited to 20 req/min.
GET get_image Get a specific image
POST create_image Create a custom image from an existing Linode disk
PUT update_image Update an image's label, description, or tags
DELETE delete_image Delete a custom image
POST upload_image Get a URL for uploading a machine image (raw or gzip compressed)
POST replicate_image Replicate a custom image to additional regions
GET list_stackscripts List StackScripts (yours + community). Rate limited to 60 req/min.
GET get_stackscript Get a specific StackScript
POST create_stackscript Create a StackScript
PUT update_stackscript Update a StackScript
DELETE delete_stackscript Delete a StackScript
GET list_regions List all available regions with capabilities and status
GET get_region Get a specific region
GET get_region_availability Get compute type availability for a region
GET list_tags List all tags
POST create_tag Create a tag and optionally attach it to resources
DELETE delete_tag Delete a tag from all resources
GET list_events List account events (create, delete, boot, etc.)
GET get_event Get a specific event
POST mark_event_seen Mark an event as seen
POST mark_event_read Mark an event as read
GET get_account Get account contact and billing info
GET get_account_settings Get account-wide settings (managed, backups defaults, network helper)
PUT update_account_settings Update account settings
GET get_account_transfer Get network transfer pool usage for the current month
GET list_users List account users
GET get_user Get a specific user
POST create_user Create a new user on the account
PUT update_user Update a user
DELETE delete_user Delete a user from the account
GET get_user_grants Get permissions/grants for a restricted user
PUT update_user_grants Update permissions/grants for a restricted user
GET get_profile Get the current user's profile
PUT update_profile Update the current user's profile
GET list_ssh_keys List SSH keys on the current user's profile
GET get_ssh_key Get a specific SSH key
POST create_ssh_key Add an SSH key to the profile
PUT update_ssh_key Update an SSH key's label
DELETE delete_ssh_key Remove an SSH key from the profile
GET list_tokens List personal access tokens
POST create_token Create a personal access token
DELETE delete_token Revoke a personal access token

Setup

  1. Log in to Linode Cloud Manager at https://cloud.linode.com
  2. Navigate to your profile icon (top right) → API Tokens
  3. Click 'Create a Personal Access Token'
  4. Set a label, expiry, and select scopes (Read/Write per category)
  5. Copy the token immediately -- it is shown only once

Environment variable: CREDENTIAL_LINODE_TOKEN

Authentication docs ↗

Personal Access Tokens (PATs) are the simplest auth method. OAuth2 is also supported for third-party apps. Scopes are per-category with read_only or read_write levels.

Install

Add to your backends.yaml:

- name: linode
  transport: rest
  dadl: /app/dadl/linode.dadl

Set the credential:

CREDENTIAL_LINODE_TOKEN=your-token-here