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 Groups API

The Groups API from Adafruit IO — 5 operation(s) for groups.

Adafruit IO Groups 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 Groups. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, a JSON-LD context, and 3 JSON Schemas.

This API exposes 9 operations across 5 paths, and defines 4 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.

9 operations 5 paths 4 schemas 1 DELETE3 GET1 PATCH3 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 Groups 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 9

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

Groups 9
GET
/{username}/groups
All groups for current user
allGroups 1 param → 200401403404500
POST
/{username}/groups
Create a new Group
createGroup 1 param body → 200401403404500
GET
/{username}/groups/{group_key}
Returns Group based on ID
getGroup 2 params → 200401403404500
PUT
/{username}/groups/{group_key}
Replace an existing Group
replaceGroup 2 params body → 200401403404500
PATCH
/{username}/groups/{group_key}
Update properties of an existing Group
updateGroup 2 params body → 200401403404500
DELETE
/{username}/groups/{group_key}
Delete an existing Group
destroyGroup 2 params → 200401403404500
POST
/{username}/groups/{group_key}/add
Add an existing Feed to a Group
addFeedToGroup 3 params → 200401403404500
POST
/{username}/groups/{group_key}/remove
Remove a Feed from a Group
removeFeedFromGroup 3 params → 200401403404500
GET
/{username}/groups/{group_key}/feeds
All feeds for current user in a given group
allGroupFeeds 2 params → 200401403404500

Schemas 4

The contract defines 4 schemas that model the data the API accepts and returns. The most detailed are Feed (19 properties), Data (12 properties), Group (6 properties), ShallowGroup (5 properties). Each schema is shown below with its type and property counts.

ShallowGroup
object
5 properties
Feed
object
19 properties
Group
object
6 properties
Data
object
12 properties

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

adafruit-io-groups-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 Data API
Adafruit IO Feeds API
Adafruit IO Permissions API
Adafruit IO Tokens API
Adafruit IO Triggers API
Adafruit IO Users API
Adafruit IO Webhooks API