Particle API JS (Javascript SDK)

ParticleJS is JavaScript library for the Particle Device Cloud API for Node.js and the browser. It's open source so you can edit, change or even send in pull requests if you want to share!

This page contains examples to get started using the library.

For more details, see the detailed reference below and check the examples folder on GitHub.

Installation

Node.js

First, make sure you have node.js installed!

Next, open a command prompt or terminal, and install by typing:

$ npm install particle-api-js

Browser

Particle API JS can be included using bower:

$ bower install particle-api-js

Alternately, you can pull in Particle API JS from the JSDelivr and simply include the script in your HTML.

<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/particle-api-js@8/dist/particle.min.js">
</script>

Now you will have a Particle object available that you can use in your application.

Responses

All functions in this library return promises.

particle.login({username: 'email@example.com', password: 'pass'}).then(
  function(data){
    console.log('API call completed on promise resolve: ', data.body.access_token);
  },
  function(err) {
    console.log('API call completed on promise fail: ', err);
  }
);

Examples

Here are some common use cases of using the functions in the Javascript library.

Logging in

login

You can create an account here. Use the token from login as the auth parameter in other calls.

var Particle = require('particle-api-js');
var particle = new Particle();
var token;

particle.login({username: 'user@email.com', password: 'pass'}).then(
  function(data) {
    token = data.body.access_token;
  },
  function (err) {
    console.log('Could not log in.', err);
  }
);

Device management

listDevices

List devices for a user with listDevices.

var token; // from result of particle.login
var devicesPr = particle.listDevices({ auth: token });

devicesPr.then(
  function(devices){
    console.log('Devices: ', devices);
  },
  function(err) {
    console.log('List devices call failed: ', err);
  }
);

callFunction

Call a function in device with callFunction.

var fnPr = particle.callFunction({ deviceId: 'DEVICE_ID', name: 'brew', argument: 'D0:HIGH', auth: token });

fnPr.then(
  function(data) {
    console.log('Function called succesfully:', data);
  }, function(err) {
    console.log('An error occurred:', err);
  });

The function needs to be defined in the firmware uploaded to the device and registered to the Particle cloud.

You pass along the name of the function and the params.

If the function call succeeds, data.return_value is the value returned by the function call on the Particle device.

claimDevice

Claims device and adds it to the user account with claimDevice

particle.claimDevice({ deviceId: 'DEVICE_ID', auth: token }).then(function(data) {
  console.log('device claim data:', data);
}, function(err) {
  console.log('device claim err:', err);
});

flashDevice

Flash firmware to device with flashDevice

particle.flashDevice({ deviceId: 'DEVICE_ID', files: { file1: './path/file1' }, auth: token }).then(function(data) {
  console.log('Device flashing started successfully:', data);
}, function(err) {
  console.log('An error occurred while flashing the device:', err);
});

getDevice

Gets all attributes for the device with getDevice

var devicesPr = particle.getDevice({ deviceId: 'DEVICE_ID', auth: token });

devicesPr.then(
  function(data){
    console.log('Device attrs retrieved successfully:', data);
  },
  function(err) {
    console.log('API call failed: ', err);
  }
);

getVariable

Gets a variable value for the device with getVariable

particle.getVariable({ deviceId: 'DEVICE_ID', name: 'temp', auth: token }).then(function(data) {
  console.log('Device variable retrieved successfully:', data);
}, function(err) {
  console.log('An error occurred while getting attrs:', err);
});

The variable needs to be defined in your device's code.

If getting the variable succeeds, data.body.result is the value of the variable on the Particle device.

removeDevice

Removes device from the user account with removeDevice

particle.removeDevice({ deviceId: 'DEVICE_ID', auth: token }).then(function(data) {
  console.log('remove call response:', data);
}, function(err) {
  console.log('An error occurred while removing:', err);
});

renameDevice

Renames device for the user account with renameDevice

particle.renameDevice({ deviceId: 'DEVICE_ID', name: 'new-name', auth: token }).then(function(data) {
  console.log('Device renamed successfully:', data);
}, function(err) {
  console.log('An error occurred while renaming device:', err);
});

signalDevice

Send a signal to the device to shout rainbows with signalDevice

particle.signalDevice({ deviceId: 'DEVICE_ID', signal: true, auth: token }).then(function(data) {
  console.log('Device is shouting rainbows:', data);
}, function(err) {
  console.log('Error sending a signal to the device:', err);
});

Send a signal to the device to stop shouting rainbows

particle.signalDevice({ deviceId: 'DEVICE_ID', signal: false, auth: token }).then(function(data) {
  console.log('The LED is back to normal:', data);
}, function(err) {
  console.log('Error sending a signal to the device:', err);
});

sendPublicKey

Send public key for a device to the cloud with sendPublicKey

particle.sendPublicKey({ deviceId: 'DEVICE_ID', key: 'key', auth: token }).then(function(data) {
  console.log('Public key sent successfully:', data);
}, function(err) {
  console.log('Error sending public key to the device:', err);
});

getEventStream

Get event listener to an stream in the Particle cloud with getEventStream

//Get events filtered by name
particle.getEventStream({ name: 'x', auth: token}).then(function(stream) {
  stream.on('event', function(data) {
    console.log("Event: ", data);
  });
});

