Manage Edith smart glasses API keys with Unkey. Create, revoke, and list API keys via voice commands.
npx @senso-ai/shipables install samdickson22/edith-api-keysManage API keys for the Edith smart glasses app using Unkey.
The user must have UNKEY_ROOT_KEY and UNKEY_API_ID set as environment variables.
UNKEY_ROOT_KEY — root key from the Unkey dashboard (used to create/revoke keys)UNKEY_API_ID — the Unkey API ID that Edith verifies keys againstThis skill uses curl to call the Unkey REST API. All requests go to https://api.unkey.dev.
Create a key for a plugin developer or device. Optionally set a name, expiration, or rate limit.
curl -s -X POST https://api.unkey.dev/v1/keys.createKey \
-H "Authorization: Bearer $UNKEY_ROOT_KEY" \
-H "Content-Type: application/json" \
-d '{
"apiId": "'"$UNKEY_API_ID"'",
"name": "{{name}}",
"prefix": "edith",
"meta": { "purpose": "{{purpose}}" },
"expires": {{expires_unix_ms_or_null}},
"ratelimit": {
"async": true,
"limit": {{rate_limit_per_second_or_10}},
"duration": 1000
}
}'
Response includes key (give this to the user) and keyId (for management).
curl -s "https://api.unkey.dev/v1/apis.listKeys?apiId=$UNKEY_API_ID" \
-H "Authorization: Bearer $UNKEY_ROOT_KEY"
Permanently delete a key by its keyId.
curl -s -X POST https://api.unkey.dev/v1/keys.deleteKey \
-H "Authorization: Bearer $UNKEY_ROOT_KEY" \
-H "Content-Type: application/json" \
-d '{"keyId": "{{keyId}}"}'
curl -s -X POST https://api.unkey.dev/v1/keys.verifyKey \
-H "Content-Type: application/json" \
-d '{"apiId": "'"$UNKEY_API_ID"'", "key": "{{key}}"}'
curl -s -X POST https://api.unkey.dev/v1/keys.updateKey \
-H "Authorization: Bearer $UNKEY_ROOT_KEY" \
-H "Content-Type: application/json" \
-d '{
"keyId": "{{keyId}}",
"name": "{{new_name}}",
"ratelimit": {
"async": true,
"limit": {{new_limit}},
"duration": 1000
}
}'
When the user asks to manage Edith API keys:
UNKEY_ROOT_KEY and UNKEY_API_ID are set in the environment.?linkCode=...&apiKey=... — the relay verifies the key via Unkey automatically when UNKEY_API_ID is set on the server.User: "Create an API key for my demo plugin"
curl -s -X POST https://api.unkey.dev/v1/keys.createKey \
-H "Authorization: Bearer $UNKEY_ROOT_KEY" \
-H "Content-Type: application/json" \
-d '{
"apiId": "'"$UNKEY_API_ID"'",
"name": "demo-plugin",
"prefix": "edith",
"meta": { "purpose": "demo plugin" },
"ratelimit": { "async": true, "limit": 10, "duration": 1000 }
}'