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 · 29 · 0 current installs · 0 all-time installs
MIT-0
Security Scan
OpenClaw
Benign
high confidencePurpose & 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 ziplatest
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
- Set your API key in the appropriate header
- GET /user -- verify access
- 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
Files
1 totalSelect a file
Select a file to preview.
Comments
Loading comments…
