particle-api-js
Version:
Particle API Client
697 lines (495 loc) • 213 kB
Markdown
<!-- Generated by documentation.js. Update this documentation by updating the source code. -->
### Table of Contents
- [Particle](#particle)
- [constructor](#constructor)
- [ToolContext](#toolcontext)
- [ProjectContext](#projectcontext)
- [setContext](#setcontext)
- [login](#login)
- [sendOtp](#sendotp)
- [enableMfa](#enablemfa)
- [confirmMfa](#confirmmfa)
- [disableMfa](#disablemfa)
- [createCustomer](#createcustomer)
- [loginAsClientOwner](#loginasclientowner)
- [createUser](#createuser)
- [verifyUser](#verifyuser)
- [resetPassword](#resetpassword)
- [deleteAccessToken](#deleteaccesstoken)
- [deleteCurrentAccessToken](#deletecurrentaccesstoken)
- [deleteActiveAccessTokens](#deleteactiveaccesstokens)
- [deleteUser](#deleteuser)
- [trackingIdentity](#trackingidentity)
- [listDevices](#listdevices)
- [getDevice](#getdevice)
- [claimDevice](#claimdevice)
- [addDeviceToProduct](#adddevicetoproduct)
- [removeDevice](#removedevice)
- [removeDeviceOwner](#removedeviceowner)
- [renameDevice](#renamedevice)
- [signalDevice](#signaldevice)
- [setDeviceNotes](#setdevicenotes)
- [markAsDevelopmentDevice](#markasdevelopmentdevice)
- [lockDeviceProductFirmware](#lockdeviceproductfirmware)
- [unlockDeviceProductFirmware](#unlockdeviceproductfirmware)
- [updateDevice](#updatedevice)
- [unprotectDevice](#unprotectdevice)
- [provisionDevice](#provisiondevice)
- [getClaimCode](#getclaimcode)
- [getVariable](#getvariable)
- [flashDevice](#flashdevice)
- [flashTinker](#flashtinker)
- [compileCode](#compilecode)
- [downloadFirmwareBinary](#downloadfirmwarebinary)
- [sendPublicKey](#sendpublickey)
- [callFunction](#callfunction)
- [getEventStream](#geteventstream)
- [publishEvent](#publishevent)
- [Hook](#hook)
- [createWebhook](#createwebhook)
- [deleteWebhook](#deletewebhook)
- [listWebhooks](#listwebhooks)
- [createIntegration](#createintegration)
- [editIntegration](#editintegration)
- [deleteIntegration](#deleteintegration)
- [listIntegrations](#listintegrations)
- [getUserInfo](#getuserinfo)
- [setUserInfo](#setuserinfo)
- [changeUsername](#changeusername)
- [changeUserPassword](#changeuserpassword)
- [listSIMs](#listsims)
- [getSIMDataUsage](#getsimdatausage)
- [getFleetDataUsage](#getfleetdatausage)
- [checkSIM](#checksim)
- [activateSIM](#activatesim)
- [deactivateSIM](#deactivatesim)
- [reactivateSIM](#reactivatesim)
- [updateSIM](#updatesim)
- [removeSIM](#removesim)
- [listBuildTargets](#listbuildtargets)
- [listLibraries](#listlibraries)
- [getLibrary](#getlibrary)
- [getLibraryVersions](#getlibraryversions)
- [contributeLibrary](#contributelibrary)
- [publishLibrary](#publishlibrary)
- [deleteLibrary](#deletelibrary)
- [downloadFile](#downloadfile)
- [listOAuthClients](#listoauthclients)
- [createOAuthClient](#createoauthclient)
- [updateOAuthClient](#updateoauthclient)
- [deleteOAuthClient](#deleteoauthclient)
- [listProducts](#listproducts)
- [getProduct](#getproduct)
- [listProductFirmware](#listproductfirmware)
- [uploadProductFirmware](#uploadproductfirmware)
- [getProductFirmware](#getproductfirmware)
- [updateProductFirmware](#updateproductfirmware)
- [downloadProductFirmware](#downloadproductfirmware)
- [releaseProductFirmware](#releaseproductfirmware)
- [listTeamMembers](#listteammembers)
- [inviteTeamMember](#inviteteammember)
- [removeTeamMember](#removeteammember)
- [lookupSerialNumber](#lookupserialnumber)
- [createMeshNetwork](#createmeshnetwork)
- [removeMeshNetwork](#removemeshnetwork)
- [listMeshNetworks](#listmeshnetworks)
- [getMeshNetwork](#getmeshnetwork)
- [updateMeshNetwork](#updatemeshnetwork)
- [addMeshNetworkDevice](#addmeshnetworkdevice)
- [removeMeshNetworkDevice](#removemeshnetworkdevice)
- [listMeshNetworkDevices](#listmeshnetworkdevices)
- [getProductConfiguration](#getproductconfiguration)
- [getProductConfigurationSchema](#getproductconfigurationschema)
- [getProductDeviceConfiguration](#getproductdeviceconfiguration)
- [getProductDeviceConfigurationSchema](#getproductdeviceconfigurationschema)
- [setProductConfiguration](#setproductconfiguration)
- [setProductDeviceConfiguration](#setproductdeviceconfiguration)
- [getProductLocations](#getproductlocations)
- [getProductDeviceLocations](#getproductdevicelocations)
- [executeLogic](#executelogic)
- [createLogicFunction](#createlogicfunction)
- [getLogicFunction](#getlogicfunction)
- [updateLogicFunction](#updatelogicfunction)
- [deleteLogicFunction](#deletelogicfunction)
- [listLogicFunctions](#listlogicfunctions)
- [listLogicRuns](#listlogicruns)
- [getLogicRun](#getlogicrun)
- [getLogicRunLogs](#getlogicrunlogs)
- [createLedger](#createledger)
- [getLedger](#getledger)
- [updateLedger](#updateledger)
- [archiveLedger](#archiveledger)
- [Scope](#scope)
- [listLedgers](#listledgers)
- [getLedgerInstance](#getledgerinstance)
- [SetMode](#setmode)
- [setLedgerInstance](#setledgerinstance)
- [deleteLedgerInstance](#deleteledgerinstance)
- [listLedgerInstances](#listledgerinstances)
- [listLedgerInstanceVersions](#listledgerinstanceversions)
- [getLedgerInstanceVersion](#getledgerinstanceversion)
- [listDeviceOsVersions](#listdeviceosversions)
- [getDeviceOsVersion](#getdeviceosversion)
- [setDefaultAuth](#setdefaultauth)
- [get](#get)
- [head](#head)
- [post](#post)
- [put](#put)
- [delete](#delete)
- [request](#request)
## Particle
[src/Particle.js:19-2846](https://github.com/particle-iot/particle-api-js/blob/25c8d3c14a54e31e935b1fe65bdaf0b1a191911b/src/Particle.js#L19-L2846 "Source code on GitHub")
Particle Cloud API wrapper.
See <https://docs.particle.io/reference/javascript/> for examples
of using the `Particle` class.
Most Particle methods take a single unnamed argument object documented as
`options` with key/value pairs for each option.
**Parameters**
- `options` (optional, default `{}`)
### constructor
[src/Particle.js:32-42](https://github.com/particle-iot/particle-api-js/blob/25c8d3c14a54e31e935b1fe65bdaf0b1a191911b/src/Particle.js#L32-L42 "Source code on GitHub")
Contructor for the Cloud API wrapper.
Create a new Particle object and call methods below on it.
**Parameters**
- `options` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)** Options for this API call Options to be used for all requests (see [Defaults](../src/Defaults.js)) (optional, default `{}`)
- `options.baseUrl` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)?**
- `options.clientSecret` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)?**
- `options.clientId` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)?**
- `options.tokenDuration` **[number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)?**
- `options.auth` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)?** The access token. If not specified here, will have to be added to every request
### ToolContext
[src/Particle.js:67-75](https://github.com/particle-iot/particle-api-js/blob/25c8d3c14a54e31e935b1fe65bdaf0b1a191911b/src/Particle.js#L67-L75 "Source code on GitHub")
Type: [Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)
**Parameters**
- `name`
- `context`
**Properties**
- `name` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)**
- `version` **([string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String) \| [number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number))?**
- `components` **[Array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array)<Omit<ToolContext, `"components"`>>?**
### ProjectContext
[src/Particle.js:67-75](https://github.com/particle-iot/particle-api-js/blob/25c8d3c14a54e31e935b1fe65bdaf0b1a191911b/src/Particle.js#L67-L75 "Source code on GitHub")
Type: Record<[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String), ([string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String) \| [number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number))>
**Parameters**
- `name`
- `context`
**Properties**
- `name` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)**
### setContext
[src/Particle.js:67-75](https://github.com/particle-iot/particle-api-js/blob/25c8d3c14a54e31e935b1fe65bdaf0b1a191911b/src/Particle.js#L67-L75 "Source code on GitHub")
Allows setting a tool or project context which will be sent as headers with every request.
Tool- x-particle-tool
Project- x-particle-project
**Parameters**
- `name` **(`"tool"` \| `"project"`)**
- `context` **(ToolContext | ProjectContext | [undefined](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/undefined))**
### login
[src/Particle.js:98-115](https://github.com/particle-iot/particle-api-js/blob/25c8d3c14a54e31e935b1fe65bdaf0b1a191911b/src/Particle.js#L98-L115 "Source code on GitHub")
Login to Particle Cloud using an existing Particle acccount.
**Parameters**
- `options` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)** Options for this API call
- `options.username` **[String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** Username for the Particle account
- `options.password` **[String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** Password for the Particle account
- `options.tokenDuration` **[Number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)** How long the access token should last in seconds (optional, default `this.tokenDuration`)
- `options.headers` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)?** Key/Value pairs like `{ 'X-FOO': 'foo', X-BAR: 'bar' }` to send as headers.
- `options.context` **[Number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)?** Request context
Returns **[Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)** A promise
### sendOtp
[src/Particle.js:126-142](https://github.com/particle-iot/particle-api-js/blob/25c8d3c14a54e31e935b1fe65bdaf0b1a191911b/src/Particle.js#L126-L142 "Source code on GitHub")
If login failed with an 'mfa_required' error, this must be called with a valid OTP code to login
**Parameters**
- `options` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)** Options for this API call
- `options.mfaToken` **[String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** Given as 'mfa_token' in the error body of `.login()`.
- `options.otp` **[String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** Current one-time-password generated from the authentication application
- `options.headers` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)?** Key/Value pairs like `{ 'X-FOO': 'foo', X-BAR: 'bar' }` to send as headers.
- `options.context` **[Number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)?** Request context
Returns **[Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)** A promise
### enableMfa
[src/Particle.js:152-154](https://github.com/particle-iot/particle-api-js/blob/25c8d3c14a54e31e935b1fe65bdaf0b1a191911b/src/Particle.js#L152-L154 "Source code on GitHub")
Enable MFA on the currently logged in user
**Parameters**
- `options` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)** Options for this API call
- `options.auth` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)?** The access token. Can be ignored if provided in constructor
- `options.headers` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)?** Key/Value pairs like `{ 'X-FOO': 'foo', X-BAR: 'bar' }` to send as headers.
- `options.context` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)?** Request context
Returns **[Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)** A promise
### confirmMfa
[src/Particle.js:167-181](https://github.com/particle-iot/particle-api-js/blob/25c8d3c14a54e31e935b1fe65bdaf0b1a191911b/src/Particle.js#L167-L181 "Source code on GitHub")
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](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)** Options for this API call
- `options.mfaToken` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)** Token given from previous step to
- `options.otp` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)** Current one-time-password generated from the authentication app
- `options.invalidateTokens` **[Boolean](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** Should all tokens be invalidated (optional, default `false`)
- `options.auth` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)?** The access token. Can be ignored if provided in constructor
- `options.headers` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)?** Key/Value pairs like `{ 'X-FOO': 'foo', X-BAR: 'bar' }` to send as headers.
- `options.context` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)?** Request context
Returns **[Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)** A promise
### disableMfa
[src/Particle.js:192-200](https://github.com/particle-iot/particle-api-js/blob/25c8d3c14a54e31e935b1fe65bdaf0b1a191911b/src/Particle.js#L192-L200 "Source code on GitHub")
Disable MFA for the user.
**Parameters**
- `options` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)** Options for this API call
- `options.currentPassword` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)** User's current password
- `options.auth` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)?** The access token. Can be ignored if provided in constructor
- `options.headers` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)?** Key/Value pairs like `{ 'X-FOO': 'foo', X-BAR: 'bar' }` to send as headers.
- `options.context` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)?** Request context
Returns **[Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)** A promise
### createCustomer
[src/Particle.js:212-228](https://github.com/particle-iot/particle-api-js/blob/25c8d3c14a54e31e935b1fe65bdaf0b1a191911b/src/Particle.js#L212-L228 "Source code on GitHub")
Create Customer for Product.
**Parameters**
- `options` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)** Options for this API call
- `options.email` **[String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** Username for the Particle account
- `options.password` **[String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** Password for the Particle account
- `options.product` **[String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** Create the customer in this product ID or slug
- `options.headers` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)?** Key/Value pairs like `{ 'X-FOO': 'foo', X-BAR: 'bar' }` to send as headers.
- `options.context` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)?** Request context
Returns **[Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)** A promise
### loginAsClientOwner
[src/Particle.js:237-251](https://github.com/particle-iot/particle-api-js/blob/25c8d3c14a54e31e935b1fe65bdaf0b1a191911b/src/Particle.js#L237-L251 "Source code on GitHub")
Login to Particle Cloud using an OAuth client.
**Parameters**
- `options` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)** Options for this API call
- `options.headers` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)?** Key/Value pairs like `{ 'X-FOO': 'foo', X-BAR: 'bar' }` to send as headers.
- `options.context` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)?** Request context
Returns **[Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)** A promise
### createUser
[src/Particle.js:264-276](https://github.com/particle-iot/particle-api-js/blob/25c8d3c14a54e31e935b1fe65bdaf0b1a191911b/src/Particle.js#L264-L276 "Source code on GitHub")
Create a user account for the Particle Cloud
**Parameters**
- `options` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)** Options for this API call
- `options.username` **[String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** Email of the new user
- `options.password` **[String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** Password
- `options.accountInfo` **[String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** Object that contains account information fields such as user real name, company name, business account flag etc
- `options.utm` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)?** Object that contains info about the campaign that lead to this user creation
- `options.headers` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)?** Key/Value pairs like `{ 'X-FOO': 'foo', X-BAR: 'bar' }` to send as headers.
- `options.context` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)?** Request context
Returns **[Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)** A promise
### verifyUser
[src/Particle.js:286-293](https://github.com/particle-iot/particle-api-js/blob/25c8d3c14a54e31e935b1fe65bdaf0b1a191911b/src/Particle.js#L286-L293 "Source code on GitHub")
Verify new user account via verification email
**Parameters**
- `options` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)** Options for this API call
- `options.token` **[String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** The string token sent in the verification email
- `options.headers` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)?** Key/Value pairs like `{ 'X-FOO': 'foo', X-BAR: 'bar' }` to send as headers.
- `options.context` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)?** Request context
Returns **[Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)** A promise
### resetPassword
[src/Particle.js:303-310](https://github.com/particle-iot/particle-api-js/blob/25c8d3c14a54e31e935b1fe65bdaf0b1a191911b/src/Particle.js#L303-L310 "Source code on GitHub")
Send reset password email for a Particle Cloud user account
**Parameters**
- `options` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)** Options for this API call
- `options.username` **[String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** Email of the user
- `options.headers` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)?** Key/Value pairs like `{ 'X-FOO': 'foo', X-BAR: 'bar' }` to send as headers.
- `options.context` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)?** Request context
Returns **[Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)** A promise
### deleteAccessToken
[src/Particle.js:320-326](https://github.com/particle-iot/particle-api-js/blob/25c8d3c14a54e31e935b1fe65bdaf0b1a191911b/src/Particle.js#L320-L326 "Source code on GitHub")
Revoke an access token
**Parameters**
- `options` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)** Options for this API call
- `options.token` **[String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** Access token you wish to revoke
- `options.headers` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)?** Key/Value pairs like `{ 'X-FOO': 'foo', X-BAR: 'bar' }` to send as headers.
- `options.context` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)?** Request context
Returns **[Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)** A promise
### deleteCurrentAccessToken
[src/Particle.js:336-343](https://github.com/particle-iot/particle-api-js/blob/25c8d3c14a54e31e935b1fe65bdaf0b1a191911b/src/Particle.js#L336-L343 "Source code on GitHub")
Revoke the current session access token
**Parameters**
- `options` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)** Options for this API call
- `options.auth` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)?** The access token. Can be ignored if provided in constructor
- `options.headers` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)?** Key/Value pairs like `{ 'X-FOO': 'foo', X-BAR: 'bar' }` to send as headers.
- `options.context` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)?** Request context
Returns **[Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)** A promise
### deleteActiveAccessTokens
[src/Particle.js:353-360](https://github.com/particle-iot/particle-api-js/blob/25c8d3c14a54e31e935b1fe65bdaf0b1a191911b/src/Particle.js#L353-L360 "Source code on GitHub")
Revoke all active access tokens
**Parameters**
- `options` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)** Options for this API call
- `options.auth` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)?** The access token. Can be ignored if provided in constructor
- `options.headers` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)?** Key/Value pairs like `{ 'X-FOO': 'foo', X-BAR: 'bar' }` to send as headers.
- `options.context` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)?** Request context
Returns **[Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)** A promise
### deleteUser
[src/Particle.js:371-379](https://github.com/particle-iot/particle-api-js/blob/25c8d3c14a54e31e935b1fe65bdaf0b1a191911b/src/Particle.js#L371-L379 "Source code on GitHub")
Delete the current user
**Parameters**
- `options` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)** Options for this API call
- `options.auth` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)?** The access token. Can be ignored if provided in constructor
- `options.password` **[String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** Password
- `options.headers` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)?** Key/Value pairs like `{ 'X-FOO': 'foo', X-BAR: 'bar' }` to send as headers.
- `options.context` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)?** Request context
Returns **[Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)** A promise
### trackingIdentity
[src/Particle.js:391-399](https://github.com/particle-iot/particle-api-js/blob/25c8d3c14a54e31e935b1fe65bdaf0b1a191911b/src/Particle.js#L391-L399 "Source code on GitHub")
Retrieves the information that is used to identify the current login for tracking.
**Parameters**
- `options` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)?** Options for this API call (optional, default `{}`)
- `options.full` **[Boolean](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/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](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)?** The access token. Can be ignored if provided in constructor
- `options.headers` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)?** Key/Value pairs like `{ 'X-FOO': 'foo', X-BAR: 'bar' }` to send as headers.
- `options.context` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)?** Request context
Returns **[Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)<[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)>** Resolve the tracking identify of the current login
### listDevices
[src/Particle.js:417-436](https://github.com/particle-iot/particle-api-js/blob/25c8d3c14a54e31e935b1fe65bdaf0b1a191911b/src/Particle.js#L417-L436 "Source code on GitHub")
List devices claimed to the account or product
**Parameters**
- `options` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)** Options for this API call
- `options.deviceId` **[String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)?** (Product only) Filter results to devices with this ID (partial matching)
- `options.deviceName` **[String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)?** (Product only) Filter results to devices with this name (partial matching)
- `options.groups` **[Array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array)<[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)>?** (Product only) A list of full group names to filter results to devices belonging to these groups only.
- `options.sortAttr` **[String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)?** (Product only) The attribute by which to sort results. See API docs for options.
- `options.sortDir` **[String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)?** (Product only) The direction of sorting. See API docs for options.
- `options.page` **[Number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)?** (Product only) Current page of results
- `options.perPage` **[Number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)?** (Product only) Records per page
- `options.product` **[String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)?** List devices in this product ID or slug
- `options.auth` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)?** The access token. Can be ignored if provided in constructor
- `options.headers` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)?** Key/Value pairs like `{ 'X-FOO': 'foo', X-BAR: 'bar' }` to send as headers.
- `options.context` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)?** Request context
Returns **[Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)** A promise
### getDevice
[src/Particle.js:448-451](https://github.com/particle-iot/particle-api-js/blob/25c8d3c14a54e31e935b1fe65bdaf0b1a191911b/src/Particle.js#L448-L451 "Source code on GitHub")
Get detailed informationa about a device
**Parameters**
- `options` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)** Options for this API call
- `options.deviceId` **[String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** Device ID or Name
- `options.product` **[String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)?** Device in this product ID or slug
- `options.auth` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)?** The access token. Can be ignored if provided in constructor
- `options.headers` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)?** Key/Value pairs like `{ 'X-FOO': 'foo', X-BAR: 'bar' }` to send as headers.
- `options.context` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)?** Request context
Returns **[Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)** A promise
### claimDevice
[src/Particle.js:463-474](https://github.com/particle-iot/particle-api-js/blob/25c8d3c14a54e31e935b1fe65bdaf0b1a191911b/src/Particle.js#L463-L474 "Source code on GitHub")
Claim a device to the account. The device must be online and unclaimed.
**Parameters**
- `options` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)** Options for this API call
- `options.deviceId` **[String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** Device ID
- `options.requestTransfer` **[boolean](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** True to request the device be transfered from another user
- `options.auth` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)?** The access token. Can be ignored if provided in constructor
- `options.headers` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)?** Key/Value pairs like `{ 'X-FOO': 'foo', X-BAR: 'bar' }` to send as headers.
- `options.context` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)?** Request context
Returns **[Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)** A promise
### addDeviceToProduct
[src/Particle.js:488-506](https://github.com/particle-iot/particle-api-js/blob/25c8d3c14a54e31e935b1fe65bdaf0b1a191911b/src/Particle.js#L488-L506 "Source code on GitHub")
Add a device to a product or move device out of quarantine.
**Parameters**
- `options` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)** Options for this API call
- `options.deviceId` **[String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** Device ID
- `options.product` **[String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** Add to this product ID or slug
- `options.file` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/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](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)?** The access token. Can be ignored if provided in constructor
- `options.headers` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)?** Key/Value pairs like `{ 'X-FOO': 'foo', X-BAR: 'bar' }` to send as headers.
- `options.context` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)?** Request context
Returns **[Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)** A promise
### removeDevice
[src/Particle.js:519-523](https://github.com/particle-iot/particle-api-js/blob/25c8d3c14a54e31e935b1fe65bdaf0b1a191911b/src/Particle.js#L519-L523 "Source code on GitHub")
Unclaim / Remove a device from your account or product, or deny quarantine
**Parameters**
- `options` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)** Options for this API call
- `options.deviceId` **[String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** Device ID or Name
- `options.deny` **[Boolean](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean)?** (Product only) Deny this quarantined device, instead of removing an already approved device
- `options.product` **[String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** Remove from this product ID or slug
- `options.auth` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)?** The access token. Can be ignored if provided in constructor
- `options.headers` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)?** Key/Value pairs like `{ 'X-FOO': 'foo', X-BAR: 'bar' }` to send as headers.
- `options.context` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)?** Request context
Returns **[Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)** A promise
### removeDeviceOwner
[src/Particle.js:535-538](https://github.com/particle-iot/particle-api-js/blob/25c8d3c14a54e31e935b1fe65bdaf0b1a191911b/src/Particle.js#L535-L538 "Source code on GitHub")
Unclaim a product device its the owner, but keep it in the product
**Parameters**
- `options` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)** Options for this API call
- `options.deviceId` **[String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** Device ID or Name
- `options.product` **[String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** Remove from this product ID or slug
- `options.auth` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)?** The access token. Can be ignored if provided in constructor
- `options.headers` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)?** Key/Value pairs like `{ 'X-FOO': 'foo', X-BAR: 'bar' }` to send as headers.
- `options.context` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)?** Request context
Returns **[Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)** A promise
### renameDevice
[src/Particle.js:551-553](https://github.com/particle-iot/particle-api-js/blob/25c8d3c14a54e31e935b1fe65bdaf0b1a191911b/src/Particle.js#L551-L553 "Source code on GitHub")
Rename a device
**Parameters**
- `options` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)** Options for this API call
- `options.deviceId` **[String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** Device ID or Name
- `options.name` **[String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** Desired Name
- `options.product` **[String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)?** Rename device in this product ID or slug
- `options.auth` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)?** The access token. Can be ignored if provided in constructor
- `options.headers` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)?** Key/Value pairs like `{ 'X-FOO': 'foo', X-BAR: 'bar' }` to send as headers.
- `options.context` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)?** Request context
Returns **[Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)** A promise
### signalDevice
[src/Particle.js:566-568](https://github.com/particle-iot/particle-api-js/blob/25c8d3c14a54e31e935b1fe65bdaf0b1a191911b/src/Particle.js#L566-L568 "Source code on GitHub")
Instruct the device to turn on/off the LED in a rainbow pattern
**Parameters**
- `options` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)** Options for this API call
- `options.deviceId` **[String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** Device ID or Name
- `options.signal` **[Boolean](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** Signal on or off
- `options.product` **[String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)?** Device in this product ID or slug
- `options.auth` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)?** The access token. Can be ignored if provided in constructor
- `options.headers` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)?** Key/Value pairs like `{ 'X-FOO': 'foo', X-BAR: 'bar' }` to send as headers.
- `options.context` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)?** Request context
Returns **[Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)** A promise
### setDeviceNotes
[src/Particle.js:581-583](https://github.com/particle-iot/particle-api-js/blob/25c8d3c14a54e31e935b1fe65bdaf0b1a191911b/src/Particle.js#L581-L583 "Source code on GitHub")
Store some notes about device
**Parameters**
- `options` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)** Options for this API call
- `options.deviceId` **[String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** Device ID or Name
- `options.notes` **[String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** Your notes about this device
- `options.product` **[String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)?** Device in this product ID or slug
- `options.auth` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)?** The access token. Can be ignored if provided in constructor
- `options.headers` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)?** Key/Value pairs like `{ 'X-FOO': 'foo', X-BAR: 'bar' }` to send as headers.
- `options.context` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)?** Request context
Returns **[Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)** A promise
### markAsDevelopmentDevice
[src/Particle.js:596-598](https://github.com/particle-iot/particle-api-js/blob/25c8d3c14a54e31e935b1fe65bdaf0b1a191911b/src/Particle.js#L596-L598 "Source code on GitHub")
Mark device as being used in development of a product so it opts out of automatic firmware updates
**Parameters**
- `options` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)** Options for this API call
- `options.deviceId` **[String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** Device ID or Name
- `options.development` **[Boolean](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** Set to true to mark as development, false to return to product fleet (optional, default `true`)
- `options.product` **[String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** Device in this product ID or slug
- `options.auth` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)?** The access token. Can be ignored if provided in constructor
- `options.headers` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)?** Key/Value pairs like `{ 'X-FOO': 'foo', X-BAR: 'bar' }` to send as headers.
- `options.context` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)?** Request context
Returns **[Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)** A promise
### lockDeviceProductFirmware
[src/Particle.js:612-614](https://github.com/particle-iot/particle-api-js/blob/25c8d3c14a54e31e935b1fe65bdaf0b1a191911b/src/Particle.js#L612-L614 "Source code on GitHub")
Mark device as being used in development of a product, so it opts out of automatic firmware updates
**Parameters**
- `options` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)** Options for this API call
- `options.deviceId` **[String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** Device ID or Name
- `options.desiredFirmwareVersion` **[Number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)** Lock the product device to run this firmware version.
- `options.flash` **[Boolean](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean)?** Immediately flash firmware indicated by desiredFirmwareVersion
- `options.product` **[String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** Device in this product ID or slug
- `options.auth` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)?** The access token. Can be ignored if provided in constructor
- `options.headers` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)?** Key/Value pairs like `{ 'X-FOO': 'foo', X-BAR: 'bar' }` to send as headers.
- `options.context` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)?** Request context
Returns **[Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)** A promise
### unlockDeviceProductFirmware
[src/Particle.js:626-628](https://github.com/particle-iot/particle-api-js/blob/25c8d3c14a54e31e935b1fe65bdaf0b1a191911b/src/Particle.js#L626-L628 "Source code on GitHub")
Mark device as receiving automatic firmware updates
**Parameters**
- `options` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)** Options for this API call
- `options.deviceId` **[String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** Device ID or Name
- `options.product` **[String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** Device in this product ID or slug
- `options.auth` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)?** The access token. Can be ignored if provided in constructor
- `options.headers` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)?** Key/Value pairs like `{ 'X-FOO': 'foo', X-BAR: 'bar' }` to send as headers.
- `options.context` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)?** Request context
Returns **[Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)** A promise
### updateDevice
[src/Particle.js:647-659](https://github.com/particle-iot/particle-api-js/blob/25c8d3c14a54e31e935b1fe65bdaf0b1a191911b/src/Particle.js#L647-L659 "Source code on GitHub")
Update multiple device attributes at the same time
**Parameters**
- `options` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)** Options for this API call
- `options.deviceId` **[String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** Device ID or Name
- `options.name` **[String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)?** Desired Name
- `options.signal` **[Boolean](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean)?** Signal device on or off
- `options.notes` **[String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)?** Your notes about this device
- `options.development` **[Boolean](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean)?** (Product only) Set to true to mark as development, false to return to product fleet
- `options.desiredFirmwareVersion` **([Number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number) | null)?** (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](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean)?** (Product only) Immediately flash firmware indicated by desiredFirmwareVersion
- `options.product` **[String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)?** Device in this product ID or slug