← Back to Skills Marketplace
mickmicksh

Lap Adafruit Io Rest Api

by mickmicksh · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ✓ Security Clean
152
Downloads
0
Stars
1
Active Installs
1
Versions
Install in OpenClaw
/install lap-adafruit-io-rest-api
Description
Adafruit IO REST API skill. Use when working with Adafruit IO REST for user, {username}, webhooks. Covers 71 endpoints.
README (SKILL.md)

Adafruit IO REST API

API version: 2.0.0

Auth

ApiKey X-AIO-Key in header | ApiKey X-AIO-Key in query | ApiKey X-AIO-Signature in header

Base URL

https://io.adafruit.com/api/v2

Setup

  1. Set your API key in the appropriate header
  2. GET /user -- verify access
  3. POST /{username}/feeds -- create first feeds

Endpoints

71 endpoints across 3 groups. See references/api-spec.lap for full details.

user

Method Path Description
GET /user Get information about the current user

{username}

Method Path Description
GET /{username}/throttle Get the user's data rate limit and current activity level.
GET /{username}/activities All activities for current user
DELETE /{username}/activities All activities for current user
GET /{username}/activities/{type} Get activities by type for current user
GET /{username}/feeds All feeds for current user
POST /{username}/feeds Create a new Feed
GET /{username}/feeds/{feed_key} Get feed by feed key
PUT /{username}/feeds/{feed_key} Replace an existing Feed
PATCH /{username}/feeds/{feed_key} Update properties of an existing Feed
DELETE /{username}/feeds/{feed_key} Delete an existing Feed
GET /{username}/feeds/{feed_key}/details Get detailed feed by feed key
GET /{username}/feeds/{feed_key}/data Get all data for the given feed
POST /{username}/feeds/{feed_key}/data Create new Data
GET /{username}/feeds/{feed_key}/data/chart Chart data for current feed
POST /{username}/feeds/{feed_key}/data/batch Create multiple new Data records
GET /{username}/feeds/{feed_key}/data/previous Previous Data in Queue
GET /{username}/feeds/{feed_key}/data/next Next Data in Queue
GET /{username}/feeds/{feed_key}/data/last Last Data in Queue
GET /{username}/feeds/{feed_key}/data/first First Data in Queue
GET /{username}/feeds/{feed_key}/data/retain Last Data in MQTT CSV format
GET /{username}/feeds/{feed_key}/data/{id} Returns data based on feed key
PUT /{username}/feeds/{feed_key}/data/{id} Replace existing Data
PATCH /{username}/feeds/{feed_key}/data/{id} Update properties of existing Data
DELETE /{username}/feeds/{feed_key}/data/{id} Delete existing Data
GET /{username}/groups All groups for current user
POST /{username}/groups Create a new Group
GET /{username}/groups/{group_key} Returns Group based on ID
PUT /{username}/groups/{group_key} Replace an existing Group
PATCH /{username}/groups/{group_key} Update properties of an existing Group
DELETE /{username}/groups/{group_key} Delete an existing Group
POST /{username}/groups/{group_key}/add Add an existing Feed to a Group
POST /{username}/groups/{group_key}/remove Remove a Feed from a Group
GET /{username}/groups/{group_key}/feeds All feeds for current user in a given group
POST /{username}/groups/{group_key}/feeds Create a new Feed in a Group
POST /{username}/groups/{group_key}/data Create new data for multiple feeds in a group
GET /{username}/groups/{group_key}/feeds/{feed_key}/data All data for current feed in a specific group
POST /{username}/groups/{group_key}/feeds/{feed_key}/data Create new Data in a feed belonging to a particular group
POST /{username}/groups/{group_key}/feeds/{feed_key}/data/batch Create multiple new Data records in a feed belonging to a particular group
GET /{username}/dashboards All dashboards for current user
POST /{username}/dashboards Create a new Dashboard
GET /{username}/dashboards/{id} Returns Dashboard based on ID
PUT /{username}/dashboards/{id} Replace an existing Dashboard
PATCH /{username}/dashboards/{id} Update properties of an existing Dashboard
DELETE /{username}/dashboards/{id} Delete an existing Dashboard
GET /{username}/dashboards/{dashboard_id}/blocks All blocks for current user
POST /{username}/dashboards/{dashboard_id}/blocks Create a new Block
GET /{username}/dashboards/{dashboard_id}/blocks/{id} Returns Block based on ID
PUT /{username}/dashboards/{dashboard_id}/blocks/{id} Replace an existing Block
PATCH /{username}/dashboards/{dashboard_id}/blocks/{id} Update properties of an existing Block
DELETE /{username}/dashboards/{dashboard_id}/blocks/{id} Delete an existing Block
GET /{username}/tokens All tokens for current user
POST /{username}/tokens Create a new Token
GET /{username}/tokens/{id} Returns Token based on ID
PUT /{username}/tokens/{id} Replace an existing Token
PATCH /{username}/tokens/{id} Update properties of an existing Token
DELETE /{username}/tokens/{id} Delete an existing Token
GET /{username}/triggers All triggers for current user
POST /{username}/triggers Create a new Trigger
GET /{username}/triggers/{id} Returns Trigger based on ID
PUT /{username}/triggers/{id} Replace an existing Trigger
PATCH /{username}/triggers/{id} Update properties of an existing Trigger
DELETE /{username}/triggers/{id} Delete an existing Trigger
GET /{username}/{type}/{type_id}/acl All permissions for current user and type
POST /{username}/{type}/{type_id}/acl Create a new Permission
GET /{username}/{type}/{type_id}/acl/{id} Returns Permission based on ID
PUT /{username}/{type}/{type_id}/acl/{id} Replace an existing Permission
PATCH /{username}/{type}/{type_id}/acl/{id} Update properties of an existing Permission
DELETE /{username}/{type}/{type_id}/acl/{id} Delete an existing Permission

