📦 Lap Adafruit Io Rest Api — lap-adafruit-io-rest-api — Adafruit IO REST API 封装

v1.0.0

Adafruit IO REST API 技能封装。用于通过 Adafruit IO REST API 操作用户数据、feeds、dashboards、tokens、triggers 和 webhooks。覆盖 71 个 API 端点,支持 API Key 认证。

0· 107·1 当前·1 累计
mickmicksh 头像by @mickmicksh·MIT-0
下载技能包
License
MIT-0
最后更新
2026/3/30
0
安全扫描
VirusTotal
无害
查看报告
OpenClaw
安全
high confidence
该技能是一个仅包含指令的 Adafruit IO REST API 封装,其要求(单个 ADAFRUIT_IO_REST_API_KEY 环境变量)与其目的相符。
评估建议
该技能功能专一,仅限于 Adafruit IO 使用。安装前:仅提供为预期访问的 Adafruit 账户创建的密钥(优先使用有限范围的令牌),不要重复使用高权限或不相关的密钥。请注意提供的 API 密钥可用于读取和修改 feeds、tokens、dashboards 和其他 Adafruit IO 资源——如怀疑泄露请轮换密钥。另请注意该技能的来源/主页未知;如果需要更强的保证,请向发布者询问来源或使用自己的封装直接调用 https://io.adafruit.com/api/v2。...
详细分析 ▾
用途与能力
名称/描述与行为匹配:SKILL.md 文档记录了 Adafruit IO REST 端点,且该技能仅需要 ADAFRUIT_IO_REST_API_KEY,这是 Adafruit IO 访问的预期凭证。
指令范围
SKILL.md 仅描述调用 Adafruit IO 端点(基础 URL https://io.adafruit.com/api/v2)、设置 X-AIO-Key 以及通过 GET /user 验证。不指导读取本地文件、其他环境变量或向意外第三方端点发送数据。
安装机制
无安装规范和代码文件——仅指令技能在磁盘上占用空间最小,无任何内容被下载或安装。
凭证需求
仅需要 ADAFRUIT_IO_REST_API_KEY,这与 REST API 技能相称。注意:API 密钥通常授予账户级别的访问权限来操作 feeds、tokens、triggers 等,因此该密钥应被视为敏感信息。
持久化与权限
always 为 false,该技能不请求持久化系统权限或访问其他技能的配置。默认允许自主调用,但在此不过度。
安全有层次,运行前请审查代码。

License

MIT-0

可自由使用、修改和再分发,无需署名。

运行时依赖

无特殊依赖

版本

latestv1.0.02026/3/30

lap-adafruit-io-rest-api 首次发布。提供对 71 个 Adafruit IO REST API 端点的访问,涵盖用户、feeds、groups、dashboards、tokens、triggers 和 webhooks。支持通过请求头或查询参数进行 API Key 认证。包含端点摘要和常见请求的使用模式。需要 ADAFRUIT_IO_REST_API_KEY 环境变量进行配置。设计用于将用户请求匹配到相应的 API 端点。

无害

安装命令

点击复制
官方npx clawhub@latest install lap-adafruit-io-rest-api
镜像加速npx clawhub@latest install lap-adafruit-io-rest-api --registry https://cn.longxiaskill.com

技能文档

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

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
数据来源ClawHub ↗ · 中文优化:龙虾技能库