![require(esm) Backported to Node.js 20, Paving the Way for ESM-Only Packages](https://cdn.sanity.io/images/cgdhsj6q/production/be8ab80c8efa5907bc341c6fefe9aa20d239d890-1600x1097.png?w=400&fit=max&auto=format)
Security News
require(esm) Backported to Node.js 20, Paving the Way for ESM-Only Packages
require(esm) backported to Node.js 20, easing the transition to ESM-only packages and reducing complexity for developers as Node 18 nears end-of-life.
losant-rest
Advanced tools
The Losant REST API client provides a simple way to use the comprehensive Losant API. You can authenticate either as a Losant device or with your user account, and have access to all the functionality of the Losant platform.
This client works both in browsers and node.js (v0.12 and newer), and supports both callbacks and promises. It uses Axios under the covers for the actual HTTP communication.
The latest stable version is available in NPM and can be installed using
npm install --save losant-rest
Below is a high-level example of using the Losant JavaScript REST API client to authenticate against the Losant Platform and report state for a device.
var api = require('losant-rest');
var mySensor = require('./my-analog-sensor');
var client = api.createClient();
client.auth.authenticateDevice({ credentials: {
deviceId: 'my-device-id',
key: 'my-app-access-key',
secret: 'my-app-access-secret'
}}).then(function (response) {
client.setOption('accessToken', response.token);
var appId = response.applicationId;
var state = { data: { temperature: mySensor.read() } };
return client.device.sendState({
deviceId: 'my-device-id',
applicationId: appId,
deviceState: state
});
})
.then(function (response) {
console.log(response); // { success: true }
})
.catch(function (error) {
console.error(error);
});
var client = api.createClient({ accessToken: undefined, url: 'https://api.losant.com' })
The losant-rest module exposes a single function named createClient which returns a client instance. Ite takes the following options:
accessToken
The access token to be used for authentication - by default there is no
access token. An access token can be acquired through either of the
Auth methods.
url
The url of the Losant API - by default https://api.losant.com.
A client is a single api instance. By default, it is unauthenticated, but can be given an access token to perform authenticated requests.
setOption(name, value)
The setOption function can be used to change any of the options currently
set on the client, such as the access token.
getOption(name) The getOption function can be used to retrieve the current value of any of the options set on the client instance.
Each of the following is a property on the client instance, and wraps the actions for that particular resource. See each resource documentation file for more information.
applicationKey
Contains all the actions that can be performed against a single
Application Key -
for instance, getting info on a single key or revoking a key.
applicationKeys
Contains all of the actions that can be performed against the collection of
Application Keys belonging
to an Application - such as listing all keys or creating a new key.
application
Contains all of the actions that can be performed against a single
Application,
which include things like getting info on an application or
modifying an application.
applications
Contains all of the actions that can be performed against the set of
Applications that the
currently authenticated user has access to - such as
listing the applications or creating a new application.
auth
Contains the actions used for authenticating against the api, either as a
user or as a device. The result of authentication calls contain the auth_token
needed for authenticated calls - see the examples for more details.
dashboard
Contains all of the actions that can be performed against a single
Dashboard,
which include things like getting info on a dashboard or
modifying a dashboard.
dashboards
Contains all of the actions that can be performed against the set of
Dashboards that the
currently authenticated user has access to - such as
listing the dashboards or creating a new dashboard.
data
Contains the actions for querying against historical Device
data across an Application.
device
Contains all the actions that can be performed against a single
Device -
for instance, getting info on a single device or reporting the current
state of a device.
devices
Contains all of the actions that can be performed against the collection of
Devices belonging
to an Application - such as listing all devices or sending a command to a set
of devices.
deviceRecipe
Contains all the actions that can be performed against a single
Device Recipe, which
include things like removing a device recipe or creating a device
from a device recipe.
deviceRecipes
Contains all the actions that can be performed against the collection of
Device Recipes belonging
to an Application - such as listing recipes or creating a new recipe.
event
Contains all the actions that can be performed against a single
Event, such as commenting on
or changing the state of an event.
events
Contains all the actions that can be performed against the collection of
Events belonging
to an Application - such as listing open events or creating a new event.
flow
Contains all the actions that can be performed against a single
Workflow, such as enabling or
disabling a workflow, or triggering a virtual button in the workflow.
flows
Contains all the actions that can be performed against the collection of
Workflows belonging
to an Application - such as listing the workflows or creating a new workflow.
me
Contains the actions for operating against the currently authenticated
User such as changing
the password or linking against external services.
org
Contains all the actions that can be performed against a single
Organization, things like
inviting a user to the organization, or modifying the organization.
orgs
Contains all of the actions that can be performed against the set of
Organizations that the
currently authenticated user has access to - such as
listing the organizations or creating a new organization.
webhook
Contains all the actions that can be performed against a single
Webhook, for instance
modifying the verification settings or removing the webhook.
webhooks
Contains all the actions that can be performed against the collection of
Webhooks belonging
to an Application - such as listing the webhooks or creating a new webhook.
Copyright (c) 2016 Losant IoT, Inc
FAQs
REST client for accessing the Losant API
The npm package losant-rest receives a total of 53 weekly downloads. As such, losant-rest popularity was classified as not popular.
We found that losant-rest demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
require(esm) backported to Node.js 20, easing the transition to ESM-only packages and reducing complexity for developers as Node 18 nears end-of-life.
Security News
PyPI now supports iOS and Android wheels, making it easier for Python developers to distribute mobile packages.
Security News
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.