webhooks

Method Path Description
POST /webhooks/feed/:token Send data to a feed via webhook URL.
POST /webhooks/feed/:token/raw Send arbitrary data to a feed via webhook URL.

Common Questions

Match user requests to endpoints in references/api-spec.lap. Key patterns:

  • "List all user?" -> GET /user
  • "List all throttle?" -> GET /{username}/throttle
  • "List all activities?" -> GET /{username}/activities
  • "Get activity details?" -> GET /{username}/activities/{type}
  • "List all feeds?" -> GET /{username}/feeds
  • "Create a feed?" -> POST /{username}/feeds
  • "Get feed details?" -> GET /{username}/feeds/{feed_key}
  • "Update a feed?" -> PUT /{username}/feeds/{feed_key}
  • "Partially update a feed?" -> PATCH /{username}/feeds/{feed_key}
  • "Delete a feed?" -> DELETE /{username}/feeds/{feed_key}
  • "List all details?" -> GET /{username}/feeds/{feed_key}/details
  • "List all data?" -> GET /{username}/feeds/{feed_key}/data
  • "Create a data?" -> POST /{username}/feeds/{feed_key}/data
  • "List all chart?" -> GET /{username}/feeds/{feed_key}/data/chart
  • "Create a batch?" -> POST /{username}/feeds/{feed_key}/data/batch
  • "List all previous?" -> GET /{username}/feeds/{feed_key}/data/previous
  • "List all next?" -> GET /{username}/feeds/{feed_key}/data/next
  • "List all last?" -> GET /{username}/feeds/{feed_key}/data/last
  • "List all first?" -> GET /{username}/feeds/{feed_key}/data/first
  • "List all retain?" -> GET /{username}/feeds/{feed_key}/data/retain
  • "Get data details?" -> GET /{username}/feeds/{feed_key}/data/{id}
  • "Update a data?" -> PUT /{username}/feeds/{feed_key}/data/{id}
  • "Partially update a data?" -> PATCH /{username}/feeds/{feed_key}/data/{id}
  • "Delete a data?" -> DELETE /{username}/feeds/{feed_key}/data/{id}
  • "List all groups?" -> GET /{username}/groups
  • "Create a group?" -> POST /{username}/groups
  • "Get group details?" -> GET /{username}/groups/{group_key}
  • "Update a group?" -> PUT /{username}/groups/{group_key}
  • "Partially update a group?" -> PATCH /{username}/groups/{group_key}
  • "Delete a group?" -> DELETE /{username}/groups/{group_key}
  • "Create a add?" -> POST /{username}/groups/{group_key}/add
  • "Create a remove?" -> POST /{username}/groups/{group_key}/remove
  • "List all feeds?" -> GET /{username}/groups/{group_key}/feeds
  • "Create a feed?" -> POST /{username}/groups/{group_key}/feeds
  • "Create a data?" -> POST /{username}/groups/{group_key}/data
  • "List all data?" -> GET /{username}/groups/{group_key}/feeds/{feed_key}/data
  • "Create a data?" -> POST /{username}/groups/{group_key}/feeds/{feed_key}/data
  • "Create a batch?" -> POST /{username}/groups/{group_key}/feeds/{feed_key}/data/batch
  • "List all dashboards?" -> GET /{username}/dashboards
  • "Create a dashboard?" -> POST /{username}/dashboards
  • "Get dashboard details?" -> GET /{username}/dashboards/{id}
  • "Update a dashboard?" -> PUT /{username}/dashboards/{id}
  • "Partially update a dashboard?" -> PATCH /{username}/dashboards/{id}
  • "Delete a dashboard?" -> DELETE /{username}/dashboards/{id}
  • "List all blocks?" -> GET /{username}/dashboards/{dashboard_id}/blocks
  • "Create a block?" -> POST /{username}/dashboards/{dashboard_id}/blocks
  • "Get block details?" -> GET /{username}/dashboards/{dashboard_id}/blocks/{id}
  • "Update a block?" -> PUT /{username}/dashboards/{dashboard_id}/blocks/{id}
  • "Partially update a block?" -> PATCH /{username}/dashboards/{dashboard_id}/blocks/{id}
  • "Delete a block?" -> DELETE /{username}/dashboards/{dashboard_id}/blocks/{id}
  • "List all tokens?" -> GET /{username}/tokens
  • "Create a token?" -> POST /{username}/tokens
  • "Get token details?" -> GET /{username}/tokens/{id}
  • "Update a token?" -> PUT /{username}/tokens/{id}
  • "Partially update a token?" -> PATCH /{username}/tokens/{id}
  • "Delete a token?" -> DELETE /{username}/tokens/{id}
  • "List all triggers?" -> GET /{username}/triggers
  • "Create a trigger?" -> POST /{username}/triggers
  • "Get trigger details?" -> GET /{username}/triggers/{id}
  • "Update a trigger?" -> PUT /{username}/triggers/{id}
  • "Partially update a trigger?" -> PATCH /{username}/triggers/{id}
  • "Delete a trigger?" -> DELETE /{username}/triggers/{id}
  • "List all acl?" -> GET /{username}/{type}/{type_id}/acl
  • "Create a acl?" -> POST /{username}/{type}/{type_id}/acl
  • "Get acl details?" -> GET /{username}/{type}/{type_id}/acl/{id}
  • "Update a acl?" -> PUT /{username}/{type}/{type_id}/acl/{id}
  • "Partially update a acl?" -> PATCH /{username}/{type}/{type_id}/acl/{id}
  • "Delete a acl?" -> DELETE /{username}/{type}/{type_id}/acl/{id}
  • "Create a :token?" -> POST /webhooks/feed/:token
  • "Create a raw?" -> POST /webhooks/feed/:token/raw
  • "How to authenticate?" -> See Auth section

Response Tips

  • Check response schemas in references/api-spec.lap for field details
  • List endpoints may support pagination; check for limit, offset, or cursor params
  • Create/update endpoints typically return the created/updated object

CLI

# Update this spec to the latest version
npx @lap-platform/lapsh get adafruit-io-rest-api -o references/api-spec.lap

# Search for related APIs
npx @lap-platform/lapsh search adafruit-io-rest-api

References

  • Full spec: See references/api-spec.lap for complete endpoint details, parameter tables, and response schemas

Generated from the official API spec by LAP

Usage Guidance
This skill appears coherent and limited to Adafruit IO usage. Before installing: only provide a key created for the Adafruit account you expect the skill to access (prefer a scoped/limited token if available), and do not reuse a highly privileged or unrelated secret. Be aware that the provided API key can be used to read and modify feeds, tokens, dashboards, and other Adafruit IO resources — rotate the key if you suspect exposure. Also note the skill's source/homepage is unknown; if you want stronger assurance, ask the publisher for provenance or use your own wrapper that calls https://io.adafruit.com/api/v2 directly.
Capability Analysis
Type: OpenClaw Skill Name: lap-adafruit-io-rest-api Version: 1.0.0 The skill bundle is a standard API wrapper for the Adafruit IO REST API, providing documentation and endpoint mappings for 71 legitimate Adafruit IO functions. It correctly identifies the need for the ADAFRUIT_IO_REST_API_KEY environment variable and uses the official base URL (io.adafruit.com). No evidence of data exfiltration, malicious execution, or prompt injection was found in SKILL.md or _meta.json.
Capability Assessment
Purpose & Capability
Name/description match the behavior: the SKILL.md documents Adafruit IO REST endpoints and the skill only requires ADAFRUIT_IO_REST_API_KEY, which is the expected credential for Adafruit IO access.
Instruction Scope
SKILL.md only describes calling Adafruit IO endpoints (base URL https://io.adafruit.com/api/v2), setting X-AIO-Key, and verifying with GET /user. It does not instruct reading local files, other env vars, or sending data to unexpected third-party endpoints.
Install Mechanism
No install spec and no code files — instruction-only skills have minimal on-disk footprint and nothing is downloaded or installed.
Credentials
Only ADAFRUIT_IO_REST_API_KEY is required, which is proportionate to a REST API skill. Note: an API key usually grants account-level access to manipulate feeds, tokens, triggers, etc., so the key should be treated as sensitive.
Persistence & Privilege
always is false and the skill does not request persistent system privileges or access to other skills' configs. Autonomous invocation is allowed by default but not excessive here.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install lap-adafruit-io-rest-api
  3. After installation, invoke the skill by name or use /lap-adafruit-io-rest-api
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Initial release of lap-adafruit-io-rest-api. - Provides access to 71 Adafruit IO REST API endpoints covering users, feeds, groups, dashboards, tokens, triggers, and webhooks. - Supports API Key authentication via headers or query parameters. - Includes endpoint summaries and usage patterns for common requests. - Requires ADAFRUIT_IO_REST_API_KEY environment variable for setup. - Designed to match user requests to the appropriate API endpoints.
Metadata
Slug lap-adafruit-io-rest-api
Version 1.0.0
License MIT-0
All-time Installs 1
Active Installs 1
Total Versions 1
Frequently Asked Questions

What is Lap Adafruit Io Rest Api?

Adafruit IO REST API skill. Use when working with Adafruit IO REST for user, {username}, webhooks. Covers 71 endpoints. It is an AI Agent Skill for Claude Code / OpenClaw, with 152 downloads so far.

How do I install Lap Adafruit Io Rest Api?

Run "/install lap-adafruit-io-rest-api" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Lap Adafruit Io Rest Api free?

Yes, Lap Adafruit Io Rest Api is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Lap Adafruit Io Rest Api support?

Lap Adafruit Io Rest Api is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Lap Adafruit Io Rest Api?

It is built and maintained by mickmicksh (@mickmicksh); the current version is v1.0.0.

💬 Comments