Need help with your APIs? I offer API discovery, governance & evangelism services. Explore services →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Adafruit IO Data API

The Data API from Adafruit IO — 14 operation(s) for data.

Adafruit IO Data API is one of 12 APIs that Adafruit IO publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

This API exposes 3 JSON Schema definitions.

Tagged areas include Data. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, a JSON-LD context, and 3 JSON Schemas.

This API exposes 19 operations across 14 paths, and defines 2 schemas. It is described by OpenAPI 3.0.0, at version 2.0.0.

Requests are made against 2 base URLs: https://io.adafruit.com/api/v2, http://io.adafruit.com/api/v2.

19 operations 14 paths 2 schemas 1 DELETE9 GET1 PATCH7 POST1 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.0.0
API Version
2.0.0
Base URL
https://io.adafruit.com/api/v2
Authentication
API Key, API Key, API Key
Resource Areas
1

Authentication & Security 3

Adafruit IO Data API declares 3 security schemes for authenticating requests. An API key is passed in the header as X-AIO-Key (HeaderKey). An API key is passed in the query as X-AIO-Key (QueryKey). An API key is passed in the header as X-AIO-Signature (HeaderSignature). By default, every request must be authenticated.

  • HeaderKey — The AIO Key is used to restrict or grant access to your data. The key is unique, and you can generate a key per feed, and control it in many different ways. Th…
  • QueryKey — The AIO Key is used to restrict or grant access to your data. The key is unique, and you can generate a key per feed, and control it in many different ways. Th…
  • HeaderSignature — The AIO Signature is an AWS inspired request signature.

Paths & Operations 19

Across 14 paths, the API surfaces 19 operations — 1 DELETE, 9 GET, 1 PATCH, 7 POST, 1 PUT. Each is listed below with its method, path, parameters, and response codes.

Data 19
GET
/{username}/feeds/{feed_key}/data
Get all data for the given feed
allData 6 params → 200401403404500
POST
/{username}/feeds/{feed_key}/data
Create new Data
createData 2 params body → 200401403404500
GET
/{username}/feeds/{feed_key}/data/chart
Chart data for current feed
chartData 6 params → 200401403404500
POST
/{username}/feeds/{feed_key}/data/batch
Create multiple new Data records
batchCreateData 2 params body → 200401403404500
GET
/{username}/feeds/{feed_key}/data/previous
Previous Data in Queue
previousData 3 params → 200401403404500
GET
/{username}/feeds/{feed_key}/data/next
Next Data in Queue
nextData 3 params → 200401403404500
GET
/{username}/feeds/{feed_key}/data/last
Last Data in Queue
lastData 3 params → 200401403404500
GET
/{username}/feeds/{feed_key}/data/first
First Data in Queue
firstData 3 params → 200401403404500
GET
/{username}/feeds/{feed_key}/data/retain
Last Data in MQTT CSV format
retainData 2 params → 200401403404500
GET
/{username}/feeds/{feed_key}/data/{id}
Returns data based on feed key
getData 4 params → 200401403404500
PUT
/{username}/feeds/{feed_key}/data/{id}
Replace existing Data
replaceData 3 params body → 200401403404500
PATCH
/{username}/feeds/{feed_key}/data/{id}
Update properties of existing Data
updateData 3 params body → 200401403404500
DELETE
/{username}/feeds/{feed_key}/data/{id}
Delete existing Data
destroyData 3 params → 200401403404500
POST
/{username}/groups/{group_key}/data
Create new data for multiple feeds in a group
createGroupData 2 params body → 200401403404500
GET
/{username}/groups/{group_key}/feeds/{feed_key}/data
All data for current feed in a specific group
allGroupFeedData 6 params → 200401403404500
POST
/{username}/groups/{group_key}/feeds/{feed_key}/data
Create new Data in a feed belonging to a particular group
createGroupFeedData 3 params body → 200401403404500
POST
/{username}/groups/{group_key}/feeds/{feed_key}/data/batch
Create multiple new Data records in a feed belonging to a particular group
batchCreateGroupFeedData 3 params body → 200401403404500
POST
/webhooks/feed/:token
Send data to a feed via webhook URL.
createWebhookFeedData body → 200401403404500
POST
/webhooks/feed/:token/raw
Send arbitrary data to a feed via webhook URL.
createRawWebhookFeedData → 200401403404500

Schemas 2

The contract defines 2 schemas that model the data the API accepts and returns. The most detailed are DataResponse (12 properties), Data (12 properties). Each schema is shown below with its type and property counts.

Data
object
12 properties
DataResponse
object
12 properties

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

adafruit-io-data-api-openapi.yml Raw ↑

Other APIs Adafruit IO publishes across the network.

Adafruit IO MQTT API
Adafruit IO Activities API
Adafruit IO Blocks API
Adafruit IO Dashboards API
Adafruit IO Feeds API
Adafruit IO Groups API
Adafruit IO Permissions API
Adafruit IO Tokens API
Adafruit IO Triggers API
Adafruit IO Users API
Adafruit IO Webhooks API