Bluzone B2B REST APIs

Introduction

This document details how 3rd Party web services should be making API calls to Bluzone.  To get started, you need to locate your projectId and your APIKey.  Each user has a unique API Key for their account and team.  For each team that a user is a member (or owner), there is a unique API Key.  The API Key 

Locating ProjectId and ApiKey

Login to Bluzone and click on your username in the top right corner of the screen

The account details page lists all projects with projectId and apiKey

The REST API Call

REST API calls to Bluzone with the APIKey usually need the projectId in the URL.  They also need the APIKey in the HTTP Request Header.  The header name is "bzid" and the header value is the API Key.

Example Requests

Get Project Details

curl -X GET \
  https://bluzone.io/portal/papis/v1/projects/<YOUR_PROJECT_ID_HERE>/ \
  -H 'bzid: <YOUR_API_KEY_HERE>'

Get List of Beacons

curl -X GET \
  https://bluzone.io/portal/papis/v1/projects/<YOUR_PROJECT_ID_HERE>/devices/beacons \
  -H 'bzid: <YOUR_API_KEY_HERE>'

Get A Single Beacon

curl -X GET \
  https://bluzone.io/portal/papis/v1/projects/<YOUR_PROJECT_ID_HERE>/devices/beacons/<BEACON_ID_HERE> \
  -H 'bzid: <YOUR_API_KEY_HERE>'

API Examples

Most Bluzone APIs follow restful patterns.  Business use cases often require simplified APIs to perform repetitive and high value tasks.  The best solution for these business needs is not always the most "RESTful" pattern.  When Bluzone APIs break out of a true "RESTful" pattern, the API becomes more task oriented and begins with an underscore.  This section will use three common APIs as examples of this "RPC" type pattern in Bluzone APIs.

Project Rename

This API will rename the current project in context with the name supplied in the JSON body.

MethodPUT
URI/portal/papis/v1/projects/{{projectId}}/_rename
Acceptapplication/json
ResponseProject.json
Content-Typeapplication/json
Sample Body
{"projectName": "New Name Value"}

Beacon Rename

Rename a Beacon in context with the newly supplied name.

MethodPUT
URI/portal/papis/v1/projects/{{projectId}}/devices/beacons/{{beacon.deviceId}}/_rename
Acceptapplication/json
ResponseBeacon.json
Content-Typeapplication/json
Sample Body
{"beaconName": "New Name Value"}

Blufi Rename

Rename a Blufi in context with the newly supplied name.

MethodPUT
URI/portal/papis/v1/projects/{{projectId}}/devices/blufis/{{blufi.deviceId}}/_rename
Acceptapplication/json
ResponseBlufi.json
Content-Typeapplication/json
Sample Body
{"blufiName": "New Name Value"}