canonical: https://jentic.com/apis/linode.com/linode-api

# Linode Akamai: Linode API

The Akamai Linode API is a comprehensive cloud platform interface covering compute instances, managed Kubernetes, object storage, networking, databases, NodeBalancers, VPCs, firewalls, and account management. With 449 endpoints across more than 80 resource groups, it lets teams provision and operate full cloud workloads programmatically - from creating a Linode instance to managing LKE clusters, attaching block storage volumes, configuring DNS, and reading detailed billing and event data. Both OAuth2 and personal access token (bearer) auth are supported.

## For AI agents

Provision and manage Linode cloud resources - VMs, Kubernetes clusters, object storage, databases, networking, and account billing - across 449 endpoints suitable for full-lifecycle cloud automation.

## Scope

Does not handle CDN edge caching, application-level monitoring, or third-party PaaS deploys - use for Linode cloud infrastructure provisioning and account management only.

## Capabilities

- Provision and resize Linode VM instances across regions via /{apiVersion}/linode/instances endpoints
- Create and manage LKE Kubernetes clusters, node pools, and kubeconfigs via /{apiVersion}/lke endpoints
- Operate Object Storage buckets, access keys, and TLS/SSL certificates via /{apiVersion}/object-storage endpoints
- Configure VPCs, NodeBalancers, firewalls, and DNS domains across the networking endpoint groups
- Manage managed databases (engines, credentials, SSL) via /{apiVersion}/databases endpoints
- Read account events, invoices, payments, and notifications for billing and audit reporting
- Authenticate with either OAuth2 or a personal access token (bearer) scoped to specific permissions

## Use cases

### Programmatic VM Provisioning

Provision Linode VM instances on demand for CI runners, ephemeral test environments, or per-customer workloads. POST /{apiVersion}/linode/instances accepts a region, type, image, and root password and returns an instance ready to boot. Combined with the firewalls and IP-address endpoints, full network-isolated environments can be built in minutes rather than hours.

Example prompt: POST /{apiVersion}/linode/instances with region=us-east, type=g6-standard-2, image=linode/ubuntu22.04, then poll the instance status until running.

### Kubernetes Cluster Lifecycle

Create, scale, and tear down LKE Kubernetes clusters from CI/CD pipelines or platform-engineering tools. The /{apiVersion}/lke/clusters endpoints handle cluster creation, node pool resizing, kubeconfig retrieval, and version upgrades. Suitable for teams that treat clusters as ephemeral or need to spin up per-environment clusters automatically.

Example prompt: Call POST /{apiVersion}/lke/clusters with region, version, and a node pool spec, then GET the kubeconfig once the cluster is provisioned.

### Object Storage and Backups

Manage S3-compatible Object Storage buckets, access keys, and TLS/SSL certificates for application storage and backup workloads. The /{apiVersion}/object-storage endpoints cover bucket creation, key issuance, and certificate uploads, and the Linode backups endpoints handle scheduled VM backups. Useful for cost-effective storage workloads that don't require AWS S3.

Example prompt: Create an Object Storage bucket via POST /{apiVersion}/object-storage/buckets and issue a scoped access key for an application.

### Account, Billing, and Event Audit

Retrieve invoices, payments, and account-event streams to feed FinOps dashboards or compliance audit logs. The /{apiVersion}/account/events and /{apiVersion}/account/invoices endpoints expose every billable action and account change with timestamps. Best for teams that need a unified view of cloud spend and operator activity across many Linode accounts.

Example prompt: Call GET /{apiVersion}/account/invoices to list recent invoices, then GET /{apiVersion}/account/invoices/{invoiceId}/items for line-item details on the most recent one.

### AI Agent Cloud Operations

Let an AI ops agent execute Linode operations on behalf of a platform engineer - provision a Linode, attach a firewall, or scale an LKE node pool. Through Jentic, the agent searches by intent and gets the right endpoint with its schema, while OAuth tokens or PATs stay isolated in your Jentic One instance. The agent never holds raw credentials and every executed action is recorded.