//Get your devices events
particle.getEventStream({ deviceId: 'mine', auth: token }).then(function(stream) {
  stream.on('event', function(data) {
    console.log("Event: ", data);
  });
});

//Get test event for specific device
particle.getEventStream({ deviceId: 'DEVICE_ID', name: 'test', auth: token }).then(function(stream) {
  stream.on('event', function(data) {
    console.log("Event: ", data);
  });
});

data is an object with the following properties

{
  "name":"Uptime",
  "data":"5:28:54",
  "ttl":"60",
  "published_at":"2014-MM-DDTHH:mm:ss.000Z",
  "coreid":"012345678901234567890123"
}

When a network error occurs or the event stream has not received a heartbeat from the Particle API in 13 seconds, the event stream will disconnect and attempt to reconnect after 2 seconds. To customize the reconnection behavior, close the stream in the disconnect handler.

// This is not a functional reconnection implementation, only an illustration of the various events
let attempts = 10;
particle.getEventStream(options).then(function(stream) {
  stream.on('disconnect', function() {
    console.log('Disconnected from Particle event stream');
    attempts--;
    if (attempts <= 0) {
      console.log('Giving up reconnecting');
      stream.abort();
    }
  });
  stream.on('reconnect', function() {
    console.log('Attempting to reconnect to Particle event stream');
  });
  stream.on('reconnect-success', function() {
    console.log('Reconnected to Particle event stream');
    attempts = 10;
  });
  stream.on('reconnect-error', function(error) {
    console.log('Failed to reconnect to Particle event stream', error);
  });
});

In case your event handler throws an exception, the error event will be emitted.

particle.getEventStream(options).then(function(stream) {
  stream.on('event', function(data) {
    throw new Error('oops');
  });
  stream.on('error', function(error) {
    console.log('Error in handler', error);
  });
});

publishEvent

Register an event stream in the Particle cloud with publishEvent

var publishEventPr = particle.publishEvent({ name: 'test', data: JSON.stringify({ ok: true }), auth: token });

publishEventPr.then(
  function(data) {
    if (data.body.ok) { console.log("Event published succesfully") }
  },
  function(err) {
    console.log("Failed to publish event: " + err)
  }
);

Working with code

compileCode

Compiles files in the Particle cloud with compileCode

var ccPr = particle.compileCode({ files: { 'main.cpp': './project/main.cpp', 'my_lib/lib.cpp': './project/my_lib/lib.cpp' }, auth: token });

ccPr.then(
  function(data) {
    console.log('Code compilation started successfully:', data);
  }, function(err) {
    console.log('An error occurred while compiling the code:', err);
  });

Flashing

Flash firmware to a device with flashDevice

User management

createUser

Creates a user in the Particle cloud with createUser

particle.createUser({ username: 'example@email.com', password: 'pass' }).then(function(data) {

We try to login and get back an accessToken to verify user creation

  var loginPromise = particle.login('example@email.com', 'pass');

We'll use promises to check the result of the login process

    loginPromise.then(
      function(data) {
        console.log('Login successful! access_token:', data.access_token);
      },
      function(err) {
        console.log('Login failed:', err);
      }
    );
  }
});

listAccessTokens

Lists access tokens from the Particle cloud for the specified user with listAccessTokens

particle.listAccessTokens({ username: 'u@m.com', password: 'pass' }).then(function(data) {
  console.log('data on listing access tokens: ', data);
}, function(err) {
  console.log('error on listing access tokens: ', err);
});

deleteAccessToken

Removes an access token from the Particle cloud for the specified user with deleteAccessToken

particle.deleteAccessToken({ username: 'u@m.com', password: 'pass', token: 'token' }).then(function(data) {
  console.log('data on deleting accessToken: ', data);
}, function(err) {
  console.log('error on deleting accessToken: ', err);
});

Product support

If you are a product creator you can use the Javascript library to manage devices, firmware, integrations, and more.

Many of the functions in the Javascript library accept a product parameter. Pass your product ID number (such as 4567) or the slug (such as myproduct-v100) to make that function act on that product.

Detailed reference

Here a full reference of every function available in the Javascript client library.

constructor

src/Particle.js:25-30

Contructor for the Cloud API wrapper.

Create a new Particle object and call methods below on it.

Parameters

  • options Object Options for this API call Options to be used for all requests (see Defaults) (optional, default {})

login

src/Particle.js:66-81

Login to Particle Cloud using an existing Particle acccount.

Parameters

  • options Object Options for this API call
    • options.username String Username for the Particle account
    • options.password String Password for the Particle account
    • options.tokenDuration Number How long the access token should last in seconds (optional, default this.tokenDuration)
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Number? Request context

Returns Promise A promise

sendOtp

src/Particle.js:92-106

If login failed with an 'mfa_required' error, this must be called with a valid OTP code to login

Parameters

  • options Object Options for this API call
    • options.mfaToken String Given as 'mfa_token' in the error body of .login().
    • options.otp String Current one-time-password generated from the authentication application
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Number? Request context

Returns Promise A promise

enableMfa

src/Particle.js:116-118

Enable MFA on the currently logged in user

Parameters

  • options Object Options for this API call
    • options.auth Object Access token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

