You can provide configuration data for multiple Microvisor-empowered IoT devices using the Secret resource. Secrets are intended as a way to upload confidential data to the Twilio cloud so it need not be baked into application code. Instead, the application code running on the device retrieves the Secret when it needs the information.
Unlike Configs, Secrets' values cannot be accessed via the API once they have been created. The retrieval actions listed below will return Secrets' metadata, not their values.
Each Secret is a key:value pair which your application code can access using Microvisor System Calls.
Keys are text identifiers of up to 100 characters in length. They must be unique for a given account.
Values must also be supplied as text, of up to 4096 characters in length. If you wish to make binary data available to your devices, you will need to encode it as text before creating the Secret. For example, you might used base64 encoding. Your application must decode the value back to binary after acquiring it from the Twilio cloud.
Secret resources are accessed at this endpoint:
https://microvisor.twilio.com/v1/Secrets
Secret resources are accessible from all devices associated with an account. For Secrets that are made available to specific devices, please see Device Secrets.
POST https://microvisor.twilio.com/v1/Secrets
application/x-www-form-urlencoded
1// Download the helper library from https://www.twilio.com/docs/node/install2const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";34// Find your Account SID and Auth Token at twilio.com/console5// and set the environment variables. See http://twil.io/secure6const accountSid = process.env.TWILIO_ACCOUNT_SID;7const authToken = process.env.TWILIO_AUTH_TOKEN;8const client = twilio(accountSid, authToken);910async function createAccountSecret() {11const accountSecret = await client.microvisor.v1.accountSecrets.create({12key: "key_name",13value: "value",14});1516console.log(accountSecret.key);17}1819createAccountSecret();
1{2"key": "key_name",3"date_rotated": "2021-01-01T12:34:56Z",4"url": "https://microvisor.twilio.com/v1/Secrets/first"5}
GET https://microvisor.twilio.com/v1/Secrets/{Key}
The secret key; up to 100 characters.
1// Download the helper library from https://www.twilio.com/docs/node/install2const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";34// Find your Account SID and Auth Token at twilio.com/console5// and set the environment variables. See http://twil.io/secure6const accountSid = process.env.TWILIO_ACCOUNT_SID;7const authToken = process.env.TWILIO_AUTH_TOKEN;8const client = twilio(accountSid, authToken);910async function fetchAccountSecret() {11const accountSecret = await client.microvisor.v112.accountSecrets("Key_name")13.fetch();1415console.log(accountSecret.key);16}1718fetchAccountSecret();
1{2"key": "Key_name",3"date_rotated": "2021-01-01T12:34:57Z",4"url": "https://microvisor.twilio.com/v1/Secrets/first"5}
DELETE https://microvisor.twilio.com/v1/Secrets/{Key}
The secret key; up to 100 characters.
1// Download the helper library from https://www.twilio.com/docs/node/install2const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";34// Find your Account SID and Auth Token at twilio.com/console5// and set the environment variables. See http://twil.io/secure6const accountSid = process.env.TWILIO_ACCOUNT_SID;7const authToken = process.env.TWILIO_AUTH_TOKEN;8const client = twilio(accountSid, authToken);910async function deleteAccountSecret() {11await client.microvisor.v1.accountSecrets("key_name").remove();12}1314deleteAccountSecret();