Example prompt: Search Jentic for 'create a Linode instance', load the schema, and execute POST /{apiVersion}/linode/instances with the user's region and plan type.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | /{apiVersion}/linode/instances | Provision a Linode VM instance |
| GET | /{apiVersion}/account | Get account profile and details |
| GET | /{apiVersion}/account/invoices | List account invoices |
| GET | /{apiVersion}/account/events | List recent account events |
| POST | /{apiVersion}/account/entity-transfers | Create an entity transfer between accounts |

## Key resources

- **Linode instances** — Create, resize, reboot, and delete VM instances via /{apiVersion}/linode/instances
- **Linode Kubernetes Engine (LKE)** — Manage clusters, node pools, kubeconfigs, and versions via /{apiVersion}/lke
- **Object Storage** — Buckets, access keys, and TLS certificates via /{apiVersion}/object-storage
- **Networking** — DNS domains, VPCs, NodeBalancers, firewalls, and IP addresses across the networking endpoint groups
- **Databases** — Managed database engines, credentials, and SSL via /{apiVersion}/databases
- **Account** — Invoices, payments, events, notifications, and child accounts via /{apiVersion}/account

## Why Jentic

- **Setup:** Wiring the Akamai Linode API by hand means running its OAuth2 authorization-code flow or personal access token, sending Bearer headers on every call, and handling retries yourself across a large infrastructure surface. Through Jentic you install once, import the Akamai Linode API from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** This spec carries account and event data at fixed paths rather than resource ids in the URL, so limit the agent to the operations it needs, such as GET /{apiVersion}/account or GET /{apiVersion}/account/events. You choose the operations it may call, so provisioning calls like POST /{apiVersion}/linode/instances or entity transfers are not included unless you add them.
- **Credential handling:** Your Linode OAuth2 or personal access token is stored once, encrypted, by your own Jentic One instance and injected as the Bearer header at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'provision a Linode instance' or 'read account invoices', and Jentic returns the matching Linode operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **DigitalOcean API** — Comparable cloud platform with droplets, managed Kubernetes, and Spaces object storage
- **AWS API** — Hyperscale cloud with the broadest service catalogue and global region coverage
- **Cloudflare API** — Edge networking, DNS, and CDN that fronts Linode-hosted workloads

## FAQ

### What authentication does the Linode API use?

Two schemes are supported: OAuth2 (for third-party apps acting on behalf of users) and a personal access token presented as a Bearer token. Through Jentic, both are stored in your Jentic One instance and injected at execution time, so agents never see the raw token.

### Can I provision Kubernetes clusters with the Linode API?

Yes. POST /{apiVersion}/lke/clusters creates a managed LKE cluster with a region, version, and one or more node pool specs. Subsequent calls to /{apiVersion}/lke/clusters/{id}/pools resize node pools and /{apiVersion}/lke/clusters/{id}/kubeconfig returns the kubeconfig file for cluster access.

### What are the rate limits for the Linode API?

Linode applies per-token rate limits that vary by endpoint group, with stricter limits on write operations against compute and LKE resources. Build agents to back off on 429 responses and avoid tight polling on /events - use the events endpoint with cursor pagination instead.

### How do I provision a Linode instance through Jentic?

Run pip install jentic, then search for 'create a Linode instance'. Jentic returns POST /{apiVersion}/linode/instances with its schema. Load the schema, supply region, type, image, and root_pass, and execute. Poll GET /{apiVersion}/linode/instances/{linodeId} for status until it reports running.

### Does the Linode API expose billing data?

Yes. GET /{apiVersion}/account/invoices lists invoices, GET /{apiVersion}/account/invoices/{invoiceId}/items returns line items, and GET /{apiVersion}/account/payments returns payment history. Combined with /events, these endpoints power FinOps dashboards and operator audit logs.

### Can I limit what my agent is allowed to do with the Linode API?

Yes. Because you self-host Jentic One, your own rules decide which Linode operations the agent may call, so you can allow read-only, fixed-path calls like GET /{apiVersion}/account or GET /{apiVersion}/account/events while withholding everything else. Write and provisioning operations such as POST /{apiVersion}/linode/instances or account entity transfers are not available to the agent unless you explicitly add them. Your OAuth2 or personal access token stays in your own instance and is injected only for the operations you have permitted.
