Basic endpoints

User profile

Login

Request URL:

POST /auth/login

Headers:

Content-Type: application/json

Body:

{
"client_id" : "",
"client_secret" : "",
"username" : "",
"password" : ""
}

Response:

{
"auth": {
"access_token": "1e516******************************ca",
"expires_in": 86400,
"token_type": "Bearer",
"scope": null,
"refresh_token": "e8ec5********************************26b3"
},
"_links": {
"self": {
"href": "/v1/auth/login"
}
}
}

Renew Access Token

Request URL:

POST /auth/renew

Headers:

Content-Type: application/json

Body:

{
"client_id" : "",
"client_secret" : "",
"refresh_token" : ""
}

Response:

{
"auth": {
"access_token": "44******************23263e59d3c5a3",
"expires_in": 86400,
"token_type": "Bearer",
"scope": null
},
"_links": {
"self": {
"href": "/v1/auth/renew"
}
}
}

Fetch Personal Info

Request URL:

GET /users/me

Headers:

Content-Type: application/json
Authorization: Bearer {access_token}
Accept-Response: Advanced

Response:

{
"users": {
"user_id": ,
"username": "",
"firstname": "",
"lastname": "",
"phone": null,
"country_id": ,
"created": "2",
"_relation": {
"country": {
"id": ,
"geoname_id": ,
"continent_code": "",
"continent_name": "",
"country_code": "",
"country_name": "",
"city_name": "",
"time_zone": ""
}
}
},
"_links": {
"self": {
"href": "/v1/users"
},
"controller": {
"href": "/v1/controller/{serial_number}",
"templated": true
}
}
}

Controllers

Fetch user’s controllers

Request URL:

GET /controllers

Optional params: type={device type} (melissa; bobbie; smart_plug...) & mac={device mac}

Headers:

Content-Type: application/json
Authorization: Bearer {access_token}

Response:

{
"_embedded": {
"controller": [
{
"user_id": 200,
"serial_number": "H5******J6X",
"mac": "“ACCF***6522E\"",
"firmware_version": "V1SHTHF",
"name": "Melissa H59****X",
"type": "melissa",
"room_id": 7,
"online": false,
"brand_id": 9,
"controller_log": [],
"_links": {
"self": {
"href": "/v1/controllers/H59I****6X"
}
}
},
{…},
{…},
{…},
]
},
"total": 22,
"_links": {
"self": {
"href": "/v1/controllers"
},
"first": {
"href": "/v1/controllers?page=1"
},
"last": {
"href": "/v1/controllers?page=1"
}
}
}

Fetch one controller

Request URL:

GET /controllers/{serial_number}

Headers:

Content-Type: application/json
Authorization: Bearer {access_token}

Response:

{
"controller": {
"user_id": 200,
"serial_number": "H5******J6X",
"mac": "ACCF***6522E",
"firmware_version": "V1SHTHF",
"name": "Melissa H59****X",
"type": "melissa",
"room_id": 7,
"online": false,
"brand_id": 9,
"controller_log": [],
"_links": {
"self": {
"href": "/v1/controllers/H59I****6X"
}
}
},
"_links": {
"self": {
"href": "/v1/controllers/H5******J6X"
}
}
}

Controller Assign

Request URL:

POST /controllers/{serial_number}/assign

Headers:

Content-Type: application/json
Authorization: Bearer {access_token}

Response:

{
"controller_reassign": {
"id": 1***,
"user_id": 200,
"serial_number": "H5******J6X",
"mac": "ACCF***6522E",
"firmware_version": "V1SHTHF",
"name": "Melissa H59****X",
"type": "melissa",
"device_group": "mclimate",
"status_push": 0,
"room_id": null,
"created": "2016-04-12 11:25:47",
"assigned_at": "2020-11-20 15:19:29",
"deleted_at": null
},
"_links": {
"self": {
"href": "/v1/controllers/H5******J6X/assign"
}
}
}

Controller Reassign

Request URL:

PATCH /controllers/{serial_number}/reassign

Headers:

Content-Type: application/json
Authorization: Bearer {access_token}

Body:

{
"owner" : "n*****@s******a.com"
}

Response:

{
"controller_reassign": {
"id": 1***,
"user_id": 200,
"serial_number": "H5******J6X",
"mac": "ACCF***6522E",
"firmware_version": "V1SHTHF",
"name": "Melissa H59****X",
"type": "melissa",
"device_group": "mclimate",
"status_push": 0,
"room_id": null,
"created": "2016-04-12 11:25:47",
"assigned_at": "2020-11-20 15:19:29",
"deleted_at": null
},
"_links": {
"self": {
"href": "/v1/controllers/H5******J6X/assign"
}
}
}

MClimate LoRaWAN Products

If you are interested in our LoRaWAN devices, you can find more information here.