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.
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.
The losant-rest module exposes a single function named createClient which
returns a client instance. It takes the following options:
A client is a single api instance. By default, it is unauthenticated, but can
be given an access token to perform authenticated requests.
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.
-
applicationApiToken
Contains all the actions that can be performed against a single
Api Token beloging to an application - for instance, getting info
on a single token or revoking a token.
-
applicationApiTokens
Contains all of the actions that can be performed against the
collection of Api Tokens belonging to an Application - such
as listing all tokens or creating a new token.
-
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.
-
dataTable
Contains all the actions that can be performed against a single
Data Table -
for instance, getting info on a single data table or modifying the columns
of a data table.
-
dataTables
Contains all of the actions that can be performed against the collection of
Data Tables belonging
to an Application - such as listing all data tables or creating a new data table.
-
dataTableRow
Contains all the actions that can be performed against a single
row inside of a Data Table -
for instance, getting the contents of a row, or modifying a row.
-
dataTableRows
Contains all of the actions that can be performed against the collection of
rows that make up a Data Table - such as querying for
rows in that table, or adding a new row to the table.
-
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.
-
experienceEndpoint
Contains all the actions that can be performed against a single
Experience Endpoint, such as updating route
information.
-
experienceEndpoints
Contains all the actions that can be performed against the collection of
Experience Endpoints belonging
to an Application - such as listing endpoints or creating a new endpoint.
-
experienceGroup
Contains all the actions that can be performed against a single
Experience Group, such as updating member information.
-
experienceGroups
Contains all the actions that can be performed against the collection of
Experience Groups belonging
to an Application - such as listing groups or creating a new group.
-
experienceUser
Contains all the actions that can be performed against a single
Experience User, such as changing their email
or password.
-
experienceUsers
Contains all the actions that can be performed against the collection of
Experience Users belonging
to an Application - such as listing users or creating a new user.
-
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.
-
flowVersion
Contains all the actions that can be performed against a single
Workflow Version, such as enabling or
disabling a workflow version, or updating the version notes.
-
flowVersions
Contains all the actions that can be performed against the collection of
Workflow Versions belonging
to a Workflow - such as listing the versions or creating a new version.
-
me
Contains the actions for operating against the currently authenticated
User such as changing
the password or linking against external services.
-
integration
Contains all the actions that can be performed against a single
Integration, which
include things like removing an integration or updating integration configuration.
-
integrations
Contains all the actions that can be performed against the collection of
Integrations belonging
to an Application - such as listing integrations or creating a new integration.
-
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.