
2  REQUIREMENTS OF  
WEB-APIS IN INTERNET OF 
THINGS 
Currently, the existing Web-APIs have a set of basic 
characteristics that are used to carry out the 
communication of devices with the Internet or for 
needs of these motes due to its limitations. These 
fundamental features are described in this article in 
order to enumerate some of the concepts that can be 
used to serve as basis for self configuration 
mechanism, such as the form of communication with 
Rest (Zeng, 2011), storage and standardization 
communication through the use of markup data 
languages (XML, YAML, JSON) (Xively 2013). 
2.1 Open-source 
Although this characteristic is not a specific 
functionality that help directly the devices, it was 
regarded as important for that in the future people 
will work on top of existing Web-APIs and make 
your code to be improved and become Customer 
self-configurable. 
This term refers to the so-called free software, 
where to be held a consolidated distribution, is also 
distributed its source code for that can be freely 
used, modified and shared by its users. 
2.2 Rest 
The REST-based architecture is considered "the true 
architecture of the Web" (Zeng, 2011), it is based on 
the concept that everything is modeled as resource 
using the HTTP URI. Thus, customers can identify 
the resources they need through the URI, 
manipulating them through traditional HTTP 
commands like: PUT, GET, POST and DELETE. 
The PUT and DELETE. 
Moreover, it has self-descriptive messages, i.e, 
the resources are free to make their own 
representations of data format. Obviously, end-
systems must agree with this representation so that 
communication can take place properly. In this way, 
it is possible to use HTML, XML, text, PDF and 
images as the format of data to be sent. 
Another important feature is that REST works 
with stateless requests, treating each request 
independently, and this may not require a server to 
store session information or the status as is each of 
the multiple acquisitions. However, statefull 
interactions can be supported in REST through the 
use of hyperlinks, so the states of the resources can 
be transferred by means of URIs for cookies or 
hidden fields (Zeng, 2011). 
2.3 Standardization 
As the APIs and the devices are usually developed in 
different languages, it must be pre-established a 
format of data communication between the receiver 
and transmitter and how they will exchange 
messages to inform how the data is separated and 
what the content within it represent. Consistently, to 
earn this type of representation the IoT sought 
markup languages known data, such as XML, JSON, 
YAML or CSV. 
These languages are very portable because it 
does not depend on hardware or software platforms 
to work and any databases can communicate with 
each other through them. By having the ability to 
self define data, as well as having the characteristics 
described above, these languages are used for 
interoperable networks, allowing objects of different 
characteristics understand each other. 
2.4 Centralized Architecture 
Due to the limitations of the devices many of the 
activities more robust need to be sent to a server that 
has capacity to perform a greater load of processing 
and storage. Therefore currently the Web-APIs, tend 
to be centered on a server that is able perform this 
type of activity. Thus, a network IoT using these 
Web-APIs tend to use the REST to communicate 
with a server that is receiving data and managing the 
devices in the network. 
2.5 Security 
When the term security is mentioned, the first word 
illustrated is identification. In IoT, recognition of 
each device with the use of traditional IPs. Despite 
this, only a network identification is not sufficient to 
ensure the safety, it is necessary a profile control to 
inform if this equipment has access to the service 
that it is requesting. As in IoT these services are 
provided by APIs, the controls of inflows are usually 
made by API-Keys. 
Within the API-Key are encapsulated three types 
of permissions that operate in a hierarchical manner: 
object key (the general key of the API), object 
permissions and the permissions of features of 
objects, the latter being optional. The general 
permissions objects keys are created for your 
applications to have access to APIs. Each 
application may ask how many objects keys you
AnSelf-configurationArchitectureforWeb-APIofInternetofThings
329