Skip to content

Commit d4308b0

Browse files
author
Fabrizio Mirabito
committed
Restructure content and change naming
1 parent 8e5ed1d commit d4308b0

File tree

1 file changed

+20
-26
lines changed

1 file changed

+20
-26
lines changed

content/arduino-cloud/01.getting-started/04.api-overview/api-overview.md

Lines changed: 20 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,57 +1,52 @@
11
---
22
title: Arduino IoT Cloud APIs
3-
description: A summary of the different sets of APIs available for the Arduino IoT Cloud
3+
description: Arduino IoT Cloud has two different set of APIs. Read below to learn more
44
author: Karl Söderby, Fabrizio Mirabito
55
tags: [IoT Cloud, API, JavaScript]
66
---
7-
87
The [Arduino IoT Cloud](https://create.arduino.cc/iot/) has different sets of APIs that provide different functionalities. This article serves as an introduction to how to work and what you can achieve with them.
98

10-
## What you can achieve
11-
Arduino IoT Cloud API allows you to build a large range of IoT solutions: from simple device data communication to building complex custom IoT solutions. Some examples are:
9+
## Configuration API
10+
### What you can achieve
11+
The main goal of Configuration API is to allow you to create and manage IoT resources like dashboards, devices, things, and variables, along with the retrieval and handling of historical data coming from your IoT Devices. The core of those APIs is organized around [REST](http://en.wikipedia.org/wiki/Representational_State_Transfer). Our API has predictable resource-oriented URLs, accepts [form-encoded](https://en.wikipedia.org/wiki/POST_(HTTP)#Use_for_submitting_web_forms) request bodies, returns [JSON-encoded](http://www.json.org/) responses, and uses standard HTTP response codes, authentication, and verbs. You can use those APIs, both directly calling our HTTP endpoints or using our clients that wrap those calls into easy-to-use abstractions like objects and functions. We have Applications API clients available in `javascript`, `golang`, and `python`.
1212

13-
- Connect your Arduino or 3rd party Devices to the Cloud to monitor and control them, leveraging easy-to-use dashboards in minutes
14-
- Build your Gateways that poll data from local devices (ex.BLE, Zigbee) and send it to the Cloud
15-
- Develop your custom web or mobile application that leverages Arduino IoT Cloud infrastructure to handle device connectivity without worrying about protocols, security, data formats, scaling servers...
16-
- Automate and integrate different IoT Solutions with a single, powerful Cloud
13+
To use the Configuration API, you need to create an **API Key** in the [API Keys](https://cloud.arduino.cc/home/api-keys) section.
1714

18-
## Two Different Sets of API
15+
**Examples**
1916

20-
There are two different API types to consider when working with the Arduino IoT Cloud:
17+
- Build an automated script to create your things, in bulk
18+
- Duplicate the configuration of things, dashboards, devices
19+
- Create your own personal web application to manage your resources
20+
- Build a script that reads your variables' data and provides custom analytics
2121

22-
**1. Applications API** - a set of powerful and flexible APIs that allows you to create and manage IoT resources like dashboards, devices, things, and variables, along with the retrieval and handling of historical data coming from your IoT Devices. The core of those APIs is organized around [REST](http://en.wikipedia.org/wiki/Representational_State_Transfer). Our API has predictable resource-oriented URLs, accepts [form-encoded](https://en.wikipedia.org/wiki/POST_(HTTP)#Use_for_submitting_web_forms) request bodies, returns [JSON-encoded](http://www.json.org/) responses, and uses standard HTTP response codes, authentication, and verbs. You can use those APIs, both directly calling our HTTP endpoints or using our clients that wrap those calls into easy-to-use abstractions like objects and functions. We have Applications API clients available in `javascript`, `golang`, and `python`.
22+
You can find the full list of available resources and actions in the [Arduino IoT Cloud Configuration API Technical Reference](https://www.arduino.cc/reference/en/iot/api/).
2323

24-
**2. Monitor and Control API** - a set of libraries that allow sending and receiving any kind of data (sensors' values, commands for actuators, configuration changes...) from and to IoT Devices and the Cloud. Under the hood, they
24+
## Data API
25+
Data API allows sending and receiving any kind of data (sensors' values, commands for actuators, configuration changes...) from and to IoT Devices and the Cloud. Under the hood, they
2526

2627
- take care of the data exchange with our MQTT broker
2728
- handle best in class authentication & security
2829
- manage compression, data format, and transport protocols
2930

31+
### What you can achieve
32+
- Send sensors' values to the cloud
33+
- Send and receive input and commands from and to dashboards
34+
- Listen for variables' values changes and act upon them
35+
3036
Inside this set of API, we have:
3137

3238
- An official Arduino IoT Cloud Library for your Arduino sketches: `ArduinoIoTCloud.h`
3339
- An NPM Javascript package: `arduino-iot-js`
3440

35-
36-
## Applications API
37-
To use the Applications API, you need to create an **API Key** in the [API Keys](https://cloud.arduino.cc/home/api-keys) section.
38-
39-
For more examples and detailed instructions, visit the links below:
40-
- [Applications API Technical Reference](https://www.arduino.cc/reference/en/iot/api/) - the complete REST API documentation with hundreds of examples.
41-
42-
- [Arduino IoT Cloud Applications API Guide](/arduino-cloud/getting-started/arduino-iot-api) - a guide to using the API with JavaScript, Python & Golang.
43-
44-
## Monitor and Control API
45-
46-
### Arduino IoT Cloud Sketch library
41+
**Arduino IoT Cloud Sketch library**
4742
As described above, is the Arduino library that allows your Arduino devices to connect and exchange data with the IoT Cloud. If you edit your sketch directly inside IoT Cloud or Cloud Editor, you don't need to install it: it comes out of the box.
4843

4944
You can find more details at:
5045

5146
- The [official repository](https://github.com/arduino-libraries/ArduinoIoTCloud)
5247
- The [cheat sheet](https://docs.arduino.cc/arduino-cloud/getting-started/technical-reference)
5348

54-
### Arduino IoT JS
49+
**Arduino IoT JS**
5550
The `arduino-iot-js` NPM module is designed for communicating with the Arduino IoT Cloud broker using the MQTT over Websocket protocol. It is primarily used to send and receive variable values.
5651

5752
Example:
@@ -73,7 +68,6 @@ Full examples and documentation can be found at:
7368
- The [official repository](https://github.com/arduino/arduino-iot-js)
7469
- The [NPM module](https://www.npmjs.com/package/arduino-iot-js) page
7570

76-
7771
## Backward Compatibility Policy
7872

7973
Public Arduino IoT Cloud APIs are exposing versioned endpoints and are committed to preserving compatibility with the following policies in place:

0 commit comments

Comments
 (0)