linode
linode
Linode (Akamai) cloud infrastructure API -- compute instances, volumes, DNS, networking, Kubernetes, databases, object storage, and account management
Source: Linode REST API v4
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
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
- Log in to Linode Cloud Manager at https://cloud.linode.com
- Navigate to your profile icon (top right) → API Tokens
- Click 'Create a Personal Access Token'
- Set a label, expiry, and select scopes (Read/Write per category)
- Copy the token immediately -- it is shown only once
Environment variable: CREDENTIAL_LINODE_TOKEN
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