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

The Permissions API from Adafruit IO — 2 operation(s) for permissions.

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

This API exposes 6 operations across 2 paths, and defines 1 schema. 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.

6 operations 2 paths 1 schemas 1 DELETE2 GET1 PATCH1 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 Permissions 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 6

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

Permissions 6
GET
/{username}/{type}/{type_id}/acl
All permissions for current user and type
allPermissions 3 params → 200401403404500
POST
/{username}/{type}/{type_id}/acl
Create a new Permission
createPermission 3 params body → 200401403404500
GET
/{username}/{type}/{type_id}/acl/{id}
Returns Permission based on ID
getPermission 4 params → 200401403404500
PUT
/{username}/{type}/{type_id}/acl/{id}
Replace an existing Permission
replacePermission 4 params body → 200401403404500
PATCH
/{username}/{type}/{type_id}/acl/{id}
Update properties of an existing Permission
updatePermission 4 params body → 200401403404500
DELETE
/{username}/{type}/{type_id}/acl/{id}
Delete an existing Permission
destroyPermission 4 params → 200401403404500

Schemas 1

The contract defines 1 schema that model the data the API accepts and returns. The most detailed is Permission (8 properties). Each schema is shown below with its type and property counts.

Permission
object
8 properties

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

adafruit-io-permissions-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 Groups API
Adafruit IO Tokens API
Adafruit IO Triggers API
Adafruit IO Users API
Adafruit IO Webhooks API