Linode Forum
Linode Community Forums
 FAQFAQ    SearchSearch    MembersMembers      Register Register 
 LoginLogin [ Anonymous ] 
Post new topic  Reply to topic
Author Message
PostPosted: Wed Jun 07, 2017 9:21 am 
Linode Staff
User avatar

Joined: Tue Apr 15, 2003 6:24 pm
Posts: 3133
Location: Galloway, NJ
Linode REST API - Early Access

What is the Linode REST API?
The Linode API v4 provides a programmatic interface into Linode services, allowing you to automate and manage all aspects of Linode instances, Backups, NodeBalancers, IP addresses, support tickets, your account settings, and so on. This new API is the foundation of upcoming features and products, including a new Linode Manager (more on that soon), command line interface, perhaps a mobile app, and bindings and developer tools.

API Documentation
Linode API v4 documentation is located here:

API Features
  • Access and Authentication via OAuth 2.0 (see:
  • It's RESTful
  • Uniform / standard interface; standard HTTP verbs (GET, PUT, POST, DELETE)
  • Pagination of large results (see:
  • Flexible query filtering (see:
  • ITMCDISCTA - "If the Manager can do it, so can the API" (once we're done implementing)
  • Nested object results - fewer calls, probably just one call, to get all the information you want
  • Slugs rather than IDs for instance types, regions, distros, and kernels. These are static and won't ever change on you and will map to future instance type generations, etc.
  • Clean/Simple API Call Spec
  • Many "fast path" methods. For example: it's one API call to create a Linode, with a distribution, and have it boot
  • Manage Linode instances
  • Networking and IP information endpoints for IPv4 and IPv6, pools, and ranges
  • IP sharing (failover)
  • IP Assign (swap) endpoints
  • Manage Linode Backups (+snapshots)
  • Manage NodeBalancers
  • Support ticket endpoints
  • Graph data endpoints
  • Linode Manager users endpoints
  • Unified Events timeline replaces Host Job queue view and includes other events
  • and much more...
Bindings and Developer Tools How can I help?
We'd very much appreciate any testing and feedback of this new API. To get access, go to and generate access tokens to use in your API clients.

Feedback is always appreciated! If you find a problem or have a suggestion, feel free to create a new forum thread in this category, or reply to this one, or submit a support ticket - whatever works.


PostPosted: Fri Jun 16, 2017 3:57 pm 
User avatar

Joined: Sun Feb 19, 2017 10:56 am
Posts: 3

Great, congratulations !

Do you have intention to provide a Java Binding too, please ?

PostPosted: Mon Jun 19, 2017 10:39 pm 
User avatar

Joined: Sun Feb 19, 2017 10:56 am
Posts: 3
Please, see:

PostPosted: Mon Jul 24, 2017 8:26 am 

Joined: Sun Feb 12, 2017 5:06 pm
Posts: 2
I've started working on a PHP client for the Linode REST API (v4). Its available at . I've also started creating examples of how to use the API at .

PostPosted: Sun Oct 15, 2017 7:21 pm 

Joined: Sun Oct 15, 2017 7:19 pm
Posts: 1
What are options for unattended login, i.e. for orchestrations/provisioning scripts/applications? OAuth is not an option. I have tried personal access codes but failed.

PostPosted: Mon Oct 16, 2017 5:45 am 
Senior Member
User avatar

Joined: Sun Jan 24, 2016 4:30 am
Posts: 223
What the documentation doesn't make clear, is that the API v4 does NOT work with the tokens generated by the old Linode Manager.

If you want to use API v4, you need to login to the NEW Linode Manager, which generates OAuth and also a new kind of personal tokens.

But, be warned, many scripts/apps don't support API v4, for example the Ansible linode module still requires IDs instead of Slugs and the old API v3 tokens.

:idea: I love my computer... all my friends live there.

PostPosted: Thu Oct 19, 2017 6:54 am 
Senior Member
User avatar

Joined: Sun Jan 24, 2016 4:30 am
Posts: 223
feature request:

Please include the reverse DNS within the instance reply (, it would help avoid extra requests.

for example, lets say I have a linode server with label "server1", I have to:

- get /instances/, so I can get a list of all the servers
- loop to get the id for "server1"
- get the /instances/server1-id/ips to get a list of IPs with id and rdns
- put /instances/server1-id/ips/ip-address with rdns content in the body

all of the above would be optimized like:

- get /instances/server-label/ips/ip-address (if we could use the server label directly without an id)
- put /instances/server-label/ips/ip-address with rnds content in the body


- get /instances/, so I can get a list of all the servers, including rnds content
- put /instances/server1-id/ips/ip-address with rnds content in the body

thank you.

I'm using an Ansible playbook, which is not very flexible with loops.

:idea: I love my computer... all my friends live there.

Display posts from previous:  Sort by  
Post new topic  Reply to topic

Who is online

Users browsing this forum: No registered users and 1 guest

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
Jump to:  

Powered by phpBB® Forum Software © phpBB Group