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 belonging 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.
-
experienceDomain
Contains all the actions that can be performed against a single Experience Domain, such as updating SSL certificate information.
-
experienceDomains
Contains all the actions that can be performed against the collection of Experience Domains belonging to an Application - such as listing domains or creating a new domain.
-
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.
-
experienceView
Contains all the actions that can be performed against a single Experience View, such as modifying the body template.
-
experienceViews
Contains all the actions that can be performed against the collection of Experience Views belonging to an Application - such as listing views or creating a new view.
-
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.