PushBullet API

A Node.js module for using the PushBullet REST API.

Usage

This module is very simple to use. All you need is your PushBullet API key and you can begin pushing.

var PushBullet = require ( ' pushbullet ' ) ; var pusher = new PushBullet ( ' YOUR-API-KEY ' ) ; pusher . devices ( function ( error , response ) { } ) ; pusher . note ( deviceParams , noteTitle , noteBody , function ( error , response ) { } ) ;

Target devices

The push functions ( note , link , file ) have a deviceParams parameter which can be several types:

If it is a string containing an '@' it is treated as an email address.

If it is a string not containing an '@' it is treated as a device iden.

If it is a number it is treated as a device id.

If it is an object it is assumed to have one of the 'target parameters' as defined on https://docs.pushbullet.com/v2/pushes/ as an attribute. It can also have an optional source_device_iden attribute. If the object is empty, {} , then the push is sent to all devices.

Callbacks

Each callback receives two arguments. For a successful request the first argument will be null or undefined and the second argument will be the parsed JSON response from the API.

If an error occurs at any part of the request the first argument will be an Error object.

Promises

Promises are supported and can be used in place of the callback method.

pusher . devices ( ) . then ( function ( devices ) { } ) ;

API

new PushBullet(apiKey, options)

Creates a new PushBullet object.

The apiKey parameter is the string API key provided by PushBullet. The options parameter is optional and has one attribute:

fullResponses (default false ): By default, only the response body is returned. Setting this to true will make the full response to be returned, useful if access to the headers are required.

Get the current user's information.

pusher . me ( function ( err , response ) { } ) ;

Retrieves a list of pushable devices.

The options parameter can use two attributes cursor and limit to control the data returned.

active is used to restrict the results to only active devices.

is used to restrict the results to only active devices. cursor is used to select the page if the results have been paginated.

is used to select the page if the results have been paginated. limit is used to limit the number of objects in the reponse.

var options = { limit : 10 } ; pusher . devices ( options , function ( error , response ) { } ) ;

Creates a new device.

var deviceOptions = { nickname : ' node-app ' } ; pusher . createDevice ( deviceOptions , function ( error , response ) { } ) ;

PushBullet.updateDevice(deviceIden, deviceOptions, callback)

Creates a new device.

var deviceOptions = { nickname : ' node-app ' } ; pusher . updateDevice ( deviceIden , deviceOptions , function ( error , response ) { } ) ;

Delete a device.

pusher . deleteDevice ( ' u1qSJddxeKwOGuGW ' , function ( error , response ) { } ) ;

Push a note to the specified device.

pusher . note ( ' u1qSJddxeKwOGuGW ' , ' New Note ' , ' Note body text ' , function ( error , response ) { } ) ;

Push a link to the specified device.

pusher . link ( ' u1qSJddxeKwOGuGW ' , ' GitHub ' , ' https://github.com/ ' , ' Note body text ' , function ( error , response ) { } ) ;

Push a file to the specified device.

pusher . file ( ' u1qSJddxeKwOGuGW ' , ' /path/to/file ' , ' Important file! ' , function ( error , response ) { } ) ;

Dismiss a push.

pusher . dismissPush ( ' udhrSpjAewzdwpCC ' , function ( error , response ) { } ) ;

Delete a push.

pusher . deletePush ( ' udhrSpjAewzdwpCC ' , function ( error , response ) { } ) ;

Delete all pushes associated with the current account.

pusher . deleteAllPushes ( function ( error , response ) { } ) ;

Get the push history.

The options parameter can use three attributes cursor , limit and modified_after to control the data returned.

active is used to only select undeleted pushes. Defaults to true if not specified.

is used to only select undeleted pushes. Defaults to true if not specified. cursor is used to select the page if the results have been paginated.

is used to select the page if the results have been paginated. limit is used to limit the number of objects in the reponse.

is used to limit the number of objects in the reponse. modified_after should be a timestamp. Defaults to 0 if not specified.

var options = { limit : 10 , modified_after : 1400000000 . 00000 } ; pusher . history ( options , function ( error , response ) { } )

Get a list of current subscriptions.

The options parameter can use two attributes cursor and limit to control the data returned.

active is used to restrict the results to only active devices.

is used to restrict the results to only active devices. cursor is used to select the page if the results have been paginated.

is used to select the page if the results have been paginated. limit is used to limit the number of objects in the reponse.

var options = { limit : 10 } ; pusher . subscriptions ( options , function ( error , response ) { } ) ;

PushBullet.subscribe(channelTag, callback)

Subscribe to a channel.

pusher . subscribe ( ' jblow ' , function ( error , response ) { } ) ;

PushBullet.unsubscribe(subscriptionIden, callback)

Subscribe to a channel.

pusher . unsubscribe ( ' udprOsjAsLtNTRAG ' , function ( error , response ) { } ) ;

Mute a subscription.

pusher . muteSubscription ( ' udprOsjAsLtNTRAG ' , function ( error , response ) { } ) ;

Unmute a subscription.

pusher . unmuteSubscription ( ' udprOsjAsLtNTRAG ' , function ( error , response ) { } ) ;

Get information about a channel.

pusher . channelInfo ( ' jblow ' , function ( error , response ) { } ) ;

Get a list of current chats.

The options parameter can use two attributes cursor and limit to control the data returned.

active is used to restrict the results to only active devices.

is used to restrict the results to only active devices. cursor is used to select the page if the results have been paginated.

is used to select the page if the results have been paginated. limit is used to limit the number of objects in the reponse.

var options = { limit : 10 } ; pusher . chats ( options , function ( error , response ) { } ) ;

Create a new chat.

pusher . createChat ( ' a@b.com ' , function ( error , response ) { } ) ;

Delete a chat.

pusher . deleteChat ( ' udprOsjAsLtNTRAG ' , function ( error , response ) { } ) ;

Mute a chat.

pusher . muteChat ( ' udprOsjAsLtNTRAG ' , function ( error , response ) { } ) ;

Unmute a chat.

pusher . unmuteChat ( ' udprOsjAsLtNTRAG ' , function ( error , response ) { } ) ;

Send an SMS through a device.

var options = { source_user_iden : ' ujpah72o0 ' , target_device_iden : ' ujpah72o0sjAoRtnM0jc ' , conversation_iden : ' +1 303 555 1212 ' , message : ' Hello! ' } ; pusher . sendSMS ( options , function ( error , response ) { } ) ;

Send clipboard content.

var options = { source_user_iden : " ujpah72o0 " , source_device_iden : " ujpah72o0sjAoRtnM0jc " , body : " http://www.google.com " , } ; pusher . sendClipboard ( options , function ( error , response ) { } ) ;

Dismiss an ephemeral.

var options = { package_name : ' com.pushbullet.android ' , notification_id : ' -8 ' , notification_tag : null , source_user_iden : ' ujpah72o0 ' , } ; pusher . dismissEphemeral ( options , function ( error , response ) { } ) ;

Returns a new stream listener which will emit events from the stream.

var stream = pusher . stream ( ) ;

Connects to the stream.

stream . connect ( ) ;

Disconnects from the stream.

stream . close ( ) ;

Events

connect

Emitted when the stream has connected.

stream . on ( ' connect ' , function ( ) { } ) ;

close

Emitted when the stream has disconnected.

stream . on ( ' close ' , function ( ) { } ) ;

error

Emitted when there is a connection or streaming error.

stream . on ( ' error ' , function ( error ) { } ) ;

message

Emitted when a message is received from the stream. message will be emitted for all messages but you can listen for specific messages with nop , tickle and push .

stream . on ( ' message ' , function ( message ) { } ) ;

nop

Emitted when the keep-alive 'no-operation' message is received.

stream . on ( ' nop ' , function ( ) { } ) ;

tickle

Emitted when the tickle message is received.

stream . on ( ' tickle ' , function ( type ) { } ) ;

push

Emited when the push message is received.

stream . on ( ' push ' , function ( push ) { } ) ;

Enables End-to-End encryption.