Linode API
Introduction
The Linode API provides the ability to programmatically manage the full range of Linode products and services.
This reference is designed to assist application developers and system administrators. Each endpoint includes descriptions, request syntax, and examples using standard HTTP requests. Response data is returned in JSON format.
This document was generated from our OpenAPI Specification. See the for more information.
.
Changelog
to see release notes on all changes made to our API.
Access and Authentication
Some endpoints are publicly accessible without requiring authentication. All endpoints affecting your Account, however, require either a Personal Access Token or OAuth authentication (when using third-party applications).
Personal Access Token
The easiest way to access the API is with a Personal Access Token (PAT) generated from the or the endpoint.
All scopes for the OAuth security model () apply to this security model as well.
Authentication
OAuth
If you only need to access the Linode API for personal use, we recommend that you create a . If you're designing an application that can authenticate with an arbitrary Linode user, then you should use the OAuth 2.0 workflows presented in this section.
For a more detailed example of an OAuth 2.0 implementation, see our guide on .
Before you implement OAuth in your application, you first need to create an OAuth client. You can do this or :
- When creating the client, you'll supply a
labeland aredirect_uri(referred to as the Callback URL in the Cloud Manager). - The response from this endpoint will give you a
client_idand asecret. - Clients can be public or private, and are private by default. You can choose to make the client public when it is created.
- A private client is used with applications which can securely store the client secret (that is, the secret returned to you when you first created the client). For example, an application running on a secured server that only the developer has access to would use a private OAuth client. This is also called a confidential client in some OAuth documentation.
- A public client is used with applications where the client secret is not guaranteed to be secure. For example, a native app running on a user's computer may not be able to keep the client secret safe, as a user could potentially inspect the source of the application. So, native apps or apps that run in a user's browser should use a public client.
- Public and private clients follow different workflows, as described below.
OAuth Workflow
The OAuth workflow is a series of exchanges between your third-party app and Linode. The workflow is used to authenticate a user before an application can start making API calls on the user's behalf.
Notes:
- With respect to the diagram in , login.linode.com (referred to in this section as the login server) is the Resource Owner and the Authorization Server; api.linode.com (referred to here as the api server) is the Resource Server.
- The OAuth spec refers to the private and public workflows listed below as the and .
OAuth Private Workflow - Additional Details
The following information expands on steps 5 through 7 of the private workflow:
Once the user has logged into Linode and you have received an exchange code,
you will need to trade that exchange code for an access_token and refresh_token. You
do this by making an HTTP POST request to the following address:
Make this request as application/x-www-form-urlencoded or as
multipart/form-data and include the following parameters in the POST body:
You'll get a response like this:
Included in the response is an access_token. With this token, you can proceed to make
authenticated HTTP requests to the API by adding this header to each request:
This access_token is set to expire in two hours. To refresh access prior to expiration, make another request to the same URL with the following parameters in the POST body:
You'll get another response with an updated access_token and refresh_token, which can then be used to refresh access again.
OAuth Reference
Requests
Requests must be made over HTTPS to ensure transactions are encrypted. The following Request methods are supported:
Responses
Actions will return one following HTTP response status codes:
Errors
Success is indicated via .
2xx codes indicate success, 4xx codes indicate a request error, and
5xx errors indicate a server error. A
request error might be an invalid input, a required parameter being omitted,
or a malformed request. A server error means something went wrong processing
your request. If this occurs, please
and let us know. Though errors are logged and we work quickly to resolve issues,
opening a ticket and providing us with reproducable steps and data is always helpful.
The errors field is an array of the things that went wrong with your request.
We will try to include as many of the problems in the response as possible,
but it's conceivable that fixing these errors and resubmitting may result in
new errors coming back once we are able to get further along in the process
of handling your request.
Within each error object, the field parameter will be included if the error
pertains to a specific field in the JSON you've submitted. This will be
omitted if there is no relevant field. The reason is a human-readable
explanation of the error, and will always be included.
Pagination
Resource lists are always paginated. The response will look similar to this:
-
Pages start at 1. You may retrieve a specific page of results by adding
?page=xto your URL (for example,?page=4). If the value ofpageexceeds2^64/page_size, the last possible page will be returned. -
Page sizes default to 100, and can be set to return between 25 and 500. Page size can be set using
?page_size=x.
Filtering and Sorting
Collections are searchable by fields they include, marked in the spec as
x-linode-filterable: true. Filters are passed
in the X-Filter header and are formatted as JSON objects. Here is a request
call for Linode Types in our "standard" class:
The filter object's keys are the keys of the object you're filtering, and the values are accepted values. You can add multiple filters by including more than one key. For example, filtering for "standard" Linode Types that offer one vcpu:
In the above example, both filters are combined with an "and" operation. However, if you wanted either Types with one vcpu or Types in our "standard" class, you can add an operator:
Each filter in the +or array is its own filter object, and all conditions
in it are combined with an "and" operation as they were in the previous example.
Other operators are also available. Operators are keys of a Filter JSON object. Their value must be of the appropriate type, and they are evaluated as described below:
For example, filtering for that offer memory equal to or higher than 61440:
You can combine and nest operators to construct arbitrarily-complex queries.
For example, give me all
which are either standard or highmem class, or
have between 12 and 20 vcpus:
Time Values
All times returned by the API are in UTC, regardless of the timezone configured within your user's profile (see timezone property within ).
Rate Limiting
Rate limits on API requests help maintain the health and stability of the Linode API. Accordingly, every endpoint of the Linode API applies a rate limit on a per user basis as determined by OAuth token for authenticated requests or IP address for public endpoints.
Each rate limit consists of a total number of requests and a time window. For example, if an endpoint has a rate limit of 800 requests per minute, then up to 800 requests over a one minute window are permitted. Subsequent requests to an endpoint after hitting a rate limit return a 429 error. You can successfully remake requests to that endpoint after the rate limit window resets.
Linode APIv4 Rate Limits
With the Linode API, you can generally make up to 1,600 general API requests every two minutes. Additionally, all endpoints have a rate limit of 800 requests per minute unless otherwise specified below.
Note: There may be rate limiting applied at other levels outside of the API, for example, at the load balancer.
Creating Linodes has a dedicated rate limit of 10 requests per 30 seconds. That endpoint is:
/stats endpoints have their own dedicated rate limits of 100 requests per minute. These endpoints are:
Object Storage endpoints have a dedicated rate limit of 750 requests per second. The Object Storage endpoints are:
Opening Support Tickets has a dedicated rate limit of 2 requests per minute. That endpoint is:
Accepting Service Transfers has a dedicated rate limit of 2 requests per minute. That endpoint is:
Rate Limit HTTP Response Headers
The Linode API includes the following HTTP response headers which are designed to help you avoid hitting rate limits that might disrupt your applications:
- X-RateLimit-Limit: The maximum number of permitted requests during the rate limit window for this endpoint.
- X-RateLimit-Remaining: The remaining number of permitted requests in the current rate limit window.
- X-RateLimit-Reset: The time when the current rate limit window rests in UTC epoch seconds.
- Retry-After: The remaining time in seconds until the current rate limit window resets.
There are many ways to access header information for your requests, depending on how you are accessing the Linode API. For example, to view HTTP response headers when making requests with curl, use the -i or --include option as follows:
CLI (Command Line Interface)
The allows you to easily work with the API using intuitive and simple syntax. It requires a for authentication, and gives you access to all of the features and functionality of the Linode API that are documented here with CLI examples.
Endpoints that do not have CLI examples are currently unavailable through the CLI, but can be accessed via other methods such as Shell commands and other third-party applications.
https://login.linode.com/oauth/token{ "scope": "linodes:read_write", "access_token": "03d084436a6c91fbafd5c4b20c82e5056a2e9ce1635920c30dc8d81dc7a6665c", "refresh_token": "f2ec9712e616fdb5a2a21aa0e88cfadea7502ebc62cf5bd758dbcd65e1803bad", "token_type": "bearer", "expires_in": 7200}Authorization: Bearer 03d084436a6c91fbafd5c4b20c82e5056a2e9ce1635920c30dc8d81dc7a6665c{ "data": [ ... ], "page": 1, "pages": 3, "results": 300}curl "https://api.linode.com/v4/linode/types" \ -H 'X-Filter: { "class": "standard" }' curl "https://api.linode.com/v4/linode/types" \ -H 'X-Filter: { "class": "standard", "vcpus": 1 }'curl "https://api.linode.com/v4/linode/types" \ -H 'X-Filter: { "+or": [ { "vcpus": 1 }, { "class": "standard" } ] }'curl "https://api.linode.com/v4/linode/types" \ -H ' X-Filter: { "memory": { "+gte": 61440 } }'curl "https://api.linode.com/v4/linode/types" \ -H ' X-Filter: { "+or": [ { "+or": [ { "class": "standard" }, { "class": "highmem" } ] }, { "+and": [ { "vcpus": { "+gte": 12 } }, { "vcpus": { "+lte": 20 } } ] } ] }'curl -i https://api.linode.com/v4/regions- Homepage
- https://api.apis.guru/v2/specs/linode.com/4.145.0.json
- Provider
- linode.com
- OpenAPI version
- 3.0.1
- Spec (JSON)
- https://api.apis.guru/v2/specs/linode.com/4.145.0/openapi.json
- Spec (YAML)
- https://api.apis.guru/v2/specs/linode.com/4.145.0/openapi.yaml
Tools (352)
Extracted live via the executor SDK.
-
account.acceptEntityTransferDEPRECATED. Please use .
-
account.acceptServiceTransferAccept a Service Transfer for the provided token to receive the services included in the transfer to your account. At this time, only Linodes can be transferred.
When accepted, email confirmations are sent to the accounts that created and accepted the transfer. A transfer can take up to three hours to complete once accepted. Once a transfer is completed, billing for transferred services ends for the sending account and begins for the receiving account.
This command can only be accessed by the unrestricted users of the account that receives the transfer. Users of the same account that created a transfer cannot accept the transfer.
There are several conditions that must be met in order to accept a transfer request:
-
Only transfers with a
pendingstatus can be accepted. -
The account accepting the transfer must have a registered payment method and must not have a past due balance or other account limitations for the services to be transferred.
-
Both the account that created the transfer and the account that is accepting the transfer must not have any active Terms of Service violations.
-
The service must still be owned by the account that created the transfer.
-
Linodes must not:
-
be assigned to a NodeBalancer, Firewall, VLAN, or Managed Service.
-
have any attached Block Storage Volumes.
-
have any shared IP addresses.
-
have any assigned /56, /64, or /116 IPv6 ranges.
-
Any and all of the above conditions must be cured and maintained by the relevant account prior to the transfer's expiration to allow the transfer to be accepted by the receiving account.
-
-
account.cancelAccountCancels an active Linode account. This action will cause Linode to attempt to charge the credit card on file for the remaining balance. An error will occur if Linode fails to charge the credit card on file. Restricted users will not be able to cancel an account.
-
account.createClientCreates an OAuth Client, which can be used to allow users (using their Linode account) to log in to your own application, and optionally grant your application some amount of access to their Linodes or other entities.
-
account.createCreditCardDEPRECATED. Please use Payment Method Add ().
Adds a credit card Payment Method to your account and sets it as the default method.
-
account.createEntityTransferDEPRECATED. Please use .
-
account.createPaymentMakes a Payment to your Account.
-
The requested amount is charged to the default Payment Method if no
payment_method_idis specified. -
A
payment_submittedevent is generated when a payment is successfully submitted.
-
-
account.createPaymentMethodAdds a Payment Method to your Account with the option to set it as the default method.
-
Adding a default Payment Method removes the default status from any other Payment Method.
-
An Account can have up to 6 active Payment Methods.
-
Up to 60 Payment Methods can be added each day.
-
Prior to adding a Payment Method, ensure that your billing address information is up-to-date with a valid
zipby using the Account Update () endpoint. -
A
payment_method_addevent is generated when a payment is successfully submitted.
-
-
account.createPayPalPaymentNote: This endpoint is disabled and no longer accessible. PayPal can be designated as a Payment Method for automated payments using the Cloud Manager. See .
-
account.createPromoCreditAdds an expiring Promo Credit to your account.
The following restrictions apply:
- Your account must be less than 90 days old.
- There must not be an existing Promo Credit already on your account.
- The requesting User must be unrestricted. Use the User Update () to change a User's restricted status.
- The
promo_codemust be valid and unexpired.
-
account.createServiceTransferCreates a transfer request for the specified services. A request can contain any of the specified service types and any number of each service type. At this time, only Linodes can be transferred.
When created successfully, a confirmation email is sent to the account that created this transfer containing a transfer token and instructions on completing the transfer.
When a transfer is , the requested services are moved to the receiving account. Linode services will not experience interruptions due to the transfer process. Backups for Linodes are transferred as well.
DNS records that are associated with requested services will not be transferred or updated. Please ensure that associated DNS records have been updated or communicated to the recipient prior to the transfer.
A transfer can take up to three hours to complete once accepted. When a transfer is completed, billing for transferred services ends for the sending account and begins for the receiving account.
This command can only be accessed by the unrestricted users of an account.
There are several conditions that must be met in order to successfully create a transfer request:
-
The account creating the transfer must not have a past due balance or active Terms of Service violation.
-
The service must be owned by the account that is creating the transfer.
-
The service must not be assigned to another Service Transfer that is pending or that has been accepted and is incomplete.
-
Linodes must not:
-
be assigned to a NodeBalancer, Firewall, VLAN, or Managed Service.
-
have any attached Block Storage Volumes.
-
have any shared IP addresses.
-
have any assigned /56, /64, or /116 IPv6 ranges.
-
-
-
account.createUserCreates a User on your Account. Once created, a confirmation message containing password creation and login instructions is sent to the User's email address.
This command can only be accessed by the unrestricted users of an account.
The User's account access is determined by whether or not they are restricted, and what grants they have been given.
-
account.deleteClientDeletes an OAuth Client registered with Linode. The Client ID and Client secret will no longer be accepted by , and all tokens issued to this client will be invalidated (meaning that if your application was using a token, it will no longer work).
-
account.deleteEntityTransferDEPRECATED. Please use .
-
account.deletePaymentMethodDeactivate the specified Payment Method.
The default Payment Method can not be deleted. To add a new default Payment Method, access the Payment Method Add () endpoint. To designate an existing Payment Method as the default method, access the Payment Method Make Default () endpoint.
-
account.deleteServiceTransferCancels the Service Transfer for the provided token. Once cancelled, a transfer cannot be accepted or otherwise acted on in any way. If cancelled in error, the transfer must be again.
When cancelled, an email notification for the cancellation is sent to the account that created this transfer. Transfers can not be cancelled if they are expired or have been accepted.
This command can only be accessed by the unrestricted users of the account that created this transfer.
-
account.deleteUserDeletes a User. The deleted User will be immediately logged out and may no longer log in or perform any actions. All of the User's Grants will be removed.
This command can only be accessed by the unrestricted users of an account.
-
account.enableAccountManagedEnables Linode Managed for the entire account and sends a welcome email to the account's associated email address. Linode Managed can monitor any service or software stack reachable over TCP or HTTP. See our to learn more.
-
account.eventReadMarks a single Event as read.
-
account.eventSeenMarks all Events up to and including this Event by ID as seen.
-
account.executePayPalPaymentNote: This endpoint is disabled and no longer accessible. PayPal can be designated as a Payment Method for automated payments using the Cloud Manager. See .
-
account.getAccountReturns the contact and billing information related to your Account.
-
account.getAccountLoginReturns a Login object that displays information about a successful login. The logins that can be viewed can be for any user on the account, and are not limited to only the logins of the user that is accessing this API endpoint. This command can only be accessed by the unrestricted users of the account.
-
account.getAccountLoginsReturns a collection of successful logins for all users on the account during the last 90 days. This command can only be accessed by the unrestricted users of an account.
-
account.getAccountSettingsReturns information related to your Account settings: Managed service subscription, Longview subscription, and network helper.
-
account.getClientReturns information about a single OAuth client.
-
account.getClientsReturns a paginated list of OAuth Clients registered to your Account. OAuth Clients allow users to log into applications you write or host using their Linode Account, and may allow them to grant some level of access to their Linodes or other entities to your application.
-
account.getClientThumbnailReturns the thumbnail for this OAuth Client. This is a publicly-viewable endpoint, and can be accessed without authentication.
-
account.getEntityTransferDEPRECATED. Please use .
-
account.getEntityTransfersDEPRECATED. Please use .
-
account.getEventReturns a single Event object.
-
account.getEventsReturns a collection of Event objects representing actions taken on your Account from the last 90 days. The Events returned depend on your grants.
-
account.getInvoiceReturns a single Invoice object.
-
account.getInvoiceItemsReturns a paginated list of Invoice items.
-
account.getInvoicesReturns a paginated list of Invoices against your Account.
-
account.getMaintenanceReturns a collection of Maintenance objects for any entity a user has permissions to view. Cancelled Maintenance objects are not returned.
Currently, Linodes are the only entities available for viewing.
-
account.getNotificationsReturns a collection of Notification objects representing important, often time-sensitive items related to your Account. You cannot interact directly with Notifications, and a Notification will disappear when the circumstances causing it have been resolved. For example, if you have an important Ticket open, you must respond to the Ticket to dismiss the Notification.
-
account.getPaymentReturns information about a specific Payment.
-
account.getPaymentMethodView the details of the specified Payment Method.
-
account.getPaymentMethodsReturns a paginated list of Payment Methods for this Account.
-
account.getPaymentsReturns a paginated list of Payments made on this Account.
-
account.getServiceTransferReturns the details of the Service Transfer for the provided token.
While a transfer is pending, any unrestricted user of any account can access this command. After a transfer has been accepted, it can only be viewed by unrestricted users of the accounts that created and accepted the transfer. If cancelled or expired, only unrestricted users of the account that created the transfer can view it.
-
account.getServiceTransfersReturns a collection of all created and accepted Service Transfers for this account, regardless of the user that created or accepted the transfer.
This command can only be accessed by the unrestricted users of an account.
-
account.getTransferReturns a Transfer object showing your network utilization, in GB, for the current month.
-
account.getUserReturns information about a single User on your Account.
This command can only be accessed by the unrestricted users of an account.
-
account.getUserGrantsReturns the full grants structure for the specified account User (other than the account owner, see below for details). This includes all entities on the Account alongside the level of access this User has to each of them.
This command can only be accessed by the unrestricted users of an account.
The current authenticated User, including the account owner, may view their own grants at the endpoint, but will not see entities that they do not have access to.
-
account.getUsersReturns a paginated list of Users on your Account.
This command can only be accessed by the unrestricted users of an account.
Users may access all or part of your Account based on their restricted status and grants. An unrestricted User may access everything on the account, whereas restricted User may only access entities or perform actions they've been given specific grants to.
-
account.makePaymentMethodDefaultMake the specified Payment Method the default method for automatically processing payments.
Removes the default status from any other Payment Method.
-
account.resetClientSecretResets the OAuth Client secret for a client you own, and returns the OAuth Client with the plaintext secret. This secret is not supposed to be publicly known or disclosed anywhere. This can be used to generate a new secret in case the one you have has been leaked, or to get a new secret if you lost the original. The old secret is expired immediately, and logins to your client with the old secret will fail.
-
account.setClientThumbnailUpload a thumbnail for a client you own. You must upload an image file that will be returned when the thumbnail is retrieved. This image will be publicly-viewable.
-
account.updateAccountUpdates contact and billing information related to your Account.
-
account.updateAccountSettingsUpdates your Account settings.
To update your Longview subscription plan, send a request to .
-
account.updateClientUpdate information about an OAuth Client on your Account. This can be especially useful to update the
redirect_uriof your client in the event that the callback url changed in your application. -
account.updateUserUpdate information about a User on your Account. This can be used to change the restricted status of a User. When making a User restricted, no grants will be configured by default and you must then set up grants in order for the User to access anything on the Account.
This command can only be accessed by the unrestricted users of an account.
-
account.updateUserGrantsUpdate the grants a User has. This can be used to give a User access to new entities or actions, or take access away. You do not need to include the grant for every entity on the Account in this request; any that are not included will remain unchanged.
This command can only be accessed by the unrestricted users of an account.
-
databases.deleteDatabaseMongoDbInstanceBackupDelete a single backup for an accessible Managed MongoDB Database.
Requires
read_writeaccess to the Database.The Database must not be provisioning to perform this command.
Note: New MongoDB Databases cannot currently be created.
-
databases.deleteDatabaseMySqlInstanceBackupDelete a single backup for an accessible Managed MySQL Database.
Requires
read_writeaccess to the Database.The Database must not be provisioning to perform this command.
-
databases.deleteDatabasePostgreSqlInstanceBackupDelete a single backup for an accessible Managed PostgreSQL Database.
Requires
read_writeaccess to the Database.The Database must not be provisioning to perform this command.
-
databases.deleteDatabasesMongoDbInstanceRemove a Managed MongoDB Database from your Account.
Requires
read_writeaccess to the Database.The Database must have an
active,failed, ordegradedstatus to perform this command.Only unrestricted Users can access this command, and have access regardless of the acting token's OAuth scopes.
Note: New MongoDB Databases cannot currently be created.
-
databases.deleteDatabasesMySqlInstanceRemove a Managed MySQL Database from your Account.
Requires
read_writeaccess to the Database.The Database must have an
active,failed, ordegradedstatus to perform this command.Only unrestricted Users can access this command, and have access regardless of the acting token's OAuth scopes.
-
databases.deleteDatabasesPostgreSqlInstanceRemove a Managed PostgreSQL Database from your Account.
Requires
read_writeaccess to the Database.The Database must have an
active,failed, ordegradedstatus to perform this command.Only unrestricted Users can access this command, and have access regardless of the acting token's OAuth scopes.
-
databases.getDatabasesEngineDisplay information for a single Managed Database engine type and version.
-
databases.getDatabasesEnginesDisplay all available Managed Database engine types and versions. Engine IDs are used when creating new Managed Databases.
-
databases.getDatabasesInstancesDisplay all Managed Databases that are accessible by your User, regardless of engine type.
For more detailed information on a particular Database instance, make a request to its
instance_uri. -
databases.getDatabasesMongoDbInstanceDisplay information for a single, accessible Managed MongoDB Database.
Note: New MongoDB Databases cannot currently be created.
-
databases.getDatabasesMongoDbInstanceBackupDisplay information for a single backup for an accessible Managed MongoDB Database.
The Database must not be provisioning to perform this command.
Note: New MongoDB Databases cannot currently be created.
-
databases.getDatabasesMongoDbInstanceBackupsDisplay all backups for an accessible Managed MongoDB Database.
The Database must not be provisioning to perform this command.
Database
autotype backups are created every 24 hours at 0:00 UTC. Eachautobackup is retained for 7 days.Database
snapshottype backups are created by accessing the Managed MongoDB Database Backup Snapshot Create () command.Note: New MongoDB Databases cannot currently be created.
-
databases.getDatabasesMongoDbInstanceCredentialsDisplay the root username and password for an accessible Managed MongoDB Database.
The Database must have an
activestatus to perform this command.Note: New MongoDB Databases cannot currently be created.
-
databases.getDatabasesMongoDbInstancesDisplay all accessible Managed MongoDB Databases.
Note: New MongoDB Databases cannot currently be created.
-
databases.getDatabasesMongoDbInstanceSslDisplay the SSL CA certificate for an accessible Managed MongoDB Database.
The Database must have an
activestatus to perform this command.Note: New MongoDB Databases cannot currently be created.
-
databases.getDatabasesMySqlInstanceDisplay information for a single, accessible Managed MySQL Database.
-
databases.getDatabasesMySqlInstanceBackupDisplay information for a single backup for an accessible Managed MySQL Database.
The Database must not be provisioning to perform this command.
-
databases.getDatabasesMySqlInstanceBackupsDisplay all backups for an accessible Managed MySQL Database.
The Database must not be provisioning to perform this command.
Database
autotype backups are created every 24 hours at 0:00 UTC. Eachautobackup is retained for 7 days.Database
snapshottype backups are created by accessing the Managed MySQL Database Backup Snapshot Create () command. -
databases.getDatabasesMySqlInstanceCredentialsDisplay the root username and password for an accessible Managed MySQL Database.
The Database must have an
activestatus to perform this command. -
databases.getDatabasesMySqlInstancesDisplay all accessible Managed MySQL Databases.
-
databases.getDatabasesMySqlInstanceSslDisplay the SSL CA certificate for an accessible Managed MySQL Database.
The Database must have an
activestatus to perform this command. -
databases.getDatabasesPostgreSqlInstanceDisplay information for a single, accessible Managed PostgreSQL Database.
-
databases.getDatabasesPostgreSqlInstanceBackupDisplay information for a single backup for an accessible Managed PostgreSQL Database.
The Database must not be provisioning to perform this command.
-
databases.getDatabasesPostgreSqlInstanceBackupsDisplay all backups for an accessible Managed PostgreSQL Database.
The Database must not be provisioning to perform this command.
Database
autotype backups are created every 24 hours at 0:00 UTC. Eachautobackup is retained for 7 days.Database
snapshottype backups are created by accessing the Managed PostgreSQL Database Backup Snapshot Create () command. -
databases.getDatabasesPostgreSqlInstanceCredentialsDisplay the root username and password for an accessible Managed PostgreSQL Database.
The Database must have an
activestatus to perform this command. -
databases.getDatabasesPostgreSqlInstancesDisplay all accessible Managed PostgreSQL Databases.
-
databases.getDatabasesPostgreSqlInstanceSslDisplay the SSL CA certificate for an accessible Managed PostgreSQL Database.
The Database must have an
activestatus to perform this command. -
databases.getDatabasesTypeDisplay the details of a single Managed Database type. The type and number of nodes determine the resources and price of a Managed Database instance.
-
databases.getDatabasesTypesDisplay all Managed Database node types. The type and number of nodes determine the resources and price of a Managed Database instance.
Each Managed Database can have one node type. In the case of a high availabilty Database, all nodes are provisioned according to the chosen type.
-
databases.postDatabasesMongoDbInstanceBackupCreates a snapshot backup of a Managed MongoDB Database.
Requires
read_writeaccess to the Database.Up to 3 snapshot backups for each Database can be stored at a time. If 3 snapshots have been created for a Database, one must be deleted before another can be made.
Backups generated by this command have the type
snapshot. Snapshot backups may take several minutes to complete, after which they will be accessible to view or restore.The Database must have an
activestatus to perform this command. If another backup is in progress, it must complete before a new backup can be initiated.Note: New MongoDB Databases cannot currently be created.
-
databases.postDatabasesMongoDbInstanceBackupRestoreRestore a backup to a Managed MongoDB Database on your Account.
Requires
read_writeaccess to the Database.The Database must have an
activestatus to perform this command.Note: Restoring from a backup will erase all existing data on the database instance and replace it with backup data.
Note: Currently, restoring a backup after resetting Managed Database credentials results in a failed cluster. Please contact Customer Support if this occurs.
Note: New MongoDB Databases cannot currently be created.
-
databases.postDatabasesMongoDbInstanceCredentialsResetReset the root password for a Managed MongoDB Database.
Requires
read_writeaccess to the Database.A new root password is randomly generated and accessible with the Managed MongoDB Database Credentials View () command.
Only unrestricted Users can access this command, and have access regardless of the acting token's OAuth scopes.
Note: Note that it may take several seconds for credentials to reset.
Note: New MongoDB Databases cannot currently be created.
-
databases.postDatabasesMongoDbInstancePatchApply security patches and updates to the underlying operating system of the Managed MongoDB Database. This function runs during regular maintenance windows, which are configurable with the Managed MongoDB Database Update () command. Requires
read_writeaccess to the Database.The Database must have an
activestatus to perform this command.Note:
-
If your database cluster is configured with a single node, you will experience downtime during this maintenance. Consider upgrading to a high availability plan to avoid any downtime due to maintenance.
-
The database software is not updated automatically. To upgrade to a new database engine version, consider deploying a new Managed Database with your preferred version. You can then migrate your databases from the original Managed Database cluster to the new one.
Note: New MongoDB Databases cannot currently be created.
-
-
databases.postDatabasesMySqlInstanceBackupCreates a snapshot backup of a Managed MySQL Database.
Requires
read_writeaccess to the Database.Up to 3 snapshot backups for each Database can be stored at a time. If 3 snapshots have been created for a Database, one must be deleted before another can be made.
Backups generated by this command have the type
snapshot. Snapshot backups may take several minutes to complete, after which they will be accessible to view or restore.The Database must have an
activestatus to perform this command. If another backup is in progress, it must complete before a new backup can be initiated. -
databases.postDatabasesMySqlInstanceBackupRestoreRestore a backup to a Managed MySQL Database on your Account.
Requires
read_writeaccess to the Database.The Database must have an
activestatus to perform this command.Note: Restoring from a backup will erase all existing data on the database instance and replace it with backup data.
Note: Currently, restoring a backup after resetting Managed Database credentials results in a failed cluster. Please contact Customer Support if this occurs.
-
databases.postDatabasesMySqlInstanceCredentialsResetReset the root password for a Managed MySQL Database.
Requires
read_writeaccess to the Database.A new root password is randomly generated and accessible with the Managed MySQL Database Credentials View () command.
Only unrestricted Users can access this command, and have access regardless of the acting token's OAuth scopes.
Note: Note that it may take several seconds for credentials to reset.
-
databases.postDatabasesMySqlInstancePatchApply security patches and updates to the underlying operating system of the Managed MySQL Database. This function runs during regular maintenance windows, which are configurable with the Managed MySQL Database Update () command.
Requires
read_writeaccess to the Database.The Database must have an
activestatus to perform this command.Note
-
If your database cluster is configured with a single node, you will experience downtime during this maintenance. Consider upgrading to a high availability plan to avoid any downtime due to maintenance.
-
The database software is not updated automatically. To upgrade to a new database engine version, consider deploying a new Managed Database with your preferred version. You can then from the original Managed Database cluster to the new one.
-
-
databases.postDatabasesMySqlInstancesProvision a Managed MySQL Database.
Restricted Users must have the
add_databasesgrant to use this command.New instances can take approximately 15 to 30 minutes to provision.
The
allow_listis used to control access to the Managed Database.-
IP addresses and ranges in this list can access the Managed Database. All other sources are blocked.
-
If
0.0.0.0/0is a value in this list, then all IP addresses can access the Managed Database. -
Entering an empty array (
[]) blocks all connections (both public and private) to the Managed Database.
All Managed Databases include automatic, daily backups. Up to seven backups are automatically stored for each Managed Database, providing restore points for each day of the past week.
All Managed Databases include automatic patch updates, which apply security patches and updates to the underlying operating system of the Managed MySQL Database during configurable maintenance windows.
-
If your database cluster is configured with a single node, you will experience downtime during this maintenance window when any updates occur. It's recommended that you adjust this window to match a time that will be the least disruptive for your application and users. You may also want to consider upgrading to a high availability plan to avoid any downtime due to maintenance.
-
The database software is not updated automatically. To upgrade to a new database engine version, consider deploying a new Managed Database with your preferred version. You can then from the original Managed Database cluster to the new one.
-
To modify update the maintenance window for a Database, use the Managed MySQL Database Update () command.
-
-
databases.postDatabasesPostgreSqlInstanceBackupCreates a snapshot backup of a Managed PostgreSQL Database.
Requires
read_writeaccess to the Database.Up to 3 snapshot backups for each Database can be stored at a time. If 3 snapshots have been created for a Database, one must be deleted before another can be made.
Backups generated by this command have the type
snapshot. Snapshot backups may take several minutes to complete, after which they will be accessible to view or restore.The Database must have an
activestatus to perform this command. If another backup is in progress, it must complete before a new backup can be initiated. -
databases.postDatabasesPostgreSqlInstanceBackupRestoreRestore a backup to a Managed PostgreSQL Database on your Account.
Requires
read_writeaccess to the Database.The Database must have an
activestatus to perform this command.Note: Restoring from a backup will erase all existing data on the database instance and replace it with backup data.
Note: Currently, restoring a backup after resetting Managed Database credentials results in a failed cluster. Please contact Customer Support if this occurs.
-
databases.postDatabasesPostgreSqlInstanceCredentialsResetReset the root password for a Managed PostgreSQL Database.
Requires
read_writeaccess to the Database.A new root password is randomly generated and accessible with the Managed PostgreSQL Database Credentials View () command.
Only unrestricted Users can access this command, and have access regardless of the acting token's OAuth scopes.
Note: Note that it may take several seconds for credentials to reset.
-
databases.postDatabasesPostgreSqlInstancePatchApply security patches and updates to the underlying operating system of the Managed PostgreSQL Database. This function runs during regular maintenance windows, which are configurable with the Managed PostgreSQL Database Update () command.
Requires
read_writeaccess to the Database.The Database must have an
activestatus to perform this command.Note
-
If your database cluster is configured with a single node, you will experience downtime during this maintenance. Consider upgrading to a high availability plan to avoid any downtime due to maintenance.
-
The database software is not updated automatically. To upgrade to a new database engine version, consider deploying a new Managed Database with your preferred version. You can then migrate your databases from the original Managed Database cluster to the new one.
-
-
databases.postDatabasesPostgreSqlInstancesProvision a Managed PostgreSQL Database.
Restricted Users must have the
add_databasesgrant to use this command.New instances can take approximately 15 to 30 minutes to provision.
The
allow_listis used to control access to the Managed Database.-
IP addresses and ranges in this list can access the Managed Database. All other sources are blocked.
-
If
0.0.0.0/0is a value in this list, then all IP addresses can access the Managed Database. -
Entering an empty array (
[]) blocks all connections (both public and private) to the Managed Database.
All Managed Databases include automatic, daily backups. Up to seven backups are automatically stored for each Managed Database, providing restore points for each day of the past week.
All Managed Databases include automatic patch updates, which apply security patches and updates to the underlying operating system of the Managed PostgreSQL Database during configurable maintenance windows.
-
If your database cluster is configured with a single node, you will experience downtime during this maintenance window when any updates occur. It's recommended that you adjust this window to match a time that will be the least disruptive for your application and users. You may also want to consider upgrading to a high availability plan to avoid any downtime due to maintenance.
-
The database software is not updated automatically. To upgrade to a new database engine version, consider deploying a new Managed Database with your preferred version. You can then migrate your databases from the original Managed Database cluster to the new one.
-
To modify update the maintenance window for a Database, use the Managed PostgreSQL Database Update () command.
-
-
databases.putDatabasesMongoDbInstanceUpdate a Managed MongoDB Database.
Requires
read_writeaccess to the Database.The Database must have an
activestatus to perform this command.Updating addresses in the
allow_listoverwrites any existing addresses.-
IP addresses and ranges on this list can access the Managed Database. All other sources are blocked.
-
If
0.0.0.0/0is a value in this list, then all IP addresses can access the Managed Database. -
Entering an empty array (
[]) blocks all connections (both public and private) to the Managed Database. -
Note: Updates to the
allow_listmay take a short period of time to complete, making this command inappropriate for rapid successive updates to this property.
All Managed Databases include automatic patch updates, which apply security patches and updates to the underlying operating system of the Managed MongoDB Database. The maintenance window for these updates is configured with the Managed Database's
updatesproperty.-
If your database cluster is configured with a single node, you will experience downtime during this maintenance window when any updates occur. It's recommended that you adjust this window to match a time that will be the least disruptive for your application and users. You may also want to consider upgrading to a high availability plan to avoid any downtime due to maintenance.
-
The database software is not updated automatically. To upgrade to a new database engine version, consider deploying a new Managed Database with your preferred version. You can then migrate your databases from the original Managed Database cluster to the new one.
Note: New MongoDB Databases cannot currently be created.
-
-
databases.putDatabasesMySqlInstanceUpdate a Managed MySQL Database.
Requires
read_writeaccess to the Database.The Database must have an
activestatus to perform this command.Updating addresses in the
allow_listoverwrites any existing addresses.-
IP addresses and ranges in this list can access the Managed Database. All other sources are blocked.
-
If
0.0.0.0/0is a value in this list, then all IP addresses can access the Managed Database. -
Entering an empty array (
[]) blocks all connections (both public and private) to the Managed Database. -
Note: Updates to the
allow_listmay take a short period of time to complete, making this command inappropriate for rapid successive updates to this property.
All Managed Databases include automatic patch updates, which apply security patches and updates to the underlying operating system of the Managed MySQL Database. The maintenance window for these updates is configured with the Managed Database's
updatesproperty.-
If your database cluster is configured with a single node, you will experience downtime during this maintenance window when any updates occur. It's recommended that you adjust this window to match a time that will be the least disruptive for your application and users. You may also want to consider upgrading to a high availability plan to avoid any downtime due to maintenance.
-
The database software is not updated automatically. To upgrade to a new database engine version, consider deploying a new Managed Database with your preferred version. You can then from the original Managed Database cluster to the new one.
-
-
databases.putDatabasesPostgreSqlInstanceUpdate a Managed PostgreSQL Database.
Requires
read_writeaccess to the Database.The Database must have an
activestatus to perform this command.Updating addresses in the
allow_listoverwrites any existing addresses.-
IP addresses and ranges in this list can access the Managed Database. All other sources are blocked.
-
If
0.0.0.0/0is a value in this list, then all IP addresses can access the Managed Database. -
Entering an empty array (
[]) blocks all connections (both public and private) to the Managed Database. -
Note: Updates to the
allow_listmay take a short period of time to complete, making this command inappropriate for rapid successive updates to this property.
All Managed Databases include automatic patch updates, which apply security patches and updates to the underlying operating system of the Managed PostgreSQL Database. The maintenance window for these updates is configured with the Managed Database's
updatesproperty.-
If your database cluster is configured with a single node, you will experience downtime during this maintenance window when any updates occur. It's recommended that you adjust this window to match a time that will be the least disruptive for your application and users. You may also want to consider upgrading to a high availability plan to avoid any downtime due to maintenance.
-
The database software is not updated automatically. To upgrade to a new database engine version, consider deploying a new Managed Database with your preferred version. You can then migrate your databases from the original Managed Database cluster to the new one.
-
-
domains.cloneDomainClones a Domain and all associated DNS records from a Domain that is registered in Linode's DNS manager.
-
domains.createDomainAdds a new Domain to Linode's DNS Manager. Linode is not a registrar, and you must own the domain before adding it here. Be sure to point your registrar to Linode's nameservers so that the records hosted here are used.
-
domains.createDomainRecordAdds a new Domain Record to the zonefile this Domain represents.
Each domain can have up to 12,000 active records.
-
domains.deleteDomainDeletes a Domain from Linode's DNS Manager. The Domain will be removed from Linode's nameservers shortly after this operation completes. This also deletes all associated Domain Records.
-
domains.deleteDomainRecordDeletes a Record on this Domain.
-
domains.getDomainThis is a single Domain that you have registered in Linode's DNS Manager. Linode is not a registrar, and in order for this Domain record to work you must own the domain and point your registrar at Linode's nameservers.
-
domains.getDomainRecordView a single Record on this Domain.
-
domains.getDomainRecordsReturns a paginated list of Records configured on a Domain in Linode's DNS Manager.
-
domains.getDomainsThis is a collection of Domains that you have registered in Linode's DNS Manager. Linode is not a registrar, and in order for these to work you must own the domains and point your registrar at Linode's nameservers.
-
domains.getDomainZoneReturns the zone file for the last rendered zone for the specified domain.
-
domains.importDomainImports a domain zone from a remote nameserver. Your nameserver must allow zone transfers (AXFR) from the following IPs:
- 96.126.114.97
- 96.126.114.98
- 2600:3c00::5e
- 2600:3c00::5f
-
domains.updateDomainUpdate information about a Domain in Linode's DNS Manager.
-
domains.updateDomainRecordUpdates a single Record on this Domain.
-
images.createImageCaptures a private gold-master Image from a Linode Disk.
-
images.deleteImageDeletes a private Image you have permission to
read_write.Deleting an Image is a destructive action and cannot be undone.
-
images.getImageGet information about a single Image.
-
Public Images have IDs that begin with "linode/". These distribution images are generally available to all users.
-
Private Images have IDs that begin with "private/". These Images are Account-specific and only accessible to Users with appropriate .
-
To view a public Image, call this endpoint with or without authentication. To view a private Image, call this endpoint with authentication.
-
-
images.getImagesReturns a paginated list of Images.
-
Public Images have IDs that begin with "linode/". These distribution images are generally available to all users.
-
Private Images have IDs that begin with "private/". These Images are Account-specific and only accessible to Users with appropriate .
-
To view only public Images, call this endpoint with or without authentication. To view private Images as well, call this endpoint with authentication.
-
-
images.postImagesUploadInitiates an Image upload.
This endpoint creates a new private Image object and returns it along with the URL to which image data can be uploaded.
-
Image data must be uploaded within 24 hours of creation or the upload will be cancelled and the image deleted.
-
Image uploads should be made as an HTTP PUT request to the URL returned in the
upload_toresponse parameter, with aContent-type: application/octet-streamheader included in the request. For example: -
Uploaded image data should be compressed in gzip (
.gz) format. The uncompressed disk should be in raw disk image (.img) format. A maximum compressed file size of 5GB is supported for upload at this time.
Note: To initiate and complete an Image upload in a single step, see our guide on how to using Cloud Manager or the Linode CLI
image-uploadplugin. -
-
images.updateImageUpdates a private Image that you have permission to
read_write. -
linodeInstances.addLinodeConfigAdds a new Configuration profile to a Linode.
-
linodeInstances.addLinodeDiskAdds a new Disk to a Linode.
-
You can optionally create a Disk from an Image or an Empty Disk if no Image is provided with a request.
-
When creating an Empty Disk, providing a
labelis required. -
If no
labelis provided, animageis required instead. -
When creating a Disk from an Image,
root_passis required. -
The default filesystem for new Disks is
ext4. If creating a Disk from an Image, the filesystem of the Image is used unless otherwise specified. -
When deploying a StackScript on a Disk:
- See StackScripts List () for a list of available StackScripts.
- Requires a compatible Image to be supplied.
- See StackScript View () for compatible Images.
- It is recommended to supply SSH keys for the root User using the
authorized_keysfield. - You may also supply a list of usernames via the
authorized_usersfield.- These users must have an SSH Key associated with their Profiles first. See SSH Key Add () for more information.
-
-
linodeInstances.addLinodeIpAllocates a public or private IPv4 address to a Linode. Public IP Addresses, after the one included with each Linode, incur an additional monthly charge. If you need an additional public IP Address you must request one - please . You may not add more than one private IPv4 address to a single Linode.
-
linodeInstances.bootLinodeInstanceBoots a Linode you have permission to modify. If no parameters are given, a Config profile will be chosen for this boot based on the following criteria:
- If there is only one Config profile for this Linode, it will be used.
- If there is more than one Config profile, the last booted config will be used.
- If there is more than one Config profile and none were the last to be booted (because the Linode was never booted or the last booted config was deleted) an error will be returned.
-
linodeInstances.cancelBackupsCancels the Backup service on the given Linode. Deletes all of this Linode's existing backups forever.
-
linodeInstances.cloneLinodeDiskCopies a disk, byte-for-byte, into a new Disk belonging to the same Linode. The Linode must have enough storage space available to accept a new Disk of the same size as this one or this operation will fail.
-
linodeInstances.cloneLinodeInstanceYou can clone your Linode's existing Disks or Configuration profiles to another Linode on your Account. In order for this request to complete successfully, your User must have the
add_linodesgrant. Cloning to a new Linode will incur a charge on your Account.If cloning to an existing Linode, any actions currently running or queued must be completed first before you can clone to it.
Up to five clone operations from any given source Linode can be run concurrently. If more concurrent clones are attempted, an HTTP 400 error will be returned by this endpoint.
Any existing on the source Linode will be cloned to the target Linode.
-
linodeInstances.createLinodeInstanceCreates a Linode Instance on your Account. In order for this request to complete successfully, your User must have the
add_linodesgrant. Creating a new Linode will incur a charge on your Account.Linodes can be created using one of the available Types. See Types List () to get more information about each Type's specs and cost.
Linodes can be created in any one of our available Regions, which are accessible from the Regions List () endpoint.
In an effort to fight spam, Linode restricts outbound connections on ports 25, 465, and 587 on all Linodes for new accounts created after November 5th, 2019. For more information, see .
Linodes can be created in a number of ways:
-
Using a Linode Public Image distribution or a Private Image you created based on another Linode.
- Access the Images List () endpoint with authentication to view all available Images.
- The Linode will be
runningafter it completesprovisioning. - A default config with two Disks, one being a 512 swap disk, is created.
swap_sizecan be used to customize the swap disk size.
- Requires a
root_passbe supplied to use for the root User's Account. - It is recommended to supply SSH keys for the root User using the
authorized_keysfield. - You may also supply a list of usernames via the
authorized_usersfield.- These users must have an SSH Key associated with your Profile first. See SSH Key Add () for more information.
-
Using a StackScript.
- See StackScripts List () for a list of available StackScripts.
- The Linode will be
runningafter it completesprovisioning. - Requires a compatible Image to be supplied.
- See StackScript View () for compatible Images.
- Requires a
root_passbe supplied to use for the root User's Account. - It is recommended to supply SSH keys for the root User using the
authorized_keysfield. - You may also supply a list of usernames via the
authorized_usersfield.- These users must have an SSH Key associated with your Profile first. See SSH Key Add () for more information.
-
Using one of your other Linode's backups.
- You must create a Linode large enough to accommodate the Backup's size.
- The Disks and Config will match that of the Linode that was backed up.
- The
root_passwill match that of the Linode that was backed up.
-
Attached to a private VLAN.
- Review the
interfacesproperty of the for details. - For more information, see our guide on .
- Review the
-
Create an empty Linode.
- The Linode will remain
offlineand must be manually started.- See Linode Boot ().
- Disks and Configs must be created manually.
- This is only recommended for advanced use cases.
- The Linode will remain
Important: You must be an unrestricted User in order to add or modify tags on Linodes. __
-
-
linodeInstances.createSnapshotCreates a snapshot Backup of a Linode.
Important: If you already have a snapshot of this Linode, this is a destructive action. The previous snapshot will be deleted.
-
linodeInstances.deleteDiskDeletes a Disk you have permission to
read_write.Deleting a Disk is a destructive action and cannot be undone.
-
linodeInstances.deleteLinodeConfigDeletes the specified Configuration profile from the specified Linode.
-
linodeInstances.deleteLinodeInstanceDeletes a Linode you have permission to
read_write.Deleting a Linode is a destructive action and cannot be undone.
Additionally, deleting a Linode:
- Gives up any IP addresses the Linode was assigned.
- Deletes all Disks, Backups, Configs, etc.
- Stops billing for the Linode and its associated services. You will be billed for time used within the billing period the Linode was active.
Linodes that are in the process of or cannot be deleted.
-
linodeInstances.enableBackupsEnables backups for the specified Linode.
-
linodeInstances.getBackupReturns information about a Backup.
-
linodeInstances.getBackupsReturns information about this Linode's available backups.
-
linodeInstances.getKernelReturns information about a single Kernel.
-
linodeInstances.getKernelsLists available Kernels.
-
linodeInstances.getLinodeConfigReturns information about a specific Configuration profile.
-
linodeInstances.getLinodeConfigsLists Configuration profiles associated with a Linode.
-
linodeInstances.getLinodeDiskView Disk information for a Disk associated with this Linode.
-
linodeInstances.getLinodeDisksView Disk information for Disks associated with this Linode.
-
linodeInstances.getLinodeFirewallsView Firewall information for Firewalls associated with this Linode.
-
linodeInstances.getLinodeInstanceGet a specific Linode by ID.
-
linodeInstances.getLinodeInstancesReturns a paginated list of Linodes you have permission to view.
-
linodeInstances.getLinodeIpView information about the specified IP address associated with the specified Linode.
-
linodeInstances.getLinodeIPsReturns networking information for a single Linode.
-
linodeInstances.getLinodeNodeBalancersReturns a list of NodeBalancers that are assigned to this Linode and readable by the requesting User.
Read permission to a NodeBalancer can be given to a User by accessing the User's Grants Update () endpoint.
-
linodeInstances.getLinodeStatsReturns CPU, IO, IPv4, and IPv6 statistics for your Linode for the past 24 hours.
-
linodeInstances.getLinodeStatsByYearMonthReturns statistics for a specific month. The year/month values must be either a date in the past, or the current month. If the current month, statistics will be retrieved for the past 30 days.
-
linodeInstances.getLinodeTransferReturns a Linode's network transfer pool statistics for the current month.
-
linodeInstances.getLinodeTransferByYearMonthReturns a Linode's network transfer statistics for a specific month. The year/month values must be either a date in the past, or the current month.
-
linodeInstances.getLinodeVolumesView Block Storage Volumes attached to this Linode.
-
linodeInstances.migrateLinodeInstanceInitiate a pending host migration that has been scheduled by Linode or initiate a cross data center (DC) migration. A list of pending migrations, if any, can be accessed from . When the migration begins, your Linode will be shutdown if not already off. If the migration initiated the shutdown, it will reboot the Linode when completed.
To initiate a cross DC migration, you must pass a
regionparameter to the request body specifying the target data center region. You can view a list of all available regions and their feature capabilities from . If your Linode has a DC migration already queued or you have initiated a previously scheduled migration, you will not be able to initiate a DC migration until it has completed.Note: Next Generation Network (NGN) data centers do not support IPv6
/116pools or IP Failover. If you have these features enabled on your Linode and attempt to migrate to an NGN data center, the migration will not initiate. If a Linode cannot be migrated because of an incompatibility, you will be prompted to select a different data center or contact support. -
linodeInstances.mutateLinodeInstanceLinodes created with now-deprecated Types are entitled to a free upgrade to the next generation. A mutating Linode will be allocated any new resources the upgraded Type provides, and will be subsequently restarted if it was currently running. If any actions are currently running or queued, those actions must be completed first before you can initiate a mutate.
-
linodeInstances.rebootLinodeInstanceReboots a Linode you have permission to modify. If any actions are currently running or queued, those actions must be completed first before you can initiate a reboot.
-
linodeInstances.rebuildLinodeInstanceRebuilds a Linode you have the
read_writepermission to modify. A rebuild will first shut down the Linode, delete all disks and configs on the Linode, and then deploy a newimageto the Linode with the given attributes. Additionally:- Requires an
imagebe supplied. - Requires a
root_passbe supplied to use for the root User's Account. - It is recommended to supply SSH keys for the root User using the
authorized_keysfield.
- Requires an
-
linodeInstances.removeLinodeIpDeletes a public or private IPv4 address associated with this Linode. This will fail if it is the Linode's last remaining public IPv4 address.
-
linodeInstances.rescueLinodeInstanceRescue Mode is a safe environment for performing many system recovery and disk management tasks. Rescue Mode is based on the Finnix recovery distribution, a self-contained and bootable Linux distribution. You can also use Rescue Mode for tasks other than disaster recovery, such as formatting disks to use different filesystems, copying data between disks, and downloading files from a disk via SSH and SFTP.
- Note that "sdh" is reserved and unavailable during rescue.
-
linodeInstances.resetDiskPasswordResets the password of a Disk you have permission to
read_write. -
linodeInstances.resetLinodePasswordResets the root password for this Linode.
- Your Linode must be for a password reset to complete.
- If your Linode has more than one disk (not counting its swap disk), use the endpoint to update a specific disk's root password.
- A
password_resetevent is generated when a root password reset is successful.
-
linodeInstances.resizeDiskResizes a Disk you have permission to
read_write.The Disk must not be in use. If the Disk is in use, the request will succeed but the resize will ultimately fail. For a request to succeed, the Linode must be shut down prior to resizing the Disk, or the Disk must not be assigned to the Linode's active Configuration Profile.
If you are resizing the Disk to a smaller size, it cannot be made smaller than what is required by the total size of the files current on the Disk.
-
linodeInstances.resizeLinodeInstanceResizes a Linode you have the
read_writepermission to a different Type. If any actions are currently running or queued, those actions must be completed first before you can initiate a resize. Additionally, the following criteria must be met in order to resize a Linode:- The Linode must not have a pending migration.
- Your Account cannot have an outstanding balance.
- The Linode must not have more disk allocation than the new Type allows.
- In that situation, you must first delete or resize the disk to be smaller.
-
linodeInstances.restoreBackupRestores a Linode's Backup to the specified Linode.
-
linodeInstances.shutdownLinodeInstanceShuts down a Linode you have permission to modify. If any actions are currently running or queued, those actions must be completed first before you can initiate a shutdown.
-
linodeInstances.updateDiskUpdates a Disk that you have permission to
read_write. -
linodeInstances.updateLinodeConfigUpdates a Configuration profile.
-
linodeInstances.updateLinodeInstanceUpdates a Linode that you have permission to
read_write.Important: You must be an unrestricted User in order to add or modify tags on Linodes.
-
linodeInstances.updateLinodeIpUpdates a the reverse DNS (RDNS) for a particular IP Address associated with this Linode.
Setting the RDNS to
nullfor a public IPv4 address, resets it to the default "ip.linodeusercontent.com" RDNS value. -
linodeKubernetesEngineLke.createLkeClusterCreates a Kubernetes cluster. The Kubernetes cluster will be created asynchronously. You can use the events system to determine when the Kubernetes cluster is ready to use. Please note that it often takes 2-5 minutes before the and the for the new cluster are ready.
-
linodeKubernetesEngineLke.deleteLkeClusterDeletes a Cluster you have permission to
read_write.Deleting a Cluster is a destructive action and cannot be undone.
Deleting a Cluster:
- Deletes all Linodes in all pools within this Kubernetes cluster
- Deletes all supporting Kubernetes services for this Kubernetes cluster (API server, etcd, etc)
- Deletes all NodeBalancers created by this Kubernetes cluster
- Does not delete any of the volumes created by this Kubernetes cluster
-
linodeKubernetesEngineLke.deleteLkeClusterKubeconfigDelete and regenerate the Kubeconfig file for a Cluster.
-
linodeKubernetesEngineLke.deleteLkeClusterNodeDeletes a specific Node from a Node Pool.
Deleting a Node is a destructive action and cannot be undone.
Deleting a Node will reduce the size of the Node Pool it belongs to.
-
linodeKubernetesEngineLke.deleteLkeNodePoolDelete a specific Node Pool from a Kubernetes cluster.
Deleting a Node Pool is a destructive action and cannot be undone.
Deleting a Node Pool will delete all Linodes within that Pool.
-
linodeKubernetesEngineLke.getLkeClusterGet a specific Cluster by ID.
-
linodeKubernetesEngineLke.getLkeClusterApiEndpointsList the Kubernetes API server endpoints for this cluster. Please note that it often takes 2-5 minutes before the endpoint is ready after first .
-
linodeKubernetesEngineLke.getLkeClusterDashboardGet a access URL for this Cluster, which enables performance of administrative tasks through a web interface.
Dashboards are installed for Clusters by default.
To access the Cluster Dashboard login prompt, enter the URL in a web browser. Select either Token or Kubeconfig authentication, then select Sign in.
For additional guidance on using the Cluster Dashboard, see the section of our guide on .
-
linodeKubernetesEngineLke.getLkeClusterKubeconfigGet the Kubeconfig file for a Cluster. Please note that it often takes 2-5 minutes before the Kubeconfig file is ready after first .
-
linodeKubernetesEngineLke.getLkeClusterNodeReturns the values for a specified node object.
-
linodeKubernetesEngineLke.getLkeClusterPoolsReturns all active Node Pools on a Kubernetes cluster.
-
linodeKubernetesEngineLke.getLkeClustersLists current Kubernetes clusters available on your account.
-
linodeKubernetesEngineLke.getLkeNodePoolGet a specific Node Pool by ID.
-
linodeKubernetesEngineLke.getLkeVersionView a Kubernetes version available for deployment to a Kubernetes cluster.
-
linodeKubernetesEngineLke.getLkeVersionsList the Kubernetes versions available for deployment to a Kubernetes cluster.
-
linodeKubernetesEngineLke.postLkeClusterNodeRecycleRecycles an individual Node in the designated Kubernetes Cluster. The Node will be deleted and replaced with a new Linode, which may take a few minutes. Replacement Nodes are installed with the latest available patch for the Cluster's Kubernetes Version.
Any local storage on deleted Linodes (such as "hostPath" and "emptyDir" volumes, or "local" PersistentVolumes) will be erased.
-
linodeKubernetesEngineLke.postLkeClusterPoolRecycleRecycles a Node Pool for the designated Kubernetes Cluster. All Linodes within the Node Pool will be deleted and replaced with new Linodes on a rolling basis, which may take several minutes. Replacement Nodes are installed with the latest available patch for the Cluster's Kubernetes Version.
Any local storage on deleted Linodes (such as "hostPath" and "emptyDir" volumes, or "local" PersistentVolumes) will be erased.
-
linodeKubernetesEngineLke.postLkeClusterPoolsCreates a new Node Pool for the designated Kubernetes cluster.
-
linodeKubernetesEngineLke.postLkeClusterRecycleRecycles all nodes in all pools of a designated Kubernetes Cluster. All Linodes within the Cluster will be deleted and replaced with new Linodes on a rolling basis, which may take several minutes. Replacement Nodes are installed with the latest available for the Cluster's current Kubernetes minor release.
Any local storage on deleted Linodes (such as "hostPath" and "emptyDir" volumes, or "local" PersistentVolumes) will be erased.
-
linodeKubernetesEngineLke.postLkeClusterRegenerateRegenerate the Kubeconfig file and/or the service account token for a Cluster.
This is a helper command that allows performing both the and the actions with a single request.
When using this command, at least one of
kubeconfigorservicetokenis required.Note: When regenerating a service account token, the Cluster's control plane components and Linode CSI drivers are also restarted and configured with the new token. High Availability Clusters should not experience any disruption, while standard Clusters may experience brief control plane downtime while components are restarted.
-
linodeKubernetesEngineLke.postLkecServiceTokenDeleteDelete and regenerate the service account token for a Cluster.
Note: When regenerating a service account token, the Cluster's control plane components and Linode CSI drivers are also restarted and configured with the new token. High Availability Clusters should not experience any disruption, while standard Clusters may experience brief control plane downtime while components are restarted.
-
linodeKubernetesEngineLke.putLkeClusterUpdates a Kubernetes cluster.
-
linodeKubernetesEngineLke.putLkeNodePoolUpdates a Node Pool's count and autoscaler configuration.
Linodes will be created or deleted to match changes to the Node Pool's count.
Any local storage on deleted Linodes (such as "hostPath" and "emptyDir" volumes, or "local" PersistentVolumes) will be erased.
-
linodeTypes.getLinodeTypeReturns information about a specific Linode Type, including pricing and specifications. This is used when or Linodes.
-
linodeTypes.getLinodeTypesReturns collection of Linode Types, including pricing and specifications for each Type. These are used when or Linodes.
-
longview.createLongviewClientCreates a Longview Client. This Client will not begin monitoring the status of your server until you configure the Longview Client application on your Linode using the returning
install_codeandapi_key. -
longview.deleteLongviewClientDeletes a Longview Client from your Account.
All information stored for this client will be lost.
This does not uninstall the Longview Client application for your Linode - you must do that manually.
-
longview.getLongviewClientReturns a single Longview Client you can access.
-
longview.getLongviewClientsReturns a paginated list of Longview Clients you have access to. Longview Client is used to monitor stats on your Linode with the help of the Longview Client application.
-
longview.getLongviewPlanGet the details of your current Longview plan. This returns a
LongviewSubscriptionobject for your current Longview Pro plan, or an empty set{}if your current plan is Longview Free.You must have at least one of the following
globalin order to access this endpoint:"account_access": read_write"account_access": read_only"longview_subscription": true"add_longview": true
To update your subscription plan, send a request to .
-
longview.getLongviewSubscriptionGet the Longview plan details as a single
LongviewSubscriptionobject for the provided subscription ID. This is a public endpoint and requires no authentication. -
longview.getLongviewSubscriptionsReturns a paginated list of available Longview Subscriptions. This is a public endpoint and requires no authentication.
-
longview.updateLongviewClientUpdates a Longview Client. This cannot update how it monitors your server; use the Longview Client application on your Linode for monitoring configuration.
-
longview.updateLongviewPlanUpdate your Longview plan to that of the given subcription ID. This returns a
LongviewSubscriptionobject for the updated Longview Pro plan, or an empty set{}if the updated plan is Longview Free.You must have
"longview_subscription": trueconfigured as aglobalin order to access this endpoint.You can send a request to the endpoint to receive the details, including
id's, of each plan. -
managed.createManagedContactCreates a Managed Contact. A Managed Contact is someone Linode special forces can contact in the course of attempting to resolve an issue with a Managed Service.
This command can only be accessed by the unrestricted users of an account.
-
managed.createManagedCredentialCreates a Managed Credential. A Managed Credential is stored securely to allow Linode special forces to access your Managed Services and resolve issues.
This command can only be accessed by the unrestricted users of an account.
-
managed.createManagedServiceCreates a Managed Service. Linode Managed will begin monitoring this service and reporting and attempting to resolve any Issues.
This command can only be accessed by the unrestricted users of an account.
-
managed.deleteManagedContactDeletes a Managed Contact.
This command can only be accessed by the unrestricted users of an account.
-
managed.deleteManagedCredentialDeletes a Managed Credential. Linode special forces will no longer have access to this Credential when attempting to resolve issues.
This command can only be accessed by the unrestricted users of an account.
-
managed.deleteManagedServiceDeletes a Managed Service. This service will no longer be monitored by Linode Managed.
This command can only be accessed by the unrestricted users of an account.
-
managed.disableManagedServiceTemporarily disables monitoring of a Managed Service.
This command can only be accessed by the unrestricted users of an account.
-
managed.enableManagedServiceEnables monitoring of a Managed Service.
This command can only be accessed by the unrestricted users of an account.
-
managed.getManagedContactReturns a single Managed Contact.
This command can only be accessed by the unrestricted users of an account.
-
managed.getManagedContactsReturns a paginated list of Managed Contacts on your Account.
This command can only be accessed by the unrestricted users of an account.
-
managed.getManagedCredentialReturns a single Managed Credential.
This command can only be accessed by the unrestricted users of an account.
-
managed.getManagedCredentialsReturns a paginated list of Managed Credentials on your Account.
This command can only be accessed by the unrestricted users of an account.
-
managed.getManagedIssueReturns a single Issue that is impacting or did impact one of your Managed Services.
This command can only be accessed by the unrestricted users of an account.
-
managed.getManagedIssuesReturns a paginated list of recent and ongoing issues detected on your Managed Services.
This command can only be accessed by the unrestricted users of an account.
-
managed.getManagedLinodeSettingReturns a single Linode's Managed settings.
This command can only be accessed by the unrestricted users of an account.
-
managed.getManagedLinodeSettingsReturns a paginated list of Managed Settings for your Linodes. There will be one entry per Linode on your Account.
This command can only be accessed by the unrestricted users of an account.
-
managed.getManagedServiceReturns information about a single Managed Service on your Account.
This command can only be accessed by the unrestricted users of an account.
-
managed.getManagedServicesReturns a paginated list of Managed Services on your Account. These are the services Linode Managed is monitoring and will report and attempt to resolve issues with.
This command can only be accessed by the unrestricted users of an account.
-
managed.getManagedStatsReturns a list of Managed Stats on your Account in the form of x and y data points. You can use these data points to plot your own graph visualizations. These stats reflect the last 24 hours of combined usage across all managed Linodes on your account giving you a high-level snapshot of data for the following:
- cpu
- disk
- swap
- network in
- network out
This command can only be accessed by the unrestricted users of an account.
-
managed.updateManagedContactUpdates information about a Managed Contact. This command can only be accessed by the unrestricted users of an account.
-
managed.updateManagedCredentialUpdates the label of a Managed Credential. This endpoint does not update the username and password for a Managed Credential. To do this, use the Managed Credential Username and Password Update () endpoint instead. This command can only be accessed by the unrestricted users of an account.
-
managed.updateManagedCredentialUsernamePasswordUpdates the username and password for a Managed Credential.
This command can only be accessed by the unrestricted users of an account.
-
managed.updateManagedLinodeSettingUpdates a single Linode's Managed settings. This command can only be accessed by the unrestricted users of an account.
-
managed.updateManagedServiceUpdates information about a Managed Service.
This command can only be accessed by the unrestricted users of an account.
-
managed.viewManagedSshKeyReturns the unique SSH public key assigned to your Linode account's Managed service. If you to a Linode on your account, Linode special forces will be able to log in to the Linode with this key when attempting to resolve issues.
This command can only be accessed by the unrestricted users of an account.
-
networking.allocateIpAllocates a new IPv4 Address on your Account. The Linode must be configured to support additional addresses - please requesting additional addresses before attempting allocation.
-
networking.assignIPsAssign multiple IPv4 addresses and/or IPv6 ranges to multiple Linodes in one Region. This allows swapping, shuffling, or otherwise reorganizing IPs to your Linodes.
The following restrictions apply:
- All Linodes involved must have at least one public IPv4 address after assignment.
- Linodes may have no more than one assigned private IPv4 address.
- Linodes may have no more than one assigned IPv6 range.
to request additional IPv4 addresses or IPv6 ranges beyond standard account limits.
Note: Removing an IP address that has been set as a Managed Linode's
ssh.ipcauses the Managed Linode's SSH access settings to reset to their default values. To view and configure Managed Linode SSH settings, use the following commands:- Linode's Managed Settings View ()
- Linode's Managed Settings Update ()
-
networking.assignIPv4sThis command is equivalent to IP Addresses Assign ().
Assign multiple IPv4 addresses and/or IPv6 ranges to multiple Linodes in one Region. This allows swapping, shuffling, or otherwise reorganizing IPs to your Linodes.
The following restrictions apply:
- All Linodes involved must have at least one public IPv4 address after assignment.
- Linodes may have no more than one assigned private IPv4 address.
- Linodes may have no more than one assigned IPv6 range.
to request additional IPv4 addresses or IPv6 ranges beyond standard account limits.
Note: Removing an IP address that has been set as a Managed Linode's
ssh.ipcauses the Managed Linode's SSH access settings to reset to their default values. To view and configure Managed Linode SSH settings, use the following commands:- Linode's Managed Settings View ()
- Linode's Managed Settings Update ()
-
networking.createFirewallDeviceCreates a Firewall Device, which assigns a Firewall to a service (referred to as the Device's
entity) and applies the Firewall's Rules to the device.-
Currently, only Devices with an entity of type
linodeare accepted. -
A Firewall can be assigned to multiple Linode instances at a time.
-
A Linode instance can have one active, assigned Firewall at a time. Additional disabled Firewalls can be assigned to a service, but they cannot be enabled if another active Firewall is already assigned to the same service.
-
A
firewall_device_addEvent is generated when the Firewall Device is added successfully.
-
-
networking.createFirewallsCreates a Firewall to filter network traffic.
-
Use the
rulesproperty to create inbound and outbound access rules. -
Use the
devicesproperty to assign the Firewall to a service and apply its Rules to the device. Requiresread_writeto the device. Currently, Firewalls can only be assigned to Linode instances. -
A Firewall can be assigned to multiple Linode instances at a time.
-
A Linode instance can have one active, assigned Firewall at a time. Additional disabled Firewalls can be assigned to a service, but they cannot be enabled if another active Firewall is already assigned to the same service.
-
A
firewall_createEvent is generated when this endpoint returns successfully.
-
-
networking.deleteFirewallDelete a Firewall resource by its ID. This will remove all of the Firewall's Rules from any Linode services that the Firewall was assigned to.
A
firewall_deleteEvent is generated when this endpoint returns successfully. -
networking.deleteFirewallDeviceRemoves a Firewall Device, which removes a Firewall from the Linode service it was assigned to by the Device. This will remove all of the Firewall's Rules from the Linode service. If any other Firewalls have been assigned to the Linode service, then those Rules will remain in effect.
A
firewall_device_removeEvent is generated when the Firewall Device is removed successfully. -
networking.deleteIPv6RangeRemoves this IPv6 range from your account and disconnects the range from any assigned Linodes.
Note: Shared IPv6 ranges cannot be deleted at this time. Please contact Customer Support for assistance.
-
networking.getFirewallGet a specific Firewall resource by its ID. The Firewall's Devices will not be returned in the response. Instead, use the endpoint to review them.
-
networking.getFirewallDeviceReturns information for a Firewall Device, which assigns a Firewall to a Linode service (referred to as the Device's
entity). Currently, only Devices with an entity of typelinodeare accepted. -
networking.getFirewallDevicesReturns a paginated list of a Firewall's Devices. A Firewall Device assigns a Firewall to a Linode service (referred to as the Device's
entity). Currently, only Devices with an entity of typelinodeare accepted. -
networking.getFirewallRulesReturns the inbound and outbound Rules for a Firewall.
-
networking.getFirewallsReturns a paginated list of accessible Firewalls.
-
networking.getIpReturns information about a single IP Address on your Account.
-
networking.getIPsReturns a paginated list of IP Addresses on your Account, excluding private addresses.
-
networking.getIPv6PoolsDisplays the IPv6 pools on your Account. A pool of IPv6 addresses are routed to all of your Linodes in a single . Any Linode on your Account may bring up any address in this pool at any time, with no external configuration required.
-
networking.getIPv6RangeView IPv6 range information.
-
networking.getIPv6RangesDisplays the IPv6 ranges on your Account.
-
An IPv6 range is a
/64or/54block of IPv6 addresses routed to a single Linode in a given . -
Your Linode is responsible for routing individual addresses in the range, or handling traffic for all the addresses in the range.
-
Access the IPv6 Range Create () endpoint to add a
/64or/56block of IPv6 addresses to your account.
-
-
networking.getVlaNsReturns a list of all Virtual Local Area Networks (VLANs) on your Account. VLANs provide a mechanism for secure communication between two or more Linodes that are assigned to the same VLAN and are both within the same Layer 2 broadcast domain.
VLANs are created and attached to Linodes by using the
interfacesproperty for the following endpoints:- Linode Create ()
- Configuration Profile Create ()
- Configuration Profile Update ()
There are several ways to detach a VLAN from a Linode:
- the active Configuration Profile to remove the VLAN interface, then the Linode.
- a new Configuration Profile without the VLAN interface, then the Linode into the new Configuration Profile.
- the Linode.
Note: Only Next Generation Network (NGN) data centers support VLANs. Use the Regions () endpoint to view the capabilities of data center regions. If a VLAN is attached to your Linode and you attempt to migrate or clone it to a non-NGN data center, the migration or cloning will not initiate. If a Linode cannot be migrated because of an incompatibility, you will be prompted to select a different data center or contact support.
Note: See the to view additional specifications and limitations.
-
networking.postIPv6RangeCreates an IPv6 Range and assigns it based on the provided Linode or route target IPv6 SLAAC address. See the
ipv6property when accessing the Linode View () endpoint to view a Linode's IPv6 SLAAC address.- Either
linode_idorroute_targetis required in a request. linode_idandroute_targetare mutually exclusive. Submitting values for both properties in a request results in an error.- Upon a successful request, an IPv6 range is created in the that corresponds to the provided
linode_idorroute_target. - Your Linode is responsible for routing individual addresses in the range, or handling traffic for all the addresses in the range.
- Access the IP Addresses Assign () endpoint to re-assign IPv6 Ranges to your Linodes.
Note: The following restrictions apply:
- A Linode can only have one IPv6 range targeting its SLAAC address.
- An account can only have one IPv6 range in each .
- to request expansion of these restrictions.
- Either
-
networking.shareIPsConfigure shared IPs.
IP sharing allows IP address reassignment (also referred to as IP failover) from one Linode to another if the primary Linode becomes unresponsive. This means that requests to the primary Linode's IP address can be automatically rerouted to secondary Linodes at the configured shared IP addresses.
IP failover requires configuration of a failover service (such as ) within the internal system of the primary Linode.
-
networking.shareIPv4sThis command is equivalent to IP Addresses Share ().
Configure shared IPs.
IP sharing allows IP address reassignment (also referred to as IP failover) from one Linode to another if the primary Linode becomes unresponsive. This means that requests to the primary Linode's IP address can be automatically rerouted to secondary Linodes at the configured shared IP addresses.
IP failover requires configuration of a failover service (such as ) within the internal system of the primary Linode.
-
networking.updateFirewallUpdates information for a Firewall. Some parts of a Firewall's configuration cannot be manipulated by this endpoint:
-
A Firewall's Devices cannot be set with this endpoint. Instead, use the and endpoints to assign and remove this Firewall from Linode services.
-
A Firewall's Rules cannot be changed with this endpoint. Instead, use the endpoint to update your Rules.
-
A Firewall's status can be set to
enabledordisabledby this endpoint, but it cannot be set todeleted. Instead, use the endpoint to delete a Firewall.
If a Firewall's status is changed with this endpoint, a corresponding
firewall_enableorfirewall_disableEvent will be generated. -
-
networking.updateFirewallRulesUpdates the inbound and outbound Rules for a Firewall.
Note: This command replaces all of a Firewall's
inboundand/oroutboundrulesets with the values specified in your request. -
networking.updateIpSets RDNS on an IP Address. Forward DNS must already be set up for reverse DNS to be applied. If you set the RDNS to
nullfor public IPv4 addresses, it will be reset to the default ip.linodeusercontent.com RDNS value. -
nodeBalancers.createNodeBalancerCreates a NodeBalancer in the requested Region.
NodeBalancers require a port Config with at least one backend Node to start serving requests.
When using the Linode CLI to create a NodeBalancer, first create a NodeBalancer without any Configs. Then, create Configs and Nodes for that NodeBalancer with the respective and commands.
-
nodeBalancers.createNodeBalancerConfigCreates a NodeBalancer Config, which allows the NodeBalancer to accept traffic on a new port. You will need to add NodeBalancer Nodes to the new Config before it can actually serve requests.
-
nodeBalancers.createNodeBalancerNodeCreates a NodeBalancer Node, a backend that can accept traffic for this NodeBalancer Config. Nodes are routed requests on the configured port based on their status.
-
nodeBalancers.deleteNodeBalancerDeletes a NodeBalancer.
This is a destructive action and cannot be undone.
Deleting a NodeBalancer will also delete all associated Configs and Nodes, although the backend servers represented by the Nodes will not be changed or removed. Deleting a NodeBalancer will cause you to lose access to the IP Addresses assigned to this NodeBalancer.
-
nodeBalancers.deleteNodeBalancerConfigDeletes the Config for a port of this NodeBalancer.
This cannot be undone.
Once completed, this NodeBalancer will no longer respond to requests on the given port. This also deletes all associated NodeBalancerNodes, but the Linodes they were routing traffic to will be unchanged and will not be removed.
-
nodeBalancers.deleteNodeBalancerConfigNodeDeletes a Node from this Config. This backend will no longer receive traffic for the configured port of this NodeBalancer.
This does not change or remove the Linode whose address was used in the creation of this Node.
-
nodeBalancers.getNodeBalancerReturns a single NodeBalancer you can access.
-
nodeBalancers.getNodeBalancerConfigReturns configuration information for a single port of this NodeBalancer.
-
nodeBalancers.getNodeBalancerConfigNodesReturns a paginated list of NodeBalancer nodes associated with this Config. These are the backends that will be sent traffic for this port.
-
nodeBalancers.getNodeBalancerConfigsReturns a paginated list of NodeBalancer Configs associated with this NodeBalancer. NodeBalancer Configs represent individual ports that this NodeBalancer will accept traffic on, one Config per port.
For example, if you wanted to accept standard HTTP traffic, you would need a Config listening on port 80.
-
nodeBalancers.getNodeBalancerNodeReturns information about a single Node, a backend for this NodeBalancer's configured port.
-
nodeBalancers.getNodeBalancersReturns a paginated list of NodeBalancers you have access to.
-
nodeBalancers.getNodebalancersNodeBalancerIdStatsReturns detailed statistics about the requested NodeBalancer.
-
nodeBalancers.rebuildNodeBalancerConfigRebuilds a NodeBalancer Config and its Nodes that you have permission to modify.
Use this command to update a NodeBalancer's Config and Nodes with a single request.
-
nodeBalancers.updateNodeBalancerUpdates information about a NodeBalancer you can access.
-
nodeBalancers.updateNodeBalancerConfigUpdates the configuration for a single port on a NodeBalancer.
-
nodeBalancers.updateNodeBalancerNodeUpdates information about a Node, a backend for this NodeBalancer's configured port.
-
objectStorage.cancelObjectStorageCancel Object Storage on an Account.
Warning: Removes all buckets and their contents from your Account. This data is irretrievable once removed.
-
objectStorage.createObjectStorageBucketCreates an Object Storage Bucket in the specified cluster.
Accounts with negative balances cannot access this command.
If the bucket already exists and is owned by you, this endpoint returns a
200response with that bucket as if it had just been created.This endpoint is available for convenience. It is recommended that instead you use the more directly.
-
objectStorage.createObjectStorageKeysProvisions a new Object Storage Key on your account.
Accounts with negative balances cannot access this command.
-
To create a Limited Access Key with specific permissions, send a
bucket_accessarray. -
To create a Limited Access Key without access to any buckets, send an empty
bucket_accessarray. -
To create an Access Key with unlimited access to all clusters and all buckets, omit the
bucket_accessarray.
-
-
objectStorage.createObjectStorageObjectUrlCreates a pre-signed URL to access a single Object in a bucket. This can be used to share objects, and also to create/delete objects by using the appropriate HTTP method in your request body's
methodparameter.This endpoint is available for convenience. It is recommended that instead you use the more directly.
-
objectStorage.createObjectStorageSslUpload a TLS/SSL certificate and private key to be served when you visit your Object Storage bucket via HTTPS. Your TLS/SSL certificate and private key are stored encrypted at rest.
To replace an expired certificate, and upload a new one.
-
objectStorage.deleteObjectStorageBucketRemoves a single bucket.
Bucket objects must be removed prior to removing the bucket. While buckets containing objects may be deleted using the , such operations can fail if the bucket contains too many objects. The recommended way to empty large buckets is to use the that remove all objects, then delete the bucket.
This endpoint is available for convenience. It is recommended that instead you use the more directly.
-
objectStorage.deleteObjectStorageKeyRevokes an Object Storage Key. This keypair will no longer be usable by third-party clients.
-
objectStorage.deleteObjectStorageSslDeletes this Object Storage bucket's user uploaded TLS/SSL certificate and private key.
-
objectStorage.getObjectStorageBucketReturns a single Object Storage Bucket.
This endpoint is available for convenience. It is recommended that instead you use the more directly.
-
objectStorage.getObjectStorageBucketContentReturns the contents of a bucket. The contents are paginated using a
marker, which is the name of the last object on the previous page. Objects may be filtered byprefixanddelimiteras well; see Query Parameters for more information.This endpoint is available for convenience. It is recommended that instead you use the more directly.
-
objectStorage.getObjectStorageBucketinClusterReturns a list of Buckets in this cluster belonging to this Account.
This endpoint is available for convenience. It is recommended that instead you use the more directly.
-
objectStorage.getObjectStorageBucketsReturns a paginated list of all Object Storage Buckets that you own.
This endpoint is available for convenience. It is recommended that instead you use the more directly.
-
objectStorage.getObjectStorageClusterReturns a single Object Storage Cluster.
-
objectStorage.getObjectStorageClustersReturns a paginated list of Object Storage Clusters that are available for use. Users can connect to the clusters with third party clients to create buckets and upload objects.
-
objectStorage.getObjectStorageKeyReturns a single Object Storage Key provisioned for your account.
-
objectStorage.getObjectStorageKeysReturns a paginated list of Object Storage Keys for authenticating to the Object Storage S3 API.
-
objectStorage.getObjectStorageSslReturns a boolean value indicating if this bucket has a corresponding TLS/SSL certificate that was uploaded by an Account user.
-
objectStorage.getObjectStorageTransferThe amount of outbound data transfer used by your account's Object Storage buckets. Object Storage adds 1 terabyte of outbound data transfer to your data transfer pool. See the guide for details on Object Storage transfer quotas.
-
objectStorage.modifyObjectStorageBucketAccessAllows changing basic Cross-origin Resource Sharing (CORS) and Access Control Level (ACL) settings. Only allows enabling/disabling CORS for all origins, and/or setting canned ACLs.
For more fine-grained control of both systems, please use the more directly.
-
objectStorage.updateObjectStorageBucketAccessAllows changing basic Cross-origin Resource Sharing (CORS) and Access Control Level (ACL) settings. Only allows enabling/disabling CORS for all origins, and/or setting canned ACLs.
For more fine-grained control of both systems, please use the more directly.
-
objectStorage.updateObjectStorageBucketAclUpdate an Object's configured Access Control List (ACL) in this Object Storage bucket. ACLs define who can access your buckets and objects and specify the level of access granted to those users.
This endpoint is available for convenience. It is recommended that instead you use the more directly.
-
objectStorage.updateObjectStorageKeyUpdates an Object Storage Key on your account.
-
objectStorage.viewObjectStorageBucketAclView an Object's configured Access Control List (ACL) in this Object Storage bucket. ACLs define who can access your buckets and objects and specify the level of access granted to those users.
This endpoint is available for convenience. It is recommended that instead you use the more directly.
-
profile.addSshKeyAdds an SSH Key to your Account profile.
-
profile.createPersonalAccessTokenCreates a Personal Access Token for your User. The raw token will be returned in the response, but will never be returned again afterward so be sure to take note of it. You may create a token with at most the scopes of your current token. The created token will be able to access your Account until the given expiry, or until it is revoked.
-
profile.deletePersonalAccessTokenRevokes a Personal Access Token. The token will be invalidated immediately, and requests using that token will fail with a 401. It is possible to revoke access to the token making the request to revoke a token, but keep in mind that doing so could lose you access to the api and require you to create a new token through some other means.
-
profile.deleteProfileAppExpires this app token. This token may no longer be used to access your Account.
-
profile.deleteProfilePhoneNumberDelete the verified phone number for the User making this request.
Use this command to opt out of SMS messages for the requesting User after a phone number has been verified with the Phone Number Verify () command.
-
profile.deleteSshKeyDeletes an SSH Key you have access to.
Note: deleting an SSH Key will not remove it from any Linode or Disk that was deployed with
authorized_keys. In those cases, the keys must be manually deleted on the Linode or Disk. This endpoint will only delete the key's association from your Profile. -
profile.getDevicesReturns a paginated list of active TrustedDevices for your User. Browsers with an active Remember Me Session are logged into your account until the session expires or is revoked.
-
profile.getPersonalAccessTokenReturns a single Personal Access Token.
-
profile.getPersonalAccessTokensReturns a paginated list of Personal Access Tokens currently active for your User.
-
profile.getProfileReturns information about the current User. This can be used to see who is acting in applications where more than one token is managed. For example, in third-party OAuth applications.
This endpoint is always accessible, no matter what OAuth scopes the acting token has.
-
profile.getProfileAppReturns information about a single app you've authorized to access your Account.
-
profile.getProfileAppsThis is a collection of OAuth apps that you've given access to your Account, and includes the level of access granted.
-
profile.getProfileGrantsThis returns a GrantsResponse describing what the acting User has been granted access to. For unrestricted users, this will return a 204 and no body because unrestricted users have access to everything without grants. This will not return information about entities you do not have access to. This endpoint is useful when writing third-party OAuth applications to see what options you should present to the acting User.
For example, if they do not have
global.add_linodes, you might not display a button to deploy a new Linode.Any client may access this endpoint; no OAuth scopes are required.
-
profile.getProfileLoginReturns a login object displaying information about a successful account login from this user.
-
profile.getProfileLoginsReturns a collection of successful account logins from this user during the last 90 days.
-
profile.getSecurityQuestionsReturns a collection of security questions and their responses, if any, for your User Profile.
-
profile.getSshKeyReturns a single SSH Key object identified by
idthat you have access to view. -
profile.getSshKeysReturns a collection of SSH Keys you've added to your Profile.
-
profile.getTrustedDeviceReturns a single active TrustedDevice for your User.
-
profile.getUserPreferencesView a list of user preferences tied to the OAuth client that generated the token making the request. The user preferences endpoints allow consumers of the API to store arbitrary JSON data, such as a user's font size preference or preferred display name. User preferences are available for each OAuth client registered to your account, and as such an account can have multiple user preferences.
-
profile.postProfilePhoneNumberSend a one-time verification code via SMS message to the submitted phone number. Providing your phone number helps ensure you can securely access your Account in case other ways to connect are lost. Your phone number is only used to verify your identity by sending an SMS message. Standard carrier messaging fees may apply.
-
By accessing this command you are opting in to receive SMS messages. You can opt out of SMS messages by using the Phone Number Delete () command after your phone number is verified.
-
Verification codes are valid for 10 minutes after they are sent.
-
Subsequent requests made prior to code expiration result in sending the same code.
Once a verification code is received, verify your phone number with the Phone Number Verify () command.
-
-
profile.postProfilePhoneNumberVerifyVerify a phone number by confirming the one-time code received via SMS message after accessing the Phone Verification Code Send () command.
-
Verification codes are valid for 10 minutes after they are sent.
-
Only the same User that made the verification code request can use that code with this command.
Once completed, the verified phone number is assigned to the User making the request. To change the verified phone number for a User, first use the Phone Number Delete () command, then begin the verification process again with the Phone Verification Code Send () command.
-
-
profile.postSecurityQuestionsAdds security question responses for your User.
Requires exactly three unique questions.
Previous responses are overwritten if answered or reset to
nullif unanswered.Note: Security questions must be answered for your User prior to accessing the Two Factor Secret Create () command.
-
profile.revokeTrustedDeviceRevoke an active TrustedDevice for your User. Once a TrustedDevice is revoked, this device will have to log in again before accessing your Linode account.
-
profile.tfaConfirmConfirms that you can successfully generate Two Factor codes and enables TFA on your Account. Once this is complete, login attempts from untrusted computers will be required to provide a Two Factor code before they are successful.
-
profile.tfaDisableDisables Two Factor Authentication for your User. Once successful, login attempts from untrusted computers will only require a password before being successful. This is less secure, and is discouraged.
-
profile.tfaEnableGenerates a Two Factor secret for your User. To enable TFA for your User, enter the secret obtained from this command with the Two Factor Authentication Confirm/Enable () command. Once enabled, logins from untrusted computers are required to provide a TFA code before they are successful.
Note: Before you can enable TFA, security questions must be answered for your User by accessing the Security Questions Answer () command.
-
profile.updatePersonalAccessTokenUpdates a Personal Access Token.
-
profile.updateProfileUpdate information in your Profile. This endpoint requires the "account:read_write" OAuth Scope.
-
profile.updateSshKeyUpdates an SSH Key that you have permission to
read_write.Only SSH key labels can be updated.
-
profile.updateUserPreferencesUpdates a user's preferences. These preferences are tied to the OAuth client that generated the token making the request. The user preferences endpoints allow consumers of the API to store arbitrary JSON data, such as a user's font size preference or preferred display name. An account may have multiple preferences. Preferences, and the pertaining request body, may contain any arbitrary JSON data that the user would like to store.
-
regions.getRegionReturns a single Region.
-
regions.getRegionsLists the Regions available for Linode services. Not all services are guaranteed to be available in all Regions.
-
stackScripts.addStackScriptCreates a StackScript in your Account.
-
stackScripts.deleteStackScriptDeletes a private StackScript you have permission to
read_write. You cannot delete a public StackScript. -
stackScripts.getStackScriptReturns all of the information about a specified StackScript, including the contents of the script.
-
stackScripts.getStackScriptsIf the request is not authenticated, only public StackScripts are returned.
For more information on StackScripts, please read our .
-
stackScripts.updateStackScriptUpdates a StackScript.
Once a StackScript is made public, it cannot be made private.
-
support.closeTicketCloses a Support Ticket you have access to modify.
-
support.createTicketOpen a Support Ticket. Only one of the ID attributes (
linode_id,domain_id, etc.) can be set on a single Support Ticket. -
support.createTicketAttachmentAdds a file attachment to an existing Support Ticket on your Account. File attachments are used to assist our Support team in resolving your Ticket. Examples of attachments are screen shots and text files that provide additional information.
The file attachment is submitted in the request as multipart/form-data.
Note: Accepted file extensions include: .gif, .jpg, .jpeg, .pjpg, .pjpeg, .tif, .tiff, .png, .pdf, or .txt.
-
support.createTicketReplyAdds a reply to an existing Support Ticket.
-
support.getTicketReturns a Support Ticket under your Account.
-
support.getTicketRepliesReturns a collection of replies to a Support Ticket on your Account.
-
support.getTicketsReturns a collection of Support Tickets on your Account. Support Tickets can be both tickets you open with Linode for support, as well as tickets generated by Linode regarding your Account. This collection includes all Support Tickets generated on your Account, with open tickets returned first.
-
tags.createTagCreates a new Tag and optionally tags requested objects with it immediately.
Important: You must be an unrestricted User in order to add or modify Tags.
-
tags.deleteTagRemove a Tag from all objects and delete it.
Important: You must be an unrestricted User in order to add or modify Tags.
-
tags.getTaggedObjectsReturns a paginated list of all objects you've tagged with the requested Tag. This is a mixed collection of all object types.
-
tags.getTagsTags are User-defined labels attached to objects in your Account, such as Linodes. They are used for specifying and grouping attributes of objects that are relevant to the User.
This endpoint returns a paginated list of Tags on your account.
-
volumes.attachVolumeAttaches a Volume on your Account to an existing Linode on your Account. In order for this request to complete successfully, your User must have
read_onlyorread_writepermission to the Volume andread_writepermission to the Linode. Additionally, the Volume and Linode must be located in the same Region. -
volumes.cloneVolumeCreates a Volume on your Account. In order for this request to complete successfully, your User must have the
add_volumesgrant. The new Volume will have the same size and data as the source Volume. Creating a new Volume will incur a charge on your Account.- Only Volumes with a
statusof "active" can be cloned.
- Only Volumes with a
-
volumes.createVolumeCreates a Volume on your Account. In order for this to complete successfully, your User must have the
add_volumesgrant. Creating a new Volume will start accruing additional charges on your account. -
volumes.deleteVolumeDeletes a Volume you have permission to
read_write.-
Deleting a Volume is a destructive action and cannot be undone.
-
Deleting stops billing for the Volume. You will be billed for time used within the billing period the Volume was active.
-
Volumes that are migrating cannot be deleted until the migration is finished.
-
-
volumes.detachVolumeDetaches a Volume on your Account from a Linode on your Account. In order for this request to complete successfully, your User must have
read_writeaccess to the Volume andread_writeaccess to the Linode. -
volumes.getVolumeGet information about a single Volume.
-
volumes.getVolumesReturns a paginated list of Volumes you have permission to view.
-
volumes.resizeVolumeResize an existing Volume on your Account. In order for this request to complete successfully, your User must have the
read_writepermissions to the Volume.- Volumes can only be resized up.
- Only Volumes with a
statusof "active" can be resized.
-
volumes.updateVolumeUpdates a Volume that you have permission to
read_write. -
openapi.previewSpecPreview an OpenAPI document before adding it as a source
-
openapi.addSourceAdd an OpenAPI source and register its operations as tools