Getting Started in 59 seconds

theThings.iO platform provides a complete backend solution for IoT Markers and IoT App Developers through an easy and flexible API. theThings.iO is hardware agnostic, that means that we don't force you to use a specific hardware, provided that is capable to use any of our supported protocols: HTTP, Websockets, MQTT or CoAP.

We will work with thethings.iO API REST, so you'll only need a system with curl installed to follow this overview.

Now, we will walk through the steps of building the next big thing connected to the Internet.

STEP 0 - Create your thethings.iO account

Fill in the form on the sign up page. Once done, you'll be signed in to your panel automatically. There are a couple of restrictions:


  • You need a valid e-mail.
  • The password has to be at least 6 characters long.

STEP 1 - Planning the Thing

Before typing any code, probably, you already have an idea and sketches of what do you want to connect to the Internet.

You will need to think about what data do you need to store, visualize and query. For example, if you are prototyping a thermostat, you can think on this data:

  • temperature
  • outdoor temperature
  • target temperature
  • humidity
  • outdoor humidity
  • status

STEP 2 - Activate your first Thing

First, you will need to activate your thing at thethings.iO. For that, you need an activation code. Click on the 'Get activation codes' button on your dashboard to open the Activation codes screen.

Activation Codes are needed to activate your things at thethings.iO. When you activate them, you will get a token ('thingToken'). This Token will enable you to make API calls to thethings.iO from your thing. Free accounts dispose of 1 activation code.
Activate the activation code clicking at the plus icon.

If everything went well, now you have your thing activated.

Every time you go to the Things Manager menu, you will be able to see the thing and the ThingToken. Copy your thing token. From now, all the requests will be done using your thing token.

STEP 3 - Code your Thing

Now, your thing can perform 3 types of actions:

Reads the last values for a certain key.
Store one or several key-values pairs.
Subscribes to the real-time streaming channel of your things.

First, You can open the Developers console to visualize the messages that you will post to thethings.iO APIs.


To store data, use the next endpoint. Remember to replace { {YOUR_THING_TOKEN} } with the THING TOKEN that you got when you activated your thing. Also remove the brackets on the example.

Only alphanumeric characters and ".", "-", "_" simbols are admited for the resource name "key".


Set the data to be stored as a JSON Array at the Request body.


To read data, use the operation GET /things/ with the thing token and the key that you are using to store the values.
Remember to replace { {YOUR_KEY} } by the key that you used on the WRITE operation ('fun' was the key used at the example code). Also Remove the brackets on the example.

GET{ {YOUR_THING_TOKEN} }/resources/{ {YOUR_KEY} }


Next method lets you subscribe to the thing channel and get real-time updates from all the thing's keys(ressources). The subscription endpoint creates a streaming channel and we keep the channel opened depeding on the keep alive that you send. Check the API documentation to see further details on the Keep Alive options. If not keep alive is set, your router or our server will close the channel at its sole discretion.

To test the real-time updates, you'll need to open two consoles. One for the subscription curl command, and other console to do the curl writes commands.


STEP 4 - Visualize the data

Yo can visualize the numeric data that you store from thethings.iO Panel. To see this charts click at the Things Manager menu, and then click on the thing that you want to visualize.

For every key that you have stored, you'll get chart. You can see past data on historical tab, and real-time as the data arrives on the real-time tab.