confirmMfa

src/Particle.js:131-145

Confirm MFA for the user. This must be called with current TOTP code, determined from the results of enableMfa(). You will be prompted to enter an OTP code every time you login after enrollment is confirmed.

Parameters

  • options Object Options for this API call
    • options.mfaToken Object Token given from previous step to
    • options.otp Object Current one-time-password generated from the authentication app
    • options.invalidateTokens Boolean Should all tokens be invalidated (optional, default false)
    • options.auth Object Access token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

disableMfa

src/Particle.js:156-164

Disable MFA for the user.

Parameters

  • options Object Options for this API call
    • options.currentPassword Object User's current password
    • options.auth Object Access token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

createCustomer

src/Particle.js:176-190

Create Customer for Product.

Parameters

  • options Object Options for this API call
    • options.email String Username for the Particle account
    • options.password String Password for the Particle account
    • options.product String Create the customer in this product ID or slug
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

loginAsClientOwner

src/Particle.js:199-211

Login to Particle Cloud using an OAuth client.

Parameters

  • options Object Options for this API call
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

createUser

src/Particle.js:223-234

Create a user account for the Particle Cloud

Parameters

  • options Object Options for this API call
    • options.username String Email of the new user
    • options.password String Password
    • options.accountInfo String Object that contains account information fields such as user real name, company name, business account flag etc
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

verifyUser

src/Particle.js:244-251

Verify new user account via verification email

Parameters

  • options Object Options for this API call
    • options.token String The string token sent in the verification email
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

resetPassword

src/Particle.js:261-268

Send reset password email for a Particle Cloud user account

Parameters

  • options Object Options for this API call
    • options.username String Email of the user
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

deleteAccessToken

src/Particle.js:280-288

Revoke an access token

Parameters

  • options Object Options for this API call
    • options.username String Username of the Particle cloud account that the token belongs to.
    • options.password String Password for the account
    • options.token String Access token you wish to revoke
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

deleteCurrentAccessToken

src/Particle.js:298-305

Revoke the current session access token

Parameters

  • options Object Options for this API call
    • options.auth String Access Token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

deleteActiveAccessTokens

src/Particle.js:315-322

Revoke all active access tokens

Parameters

  • options Object Options for this API call
    • options.auth String Access Token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

deleteUser

src/Particle.js:333-341

Delete the current user

Parameters

  • options Object Options for this API call
    • options.auth String Access Token
    • options.password String Password
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

listAccessTokens

src/Particle.js:353-361

List all valid access tokens for a Particle Cloud account

Parameters

  • options Object Options for this API call
    • options.username String Username
    • options.password String Password
    • options.otp String Current one-time-password generated from the authentication application
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

trackingIdentity

src/Particle.js:373-381

Retrieves the information that is used to identify the current login for tracking.

Parameters

  • options Object Options for this API call (optional, default {})
    • options.full Boolean When true, retrieve all information for registering a user with the tracking API. When false,
                                     retrieve only the unique tracking ID for the current login. (optional, default `false`)
      
    • options.auth String The access token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise<Object> Resolve the tracking identify of the current login

listDevices

src/Particle.js:399-411

List devices claimed to the account or product

Parameters

  • options Object Options for this API call
    • options.deviceId String? (Product only) Filter results to devices with this ID (partial matching)
    • options.deviceName String? (Product only) Filter results to devices with this name (partial matching)
    • options.groups Array<string>? (Product only) A list of full group names to filter results to devices belonging to these groups only.
    • options.sortAttr String? (Product only) The attribute by which to sort results. See API docs for options.
    • options.sortDir String? (Product only) The direction of sorting. See API docs for options.
    • options.page Number? (Product only) Current page of results
    • options.perPage Number? (Product only) Records per page
    • options.product String? List devices in this product ID or slug
    • options.auth String Access Token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

getDevice

src/Particle.js:423-426

Get detailed informationa about a device

Parameters

  • options Object Options for this API call
    • options.deviceId String Device ID or Name
    • options.product String? Device in this product ID or slug
    • options.auth String Access token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

claimDevice

src/Particle.js:437-448

Claim a device to the account. The device must be online and unclaimed.

Parameters

  • options Object Options for this API call
    • options.deviceId String Device ID
    • options.auth String Access Token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context
    • options.requestTransfer

Returns Promise A promise

addDeviceToProduct

src/Particle.js:462-480

Add a device to a product or move device out of quarantine.

Parameters

  • options Object Options for this API call
    • options.deviceId String Device ID
    • options.product String Add to this product ID or slug
    • options.file Object A file that contains a single-column list of device IDs, device serial numbers, device IMEIs, or devie ICCIDs.
                                     Node: Either a path or Buffer. Browser: a File or Blob.
      
    • options.auth String Access Token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

removeDevice

src/Particle.js:493-497

Unclaim / Remove a device from your account or product, or deny quarantine

Parameters

  • options Object Options for this API call
    • options.deviceId String Device ID or Name
    • options.deny Boolean? (Product only) Deny this quarantined device, instead of removing an already approved device
    • options.product String Remove from this product ID or slug
    • options.auth String Access Token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

removeDeviceOwner

src/Particle.js:509-512

