Available M2C2 APIs
Permission tokens
Declare only what you need in manifest.permissions:
| Token | Capability |
|---|---|
network.fetch | http.get/post to allowlisted hosts |
storage.local | Key/value isolated per addonId |
voice.register | Register Piper intents |
voice.tts | Speak responses |
smart.read | Read device snapshots |
smart.write | Control devices (heavily gated) |
notify.toast | Show non-blocking UI toasts |
⚠️ Warning: smart.write triggers extra review in the marketplace — include demo video and safety notes.
HTTP bridge
const res = await http.get("https://api.example.com/v1/price", {
cache: "no-store",
});Hosts must match manifest.network.allowlist (field name may vary by core version).
Storage
await storage.set("pairs", ["BTC", "ETH"]);
const pairs = await storage.get<string[]>("pairs");Voice registration
voice.registerIntent("crypto.price", async (slots) => {
const sym = slots.symbol;
return { speak: `${sym} is …` };
});💡 Tip: Log intent confidence during development — borderline transcripts should return a clarifying question instead of executing trades.
Last updated on
Was this helpful?