Lap Adafruit Io Rest Api

Adafruit IO REST API skill. Use when working with Adafruit IO REST for user, {username}, webhooks. Covers 71 endpoints.

MIT-0 · Free to use, modify, and redistribute. No attribution required.
0 · 31 · 0 current installs · 0 all-time installs
MIT-0
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
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.
Assessment
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.

Like a lobster shell, security has layers — review code before you run it.

Current versionv1.0.0
Download zip
latestvk9798tvha1rh70rt1bpdyrkb1h83w1c0

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

Runtime requirements

EnvADAFRUIT_IO_REST_API_KEY

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

MethodPathDescription
GET/userGet information about the current user

{username}

MethodPathDescription
GET/{username}/throttleGet the user's data rate limit and current activity level.
GET/{username}/activitiesAll activities for current user
DELETE/{username}/activitiesAll activities for current user
GET/{username}/activities/{type}Get activities by type for current user
GET/{username}/feedsAll feeds for current user
POST/{username}/feedsCreate 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}/detailsGet detailed feed by feed key
GET/{username}/feeds/{feed_key}/dataGet all data for the given feed
POST/{username}/feeds/{feed_key}/dataCreate new Data
GET/{username}/feeds/{feed_key}/data/chartChart data for current feed
POST/{username}/feeds/{feed_key}/data/batchCreate multiple new Data records
GET/{username}/feeds/{feed_key}/data/previousPrevious Data in Queue
GET/{username}/feeds/{feed_key}/data/nextNext Data in Queue
GET/{username}/feeds/{feed_key}/data/lastLast Data in Queue
GET/{username}/feeds/{feed_key}/data/firstFirst Data in Queue
GET/{username}/feeds/{feed_key}/data/retainLast 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}/groupsAll groups for current user
POST/{username}/groupsCreate 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}/addAdd an existing Feed to a Group
POST/{username}/groups/{group_key}/removeRemove a Feed from a Group
GET/{username}/groups/{group_key}/feedsAll feeds for current user in a given group
POST/{username}/groups/{group_key}/feedsCreate a new Feed in a Group
POST/{username}/groups/{group_key}/dataCreate new data for multiple feeds in a group
GET/{username}/groups/{group_key}/feeds/{feed_key}/dataAll data for current feed in a specific group
POST/{username}/groups/{group_key}/feeds/{feed_key}/dataCreate new Data in a feed belonging to a particular group
POST/{username}/groups/{group_key}/feeds/{feed_key}/data/batchCreate multiple new Data records in a feed belonging to a particular group
GET/{username}/dashboardsAll dashboards for current user
POST/{username}/dashboardsCreate 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}/blocksAll blocks for current user
POST/{username}/dashboards/{dashboard_id}/blocksCreate 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}/tokensAll tokens for current user
POST/{username}/tokensCreate 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}/triggersAll triggers for current user
POST/{username}/triggersCreate 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}/aclAll permissions for current user and type
POST/{username}/{type}/{type_id}/aclCreate 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

MethodPathDescription
POST/webhooks/feed/:tokenSend data to a feed via webhook URL.
POST/webhooks/feed/:token/rawSend 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

Files

1 total
Select a file
Select a file to preview.

Comments

Loading comments…