Unclaim a product device its the owner, but keep it in the product

Parameters

  • options Object Options for this API call
    • options.deviceId String Device ID or Name
    • options.product String Remove from this product ID or slug
    • options.auth String Access Token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

renameDevice

src/Particle.js:525-527

Rename a device

Parameters

  • options Object Options for this API call
    • options.deviceId String Device ID or Name
    • options.name String Desired Name
    • options.product String? Rename device in this product ID or slug
    • options.auth String Access Token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

signalDevice

src/Particle.js:540-542

Instruct the device to turn on/off the LED in a rainbow pattern

Parameters

  • options Object Options for this API call
    • options.deviceId String Device ID or Name
    • options.signal Boolean Signal on or off
    • options.product String? Device in this product ID or slug
    • options.auth String Access Token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

setDeviceNotes

src/Particle.js:555-557

Store some notes about device

Parameters

  • options Object Options for this API call
    • options.deviceId String Device ID or Name
    • options.notes String Your notes about this device
    • options.product String? Device in this product ID or slug
    • options.auth String Access Token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

markAsDevelopmentDevice

src/Particle.js:570-572

Mark device as being used in development of a product so it opts out of automatic firmware updates

Parameters

  • options Object Options for this API call
    • options.deviceId String Device ID or Name
    • options.development Boolean Set to true to mark as development, false to return to product fleet (optional, default true)
    • options.product String Device in this product ID or slug
    • options.auth String Access Token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

lockDeviceProductFirmware

src/Particle.js:586-588

Mark device as being used in development of a product so it opts out of automatic firmware updates

Parameters

  • options Object Options for this API call
    • options.deviceId String Device ID or Name
    • options.desiredFirmwareVersion Number Lock the product device to run this firmware version.
    • options.flash Boolean? Immediately flash firmware indicated by desiredFirmwareVersion
    • options.product String Device in this product ID or slug
    • options.auth String Access Token
    • options.context Object? Request context
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.

Returns Promise A promise

unlockDeviceProductFirmware

src/Particle.js:600-602

Mark device as receiving automatic firmware updates

Parameters

  • options Object Options for this API call
    • options.deviceId String Device ID or Name
    • options.product String Device in this product ID or slug
    • options.auth String Access Token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

updateDevice

src/Particle.js:621-632

Update multiple device attributes at the same time

Parameters

  • options Object Options for this API call
    • options.deviceId String Device ID or Name
    • options.name String? Desired Name
    • options.signal Boolean Signal device on or off
    • options.notes String? Your notes about this device
    • options.development Boolean? (Product only) Set to true to mark as development, false to return to product fleet
    • options.desiredFirmwareVersion Number? (Product only) Lock the product device to run this firmware version.
                                                    Pass `null` to unlock firmware and go back to released firmware.
      
    • options.flash Boolean? (Product only) Immediately flash firmware indicated by desiredFirmwareVersion
    • options.product String? Device in this product ID or slug
    • options.auth String Access Token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

provisionDevice

src/Particle.js:643-651

Provision a new device for products that allow self-provisioning

Parameters

  • options Object Options for this API call
    • options.productId String Product ID where to create this device
    • options.auth String Access Token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

getClaimCode

src/Particle.js:665-668

Generate a claim code to use in the device claiming process. To generate a claim code for a product, the access token MUST belong to a customer of the product.

Parameters

  • options Object Options for this API call
    • options.iccid String? ICCID of the SIM card used in the Electron
    • options.product String? Device in this product ID or slug
    • options.auth String Access Token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

getVariable

src/Particle.js:700-706

Get the value of a device variable

Parameters

  • options Object Options for this API call
    • options.deviceId String Device ID or Name
    • options.name String Variable name
    • options.product String? Device in this product ID or slug
    • options.auth String Access Token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

flashDevice

src/Particle.js:720-731

Compile and flash application firmware to a device. Pass a pre-compiled binary to flash it directly to the device.

Parameters

  • options Object Options for this API call
    • options.deviceId String Device ID or Name
    • options.product String Flash device in this product ID or slug
    • options.files Object Object containing files to be compiled and flashed. Keys should be the filenames, including relative path, and the values should be a path or Buffer of the file contents in Node, or a File or Blob in the browser.
    • options.targetVersion String System firmware version to compile against (optional, default latest)
    • options.auth String Access Token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

flashTinker

src/Particle.js:742-755

DEPRECATED: Flash the Tinker application to a device. Instead compile and flash the Tinker source code.

Parameters

  • options Object Options for this API call
    • options.deviceId String Device ID or Name
    • options.auth String Access Token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

compileCode

src/Particle.js:768-786

Compile firmware using the Particle Cloud

Parameters

  • options Object Options for this API call
    • options.files Object Object containing files to be compiled. Keys should be the filenames, including relative path, and the values should be a path or Buffer of the file contents in Node, or a File or Blob in the browser.
    • options.platformId Number? Platform id number of the device you are compiling for. Common values are 0=Core, 6=Photon, 10=Electron.
    • options.targetVersion String System firmware version to compile against (optional, default latest)
    • options.auth String Access Token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

downloadFirmwareBinary

src/Particle.js:797-808

Download a firmware binary

