API


API Key

You can use the API key available here to authenticate your requests when needed.

Simply add “apikey” as a url parameter to use it.

Send Push

With Join you can easily send pushes to your devices by using a simple URL.

To get started, go here, click on the a device and then click the “JOIN API” button. You’ll be able to generate a URL that will send a push to your device.

These are the possible URL parameters you can use in the URL. All parameters need to be URL encoded before used (you can URL Encode some text here):

  • deviceId – The device ID or group ID (must use API Key for groups) of the device you want to send the message to. It is mandatory that you either set this or the deviceIds parameter
  • deviceIds – a comma separated list of device IDs you want to send the push to. It is mandatory that you either set this or the deviceId parameter
  • deviceNames – a comma separated list of device names you want to send the push to. It can be parcial names. For example, if you set deviceNames to  Nexus,PC it’ll send it to devices called Nexus 5, Nexus 6, Home PC and Work PC if you have devices named that way. Must be used with the API key to work!
  • text – usually used as a Tasker or EventGhost command. Can also be used with URLs and Files to add a description for those elements
  • url – A URL you want to open on the device. If a notification is created with this push, this will make clicking the notification open this URL.
  • clipboard – some text you want to set on the receiving device’s clipboard. If the device is an Android device and the Join accessibility service is enabled the text will be pasted right away in the app that’s currently opened.
  • file – a publicly accessible URL of a file. You can also send the url of a file on your personal Google Drive
  • smsnumber – phone number to send an SMS to. If you want to set an SMS you need to set this and the smstext values
  • smstext – some text to send in an SMS. If you want to set an SMS you need to set this and the smsnumber values
  • wallpaper – a publiclry accessible URL of an image file. Will set the wallpaper on the receiving device
  • find – set to true to make your device ring loudly

Notification Fields

These fields are meant for notifications created using the Join API.

  • title – If used, will always create a notification on the receiving device with this as the title and text as the notification’s text
  • icon – If a notification is created on the receiving device and this is set, then it’ll be used as the notification’s icon. If this image has transparency, it’ll also be used as the status bar icon is smallicon is not set. It’ll also be used to tint the notification with its dominating color
  • smallicon – If a notification is created on the receiving device and this is set, then it’ll be used as the notification’s status bar icon
  • priority – control how your notification is displayed: lower priority notifications are usually displayed lower in the notification list. Values from -2 (lowest priority) to 2 (highest priority). Default is 2.
  • vibration – if the notification is received on an Android device, the vibration pattern in this field will change the way the device vibrates with it. You can easily create a pattern by going here and generating the pattern in the Vibration Pattern field

List Devices

URL: https://joinjoaomgcd.appspot.com/_ah/api/registration/v1/listDevices?apikey={apikey}

Replace {apikey} with your own API key.

Example output:

{
  "success" : true,
  "userAuthError" : false,
  "records" : [ {
    "id" : "1461864582973",
    "regId" : "APA91bFr0ASDFSAFASFASFR8w4HzbINUkBGESARbUPDNUX_Lo02o4NXAPUH2g",
    "userAccount" : "example@example.com",
    "deviceId" : "bd76a9c03b5b4f98aa8bb335aff728f1",
    "deviceName" : "Chrome",
    "deviceType" : 3,
    "apiLevel" : 0
  }, {
    "id" : "1461864586607",
    "regId" : "f3bsRvTqfjk:APA91bG_L3TxbS3d4FPo-QkhfwNElGrZbo7MRWIWIASDIAOSDA_JNJYivZYo23p5TN9k61FVUBdRobNW",
    "userAccount" : "example@example.com",
    "deviceId" : "c3cbc0cf5eb84244a8cc3e10f5da1213",
    "deviceName" : "Unknown Android SDK built for x86_64",
    "deviceType" : 1,
    "apiLevel" : 23,
    "model" : "Nexus 6"
  } ]
}