Parameters

  • options Object Options for this API call
    • options.binaryId String Binary ID received from a successful compile call
    • options.auth String Access Token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

sendPublicKey

src/Particle.js:821-835

Send a new device public key to the Particle Cloud

Parameters

  • options Object Options for this API call
    • options.deviceId String Device ID or Name
    • options.key (String | Buffer) Public key contents
    • options.algorithm String Algorithm used to generate the public key. Valid values are rsa or ecc. (optional, default rsa)
    • options.auth String Access Token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

callFunction

src/Particle.js:849-854

Call a device function

Parameters

  • options Object Options for this API call
    • options.deviceId String Device ID or Name
    • options.name String Function name
    • options.argument String Function argument
    • options.product String? Device in this product ID or slug
    • options.auth String Access Token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

getEventStream

src/Particle.js:867-891

Get a stream of events

Parameters

  • options Object Options for this API call
    • options.deviceId String? Device ID or Name, or mine to indicate only your devices.
    • options.name String? Event Name
    • options.org String? Organization Slug
    • options.product String? Events for this product ID or slug
    • options.auth String Access Token

Returns Promise If the promise resolves, the resolution value will be an EventStream object that will emit 'event' events.

publishEvent

src/Particle.js:905-909

Publish a event to the Particle Cloud

Parameters

  • options Object Options for this API call
    • options.name String Event name
    • options.data String Event data
    • options.isPrivate Boolean Should the event be publicly available?
    • options.product String? Event for this product ID or slug
    • options.auth String Access Token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

createWebhook

src/Particle.js:936-958

Create a webhook

Parameters

  • options Object Options for this API call
    • options.event String The name of the Particle event that should trigger the Webhook
    • options.url String The web address that will be targeted when the Webhook is triggered
    • options.device String? Trigger Webhook only for this device ID or Name
    • options.rejectUnauthorized Boolean? Set to false to skip SSL certificate validation of the target URL
    • options.noDefaults Boolean? Don't include default event data in the webhook request
    • options.hook Object? Webhook configuration settings
      • options.hook.method String Type of web request triggered by the Webhook (GET, POST, PUT, or DELETE) (optional, default POST)
      • options.hook.auth Object? Auth data like { username: 'me', password: '1234' } to send via basic auth header with the Webhook request
      • options.hook.headers Object? Additional headers to add to the Webhook like { 'X-ONE': '1', X-TWO: '2' }
      • options.hook.query Object? Query params to add to the Webhook request like { foo: 'foo', bar: 'bar' }
      • options.hook.json Object? JSON data to send with the Webhook request - sets Content-Type to application/json
      • options.hook.form Object? Form data to send with the Webhook request - sets Content-Type to application/x-www-form-urlencoded
      • options.hook.body String? Custom body to send with the Webhook request
      • options.hook.responseTemplate Object? Template to use to customize the Webhook response body
      • options.hook.responseEvent Object? The Webhook response event name that your devices can subscribe to
      • options.hook.errorResponseEvent Object? The Webhook error response event name that your devices can subscribe to
    • options.product String? Webhook for this product ID or slug
    • options.auth String Access Token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

deleteWebhook

src/Particle.js:970-973

Delete a webhook

Parameters

  • options Object Options for this API call
    • options.hookId String Webhook ID
    • options.product String? Webhook for this product ID or slug
    • options.auth String Access Token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

listWebhooks

src/Particle.js:984-987

List all webhooks owned by the account or product

Parameters

  • options Object Options for this API call
    • options.product String? Webhooks for this product ID or slug
    • options.auth String Access Token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

createIntegration

src/Particle.js:1004-1008

Create an integration to send events to an external service

See the API docs for details https://docs.particle.io/reference/api/#integrations-webhooks-

Parameters

  • options Object Options for this API call
    • options.event String Event that triggers the integration
    • options.settings Object Settings specific to that integration type
    • options.deviceId String? Trigger integration only for this device ID or Name
    • options.product String? Integration for this product ID or slug
    • options.auth String Access Token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

editIntegration

src/Particle.js:1026-1030

Edit an integration to send events to an external service

See the API docs for details https://docs.particle.io/reference/api/#integrations-webhooks-

Parameters

  • options Object Options for this API call
    • options.integrationId String The integration to edit
    • options.event String? Change the event that triggers the integration
    • options.settings Object? Change the settings specific to that integration type
    • options.deviceId String? Trigger integration only for this device ID or Name
    • options.product String? Integration for this product ID or slug
    • options.auth String Access Token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

deleteIntegration

src/Particle.js:1043-1046

Delete an integration to send events to an external service

Parameters

  • options Object Options for this API call
    • options.integrationId String The integration to remove
    • options.product String? Integration for this product ID or slug
    • options.auth String Access Token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

listIntegrations

src/Particle.js:1057-1060

List all integrations owned by the account or product

Parameters

  • options Object Options for this API call
    • options.product String? Integrations for this product ID or slug
    • options.auth String Access Token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

getUserInfo

src/Particle.js:1070-1072

Get details about the current user

Parameters

  • options Object Options for this API call
    • options.auth String Access Token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

setUserInfo

src/Particle.js:1083-1086

Set details on the current user

Parameters

  • options Object Options for this API call
    • options.accountInfo String Set user's extended info fields (name, business account, company name, etc)
    • options.auth String Access Token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

changeUsername

src/Particle.js:1099-1107

Change username (i.e, email)

Parameters

  • options Object Options for this API call
    • options.currentPassword String Current password
    • options.username String New email
    • options.invalidateTokens Boolean Should all tokens be invalidated (optional, default false)
    • options.auth String Access Token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

changeUserPassword

src/Particle.js:1120-1128

Change user's password

Parameters

  • options Object Options for this API call
    • options.currentPassword String Current password
    • options.password String New password
    • options.invalidateTokens Boolean Should all tokens be invalidated (optional, default false)
    • options.auth String Access Token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

listSIMs

src/Particle.js:1144-1148

List SIM cards owned by a user or product

Parameters

  • options Object Options for this API call
    • options.iccid String? (Product only) Filter to SIM cards matching this ICCID
    • options.deviceId String? (Product only) Filter to SIM cards matching this device ID
    • options.deviceName String? (Product only) Filter to SIM cards matching this device name
    • options.page Number? (Product only) Current page of results
    • options.perPage Number? (Product only) Records per page
    • options.product String? SIM cards for this product ID or slug
    • options.auth String Access Token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

getSIMDataUsage

src/Particle.js:1160-1166

Get data usage for one SIM card for the current billing period

Parameters

  • options Object Options for this API call
    • options.iccid String ICCID of the SIM card
    • options.product String? SIM card for this product ID or slug
    • options.auth String Access Token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

getFleetDataUsage

src/Particle.js:1177-1184

Get data usage for all SIM cards in a product the current billing period

Parameters

  • options Object Options for this API call
    • options.product String SIM cards for this product ID or slug
    • options.auth String Access Token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

checkSIM

src/Particle.js:1195-1197

Check SIM status

Parameters

  • options Object Options for this API call
    • options.iccid String ICCID of the SIM card
    • options.auth String Access Token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

activateSIM

src/Particle.js:1211-1221

Activate and add SIM cards to an account or product

Parameters

  • options Object Options for this API call
    • options.iccid String ICCID of the SIM card
    • options.iccids Array<String> (Product only) ICCID of multiple SIM cards to import
    • options.country String The ISO country code for the SIM cards
    • options.product String? SIM cards for this product ID or slug
    • options.auth String Access Token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context
    • options.promoCode

Returns Promise A promise

deactivateSIM

src/Particle.js:1233-1237

Deactivate a SIM card so it doesn't incur data usage in future months.

Parameters

  • options Object Options for this API call
    • options.iccid String ICCID of the SIM card
    • options.product String? SIM cards for this product ID or slug
    • options.auth String Access Token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

reactivateSIM

src/Particle.js:1250-1254

Reactivate a SIM card the was deactivated or unpause a SIM card that was automatically paused

Parameters

  • options Object Options for this API call
    • options.iccid String ICCID of the SIM card
    • options.mbLimit Number? New monthly data limit. Necessary if unpausing a SIM card
    • options.product String? SIM cards for this product ID or slug
    • options.auth String Access Token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

updateSIM

src/Particle.js:1267-1271

Update SIM card data limit

Parameters

  • options Object Options for this API call
    • options.iccid String ICCID of the SIM card
    • options.mbLimit Array Data limit in megabyte for the SIM card
    • options.product String? SIM cards for this product ID or slug
    • options.auth String Access Token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

removeSIM

src/Particle.js:1283-1286

Remove a SIM card from an account so it can be activated by a different account

Parameters

  • options Object Options for this API call
    • options.iccid String ICCID of the SIM card
    • options.product String? SIM cards for this product ID or slug
    • options.auth String Access Token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

listBuildTargets

src/Particle.js:1297-1300

List valid build targets to be used for compiling

Parameters

  • options Object Options for this API call
    • options.onlyFeatured Boolean Only list featured build targets (optional, default false)
    • options.auth String Access Token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

listLibraries

src/Particle.js:1326-1343

List firmware libraries

Parameters

  • options Object Options for this API call
    • options.page Number Page index (default, first page)
    • options.limit Number Number of items per page
    • options.filter String Search term for the libraries
    • options.sort String Ordering key for the library list
    • options.architectures Array<String> List of architectures to filter
    • options.category String Category to filter
    • options.scope String The library scope to list. Default is 'all'. Other values are- 'all' - list public libraries and my private libraries
      • 'public' - list only public libraries
      • 'private' - list only my private libraries
      • 'mine' - list my libraries (public and private)
      • 'official' - list only official libraries
      • 'verified' - list only verified libraries
      • 'featured' - list only featured libraries
    • options.excludeScopes String list of scopes to exclude
    • options.auth String Access Token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

getLibrary

src/Particle.js:1359-1367

Get firmware library details

Parameters

  • options Object Options for this API call
    • options.name String Name of the library to fetch
    • options.version String Version of the library to fetch (default: latest)
    • options.auth String Access Token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

getLibraryVersions

src/Particle.js:1380-1388

Firmware library details for each version

Parameters

  • options Object Options for this API call
    • options.name String Name of the library to fetch
    • options.page Number Page index (default, first page)
    • options.limit Number Number of items per page
    • options.auth String Access Token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

contributeLibrary

src/Particle.js:1400-1413

Contribute a new library version from a compressed archive

Parameters

  • options Object Options for this API call
    • options.archive String Compressed archive file containing the library sources
                                     Either a path or Buffer of the file contents in Node, or a File or Blob in the browser.
      
    • options.auth String Access Token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

publishLibrary

src/Particle.js:1424-1433

Publish the latest version of a library to the public

Parameters

  • options Object Options for this API call
    • options.name String Name of the library to publish
    • options.auth String Access Token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

deleteLibrary

src/Particle.js:1445-1453

Delete one version of a library or an entire private library

Parameters

  • options Object Options for this API call
    • options.name String Name of the library to remove
    • options.force String Key to force deleting a public library
    • options.auth String Access Token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

downloadFile

src/Particle.js:1463-1466

Download an external file that may not be on the API

Parameters

  • options Object Options for this API call
    • options.uri String URL of the file.
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise Resolves to a buffer with the file data

listOAuthClients

src/Particle.js:1477-1480

List OAuth client created by the account

Parameters

  • options Object Options for this API call
    • options.product String? List clients for this product ID or slug
    • options.auth String Access Token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

createOAuthClient

src/Particle.js:1495-1499

Create an OAuth client

Parameters

  • options Object Options for this API call
    • options.name String Name of the OAuth client
    • options.type String web, installed or web
    • options.redirect_uri String? URL to redirect after OAuth flow. Only for type web.
    • options.scope Object? Limits what the access tokens created by this client can do.
    • options.product String? Create client for this product ID or slug
    • options.auth String Access Token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

updateOAuthClient

src/Particle.js:1513-1517

Update an OAuth client

Parameters

  • options Object Options for this API call
    • options.clientId String The OAuth client to update
    • options.name String? New Name of the OAuth client
    • options.scope Object? New scope of the OAuth client
    • options.product String? Update client linked to this product ID or slug
    • options.auth String Access Token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

deleteOAuthClient

src/Particle.js:1529-1532

Delete an OAuth client

Parameters

  • options Object Options for this API call
    • options.clientId String The OAuth client to update
    • options.product String? OAuth client linked to this product ID or slug
    • options.auth String Access Token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

listProducts

src/Particle.js:1542-1544

List products the account has access to

Parameters

  • options Object Options for this API call
    • options.auth String Access Token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

getProduct

src/Particle.js:1555-1557

Get detailed information about a product

Parameters

  • options Object Options for this API call
    • options.product String Product ID or slug
    • options.auth String Access token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

listProductFirmware

src/Particle.js:1568-1570

List product firmware versions

Parameters

  • options Object Options for this API call
    • options.product String Firmware for this product ID or slug
    • options.auth String Access Token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

uploadProductFirmware

src/Particle.js:1586-1602

List product firmware versions

Parameters

  • options Object Options for this API call
    • options.file Object Path or Buffer of the new firmware file
                                         Either a path or Buffer of the file contents in Node, or a File or Blob in the browser.
      
    • options.version Number Version number of new firmware
    • options.title String Short identifier for the new firmware
    • options.description String? Longer description for the new firmware
    • options.product String Firmware for this product ID or slug
    • options.auth String Access Token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

getProductFirmware

src/Particle.js:1614-1621

Get information about a product firmware version

Parameters

  • options Object Options for this API call
    • options.version Number Version number of firmware
    • options.product String Firmware for this product ID or slug
    • options.auth String Access token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

updateProductFirmware

src/Particle.js:1635-1638

Update information for a product firmware version

Parameters

  • options Object Options for this API call
    • options.version Number Version number of new firmware
    • options.title String? New title
    • options.description String? New description
    • options.product String Firmware for this product ID or slug
    • options.auth String Access Token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

downloadProductFirmware

src/Particle.js:1650-1661

Download a product firmware binary

Parameters

  • options Object Options for this API call
    • options.version Number Version number of new firmware
    • options.product String Firmware for this product ID or slug
    • options.auth String Access Token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

releaseProductFirmware

src/Particle.js:1685-1688

Release a product firmware version as the default version

Parameters

  • options Object Options for this API call
    • options.version Number Version number of new firmware
    • options.product String Firmware for this product ID or slug
    • options.auth String Access Token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

listTeamMembers

src/Particle.js:1699-1706

List product team members

Parameters

  • options Object Options for this API call
    • options.product String Team for this product ID or slug
    • options.auth String Access Token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

inviteTeamMember

src/Particle.js:1718-1726

Invite Particle user to a product team

Parameters

  • options Object Options for this API call
    • options.username String Username for the Particle account
    • options.product String Team for this product ID or slug
    • options.auth String Access Token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

removeTeamMember

src/Particle.js:1738-1745

Remove Particle user to a product team

Parameters

  • options Object Options for this API call
    • options.username String Username for the Particle account
    • options.product String Team for this product ID or slug
    • options.auth String Access Token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

lookupSerialNumber

src/Particle.js:1756-1763

Fetch details about a serial number

Parameters

  • options Object Options for this API call
    • options.serialNumber String The serial number printed on the barcode of the device packaging
    • options.auth String Access Token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

createMeshNetwork

src/Particle.js:1776-1784

Create a mesh network

Parameters

  • options Object Options for this API call
    • options.name String Network name
    • options.deviceId String Gateway device ID
    • options.iccid String? ICCID of the active SIM card (only for cellular gateway devices)
    • options.auth String Access token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise<Object> A promise

removeMeshNetwork

src/Particle.js:1795-1797

Remove a mesh network.

Parameters

  • options Object Options for this API call
    • options.networkId String Network ID or name
    • options.auth String Access token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise<Object> A promise

listMeshNetworks

src/Particle.js:1809-1812

List all mesh networks

Parameters

  • options Object Options for this API call
    • options.page Number? Current page of results
    • options.perPage Number? Records per page
    • options.auth String Access token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise<Object> A promise

getMeshNetwork

src/Particle.js:1823-1825

Get information about a mesh network.

Parameters

  • options Object Options for this API call
    • options.networkId String Network ID or name
    • options.auth String Access token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise<Object> A promise

updateMeshNetwork

src/Particle.js:1838-1846

Modify a mesh network.

Parameters

  • options Object Options for this API call
    • options.networkId String Network ID or name
    • options.action String 'add-device', 'remove-device', 'gateway-enable' or 'gateway-disable'
    • options.deviceId String Device ID
    • options.auth String Access token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise<Object> A promise

addMeshNetworkDevice

src/Particle.js:1858-1867

Add a device to a mesh network.

Parameters

  • options Object Options for this API call
    • options.networkId String Network ID or name
    • options.deviceId String Device ID
    • options.auth String Access token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise<Object> A promise

removeMeshNetworkDevice

src/Particle.js:1879-1895

Remove a device from a mesh network.

Parameters

  • options Object Options for this API call
    • options.networkId String? Network ID or name
    • options.deviceId String Device ID
    • options.auth String Access token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise<Object> A promise

listMeshNetworkDevices

src/Particle.js:1909-1918

List all devices of a mesh network.

Parameters

  • options Object Options for this API call
    • options.networkId String Network ID or name
    • options.role Number? Device role: 'gateway' or 'node'
    • options.page Number? Current page of results
    • options.perPage Number? Records per page
    • options.auth String Access token
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise<Object> A promise

getProductConfiguration

src/Particle.js:1929-1936

Get product configuration

Parameters

  • options Object Options for this API call
    • options.auth String Access Token
    • options.product String Config for this product ID or slug
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

getProductConfigurationSchema

src/Particle.js:1947-1955

Get product configuration schema

Parameters

  • options Object Options for this API call
    • options.auth String Access Token
    • options.product String Config for this product ID or slug
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers. (optional, default {})
    • options.context Object? Request context

Returns Promise A promise

getProductDeviceConfiguration

src/Particle.js:1967-1974

Get product device's configuration

Parameters

  • options Object Options for this API call
    • options.auth String Access Token
    • options.product String Config for this product ID or slug
    • options.deviceId String Device ID to access
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

getProductDeviceConfigurationSchema

src/Particle.js:1986-1994

Get product device's configuration schema

Parameters

  • options Object Options for this API call
    • options.auth String Access Token
    • options.product String Config for this product ID or slug
    • options.deviceId String Device ID to access
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

setProductConfiguration

src/Particle.js:2006-2014

Set product configuration

Parameters

  • options Object Options for this API call
    • options.auth String Access Token
    • options.product String Config for this product ID or slug
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context
    • options.config

Returns Promise A promise

setProductDeviceConfiguration

src/Particle.js:2027-2035

Set product configuration for a specific device within the product

Parameters

  • options Object Options for this API call
    • options.auth String Access Token
    • options.product String Config for this product ID or slug
    • options.deviceId String Device ID to access
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context
    • options.config

Returns Promise A promise

getProductLocations

src/Particle.js:2054-2071

Query location for devices within a product

Parameters

  • options Object Options for this API call
    • options.auth String Access Token
    • options.product String Locations for this product ID or slug
    • options.dateRange String Start and end date in ISO8601 format, separated by comma, to query
    • options.rectBl String Bottom left of the rectangular bounding box to query. Latitude and longitude separated by comma
    • options.rectTr String Top right of the rectangular bounding box to query. Latitude and longitude separated by comma
    • options.deviceId String Device ID prefix to include in the query
    • options.deviceName String Device name prefix to include in the query
    • options.groups String Array of group names to include in the query
    • options.page String Page of results to display. Defaults to 1
    • options.perPage String Number of results per page. Defaults to 20. Maximum of 100
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise

getProductDeviceLocations

src/Particle.js:2088-2100

Query location for one device within a product

Parameters

  • options Object Options for this API call
    • options.auth String Access Token
    • options.product String Locations for this product ID or slug
    • options.dateRange String Start and end date in ISO8601 format, separated by comma, to query
    • options.rectBl String Bottom left of the rectangular bounding box to query. Latitude and longitude separated by comma
    • options.rectTr String Top right of the rectangular bounding box to query. Latitude and longitude separated by comma
    • options.deviceId String Device ID to query
    • options.headers Object? Key/Value pairs like { 'X-FOO': 'foo', X-BAR: 'bar' } to send as headers.
    • options.context Object? Request context

Returns Promise A promise