General Information

eKoral Open API (hereafter API) is full set of REST API for software developers to access, control and configure eKoral products and cloud service. The purposes we publicly release API are to widen product usage, increase user satisfaction and promote innovative ideas and applications. To be a developer, please contact support@ekoral.io.

The target audiences of eKoral Open API (hereafter API) are:

  • Product users want to customize features or functions that we haven't provided yet.
  • Business partners tailor made for business demands, such as issue commands to group of products or aggregate readings or states.
  • Hardware vendors integrate eKoral products with their own hardwares to increase values and features.
  • Freelancing developers create innovative applications that add value to their core business.

For security consideration, we leverage OAuth 2.0 for approved developers and authorized permissions with user's permission.

Authorization scopes

Authorization scope is OAuth 2.0 permission scope. We define 3 scopes:

  1. Scope access.

    The scope provides read permission, such as authentication, read sensor values / states, histories, device details, etc. To ease the development of access scope, developers can use OAuth client credentials to obtain the permission. Client credentials authorization is not allowed for control and config scopes.

    Developer can also use OAuth authorization code for access and the other scopes.

    • Client credential example

      curl https://api.ekoral.io/token -d "grant_type=client_credentials" -H "Authorization: Basic YXBwbGljYXRpb246c2VjcmV0"

      Response:

      HTTP/1.1 200 OK
      Content-Type: application/json

      {"access_token":"51ab376f2355d3358f0881e65026a584adf88d0d","expires_in":3600,"token_type":"Bearer","scope":true}

    • Authorization code example

      curl https://api.ekoral.io/authorize -d "response_type=code&client_id=_clientId_&scope=access&redirect_uri=https%3A%2F%2Fclient%2Eexample%2Ecom%2Fcb&state=8e401257a169b0898fabbae0a0ecb1d609951b02"

      Authorization code response

      HTTP/1.1 302 Found

      Location: https://client.example.com/cb?code=fea66041eff8b4bb6dc618df783bc21b5087d69e&state=8e401257a169b0898fabbae0a0ecb1d609951b02

      Request access token

      curl https://api.ekoral.io/token -d "grant_type=authorization_code&code=fea66041eff8b4bb6dc618df783bc21b5087d69e&redirect_uri=https%3A%2F%2Fclient%2Eexample%2Ecom%2Fcb" -X POST -H "Authorization: Basic YXBwbGljYXRpb246c2VjcmV0"

      Access token response:

      HTTP/1.1 200 OK
      Content-Type: application/json

      {"access_token":"51ab376f2355d3358f0881e65026a584adf88d0d","expires_in":3600,"token_type":"Bearer","scope":true}

  2. Scope control

    The scope provides control permission, such as control eK Core / Doser.

    • Example:

      curl https://api.ekoral.io/authorize -d "response_type=code&client_id=_clientId_&scope=control&redirect_uri=https%3A%2F%2Fclient%2Eexample%2Ecom%2Fcb&state=8e401257a169b0898fabbae0a0ecb1d609951b02"

      the rest of authorization code interactions are similar to the example of access scope

  3. Scope config

    The scope provides config permission, such as calibrate, configure alert setting.

    • Example:

      curl https://api.ekoral.io/authorize -d "response_type=code&client_id=_clientId_&scope=config&redirect_uri=https%3A%2F%2Fclient%2Eexample%2Ecom%2Fcb&state=8e401257a169b0898fabbae0a0ecb1d609951b02"

      the rest of authorization code interactions are similar to the example of access scope

Application type

Application type means the service provider of eKoral services. They are:

  1. Member application:

    The application is the set of API of eKoral cloud service. APIs of the application require you to pass authentication API at beginning. Please see the below example for authentication:

    Authenticate API example:

    curl https://api.ekoral.io -d '{"parm": {"email": "fred@gmail.com", "password": "2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824"}, "name": "authenticate", "version": 1}' -H "Authorization: Bearer _access_token_" -H "Content-Type: application/json" -X POST

    The second API should be accessed is get_miniboards which will provide member owned or invited list of eK Core and eK Doser, if you need to access them in the following.

    curl https://api.ekoral.io -d '{ "name": "get_miniboards", "version": 1, "sid": "iwL8dKarLVCjH0Gk6LnsohVN54L6vUoC"}' -H "Authorization: Bearer d7768165e90f080cb1ba3ab6806607f38ac067bd" -H "Content-Type: application/json" -X POST

  2. Eko application:

    The application is the set of API of eK Core.

    curl https://api.ekoral.io -d '{ "name": "get_device", "version": 1, "sn": "0000A009", "email": "fred@gmail.com", "parm": "U2FsdGVkX19qpDH+MARC8ap/NLvAcRMf"}' -H "Authorization: Bearer d7768165e90f080cb1ba3ab6806607f38ac067bd" -H "Content-Type: application/json" -X POST

  3. Peripheral application:

    The application is the set of API of eK Core.

Development

Like any REST API in the world, developers can use any programming languages to access the eKoral Open API. We provide a development site and two production site for using the API.

  • api.sentireef.ekopro.tech for development
  • api.ekoral.io for production
  • api.ekoral.net for China production

#API list and scope

  • Cloud API (application: member)

    • access scope
      • authenticate
      • get_aggregation
      • get_invitation
      • get_miniboards
      • get_sns_history
      • get_sns_setting
      • get_species
      • logoff
      • my_miniboard
      • my_tank
      • quit_invitation
      • validate_session
    • config scope
      • forget_password
      • close_member
      • configure_invitation
      • configure_miniboards
      • configure_mongo
      • configure_myminiboard
      • configure_sns
      • configure_sns_setting
      • configure_tank
      • mongo_find
      • signup
      • signup_contact_email
      • update_member
    • admin scope
      • associate_owner
      • associate_peripheral
      • exist_member
      • report_rma
  • eK Core (application: eko)

    • access scope
      • check_miniboard
      • get_alert_setting
      • get_characteristics
      • get_device
      • get_device_associations
      • get_device_types
      • get_journal
      • get_miniboard
      • get_plan
      • get_rule
      • get_schedule
      • get_schedule.v2
      • get_sensor_readings
      • get_sensor_readings.v2
      • get_simulator
      • preview
    • control scope
      • control_device
      • control_plan
      • diagnose_network
      • diagnose_system
      • disconnect_ap
    • config scope
      • change_mode
      • configure_alert_setting
      • configure_device
      • configure_miniboard
      • configure_plan
      • configure_rule
      • configure_schedule
      • configure_simulator
      • connect_ap
      • ota_update
      • plug_device
      • scan_device
      • update_datetime
    • admin scope
      • pair_miniboard
  • eK Doser (application: peripheral)

    • access scope
      • get_dosing_log
      • get_dosing_schedule
      • get_schedule_task
      • manual_status
      • p_info
      • p_status
    • control scope
      • control_dosing
    • config scope
      • adjust_dosing_port
      • calibrate_dosing
      • configure_dosing
      • p_activate_ota
      • p_connect_ap
      • p_set_time
      • refill_dosing_port
      • remove_dosing_schedule
      • set_dosing_port
      • set_dosing_schedule
    • admin scope
      • p_identity
      • p_regist_cloud
      • p_update_key

API specification

adjust_dosing_port

Application: peripheral

Scope: config

Adjust level and delay by port of Doser

Attributes

NameTypeDescriptionExample
namestringapi name"adjust_dosing_port"
parm:delayintegerdelay42
parm:levelintegerlevel
Range: 1 <= value <= 3
3
parm:portintegerport1
snstringeK Doser serial number"AI8ADDF999"
versionnumberAPI version 11

adjust_dosing_port

POST /

Required Parameters

NameTypeDescriptionExample
namestringapi name"adjust_dosing_port"
parm:delayintegerdelay42
parm:levelintegerlevel
Range: 1 <= value <= 3
3
parm:portintegerport1
snstringeK Doser serial number"AI8ADDF999"
versionnumberAPI version 11

Curl Example

$ curl -n -X POST / \
  -d '{
  "parm": {
    "port": 1,
    "level": 3,
    "delay": 42
  },
  "name": "adjust_dosing_port",
  "version": 1,
  "sn": "AI8ADDF999"
}' \
  -H "Content-Type: application/json" \
  -H "Signature: parm JSON signature signed by app_secret using SHA-256"

Response Example

HTTP/1.1 201 Created
{
  "result": "success",
  "data": {
    "port": 1,
    "level": 3,
    "delay": 20
  }
}

authenticate

Application: member

Scope: access

Authenticate eKoral member by email / password, or 3rd party authentication (Facebook / QQ)

Attributes

NameTypeDescriptionExample
namestringapi name"authenticate"
parm:access_tokenstringaccess_token"EAARuvZAhsBPMBAKbKnlPOgBlZABDCqIwBZB3v3ewA31DeNgQYVpqN8H5j4ECnXEvaSxdd7QZCN0lIUuyFb701jLGIWDAlEzZAQhIUaKR7RqWt7j3xZAKdBgVjQ94kD16zPmOl3RrOMqbfJKZAKj5ujzCDvh5bZCvCjhxkQJ83Kgj82AMnQfkCiKCoFMSPwNMRDqhFBHHYNZCHjwZDZD"
parm:detailobjectdetail""
parm:emailemaileKoral member email address"fred@gmail.com"
parm:first_namestringfirst_name"Fred"
parm:last_namestringlast_name"White"
parm:mobilestringmobile"+886 968 363 717"
parm:openidstringopenid"10210906827331526"
parm:passwordstringSHA-256 hash value of password"2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824"
parm:sourcestringsource
one of:"facebook" or "qq"
"facebook"
versionnumberAPI version 11

authenticate by email and password

Authenticate by email and password

POST 

Required Parameters

NameTypeDescriptionExample
namestringapi name"authenticate"
parm:emailemaileKoral member email address"fred@gmail.com"
parm:passwordstringSHA-256 hash value of password"2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824"
versionnumberAPI version 11

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
    "email": "fred@gmail.com",
    "password": "2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824"
  },
  "name": "authenticate",
  "version": 1
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 201 Created
{
  "result": "success",
  "data": {
    "email": "fred@gmail.com",
    "first_name": "Fred",
    "last_name": "While",
    "gender": "male",
    "locale": "en_US",
    "sid": "uxITN_UV-KupgSsvm5KXtZHEh2bY7gr2"
  }
}

authenticate by Facebook

Authenticate by Facebook

POST /authenticate

Required Parameters

NameTypeDescriptionExample
namestringapi name"authenticate"
parm:access_tokenstringaccess_token"EAARuvZAhsBPMBAKbKnlPOgBlZABDCqIwBZB3v3ewA31DeNgQYVpqN8H5j4ECnXEvaSxdd7QZCN0lIUuyFb701jLGIWDAlEzZAQhIUaKR7RqWt7j3xZAKdBgVjQ94kD16zPmOl3RrOMqbfJKZAKj5ujzCDvh5bZCvCjhxkQJ83Kgj82AMnQfkCiKCoFMSPwNMRDqhFBHHYNZCHjwZDZD"
parm:detailobjectdetail""
parm:emailemaileKoral member email address"fred@gmail.com"
parm:first_namestringfirst_name"Fred"
parm:last_namestringlast_name"White"
parm:mobilestringmobile"+886 968 363 717"
parm:openidstringopenid"10210906827331526"
parm:passwordstringSHA-256 hash value of password"2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824"
parm:sourcestringsource
one of:"facebook" or "qq"
"facebook"
versionnumberAPI version 11

Curl Example

$ curl -n -X POST /authenticate \
  -d '{
  "parm": {
    "email": "fred@gmail.com",
    "password": "2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824",
    "first_name": "Fred",
    "last_name": "White",
    "mobile": "+886 968 363 717",
    "source": "facebook",
    "openid": "10210906827331526",
    "access_token": "EAARuvZAhsBPMBAKbKnlPOgBlZABDCqIwBZB3v3ewA31DeNgQYVpqN8H5j4ECnXEvaSxdd7QZCN0lIUuyFb701jLGIWDAlEzZAQhIUaKR7RqWt7j3xZAKdBgVjQ94kD16zPmOl3RrOMqbfJKZAKj5ujzCDvh5bZCvCjhxkQJ83Kgj82AMnQfkCiKCoFMSPwNMRDqhFBHHYNZCHjwZDZD",
    "detail": ""
  },
  "name": "authenticate",
  "version": 1
}' \
  -H "Content-Type: application/json" \
  -H "Bearer: access token"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
    "email": "fred@gmail.com",
    "first_name": "Fred",
    "last_name": "While",
    "gender": "male",
    "locale": "en_US",
    "sid": "uxITN_UV-KupgSsvm5KXtZHEh2bY7gr2"
  }
}

calibrate_dosing

Application: peripheral

Scope: config

Calibrate pump flow rate for eK Doser

Attributes

NameTypeDescriptionExample
namestringapi name"calibrate_dosing"
parm:levelintegerlevel of flow rate, 1 is low, 3 is high
Range: 1 <= value <= 3
3
parm:methodstringpump state
one of:"ready_calibration" or "calibrate_port" or "save_calibration"
"save_calibration"
parm:portintegerport1
parm:valuenumbervalue of flow rate in unit ml/sec3
snstringeK Doser serial number"AI8ADDF999"
versionnumberAPI version 11

calibrate_dosing

POST 

Required Parameters

NameTypeDescriptionExample
namestringapi name"calibrate_dosing"
parm:levelintegerlevel of flow rate, 1 is low, 3 is high
Range: 1 <= value <= 3
3
parm:methodstringpump state
one of:"ready_calibration" or "calibrate_port" or "save_calibration"
"save_calibration"
parm:portintegerport1
parm:valuenumbervalue of flow rate in unit ml/sec3
snstringeK Doser serial number"AI8ADDF999"
versionnumberAPI version 11

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
    "port": 1,
    "level": 3,
    "method": "save_calibration",
    "value": 3
  },
  "name": "calibrate_dosing",
  "version": 1,
  "sn": "AI8ADDF999"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

change_mode

Application: eko

Scope: config

Change eK Core to cloud mode or local mode. Default is cloud mode. local mode is for user that doesn't want eK Core communicate with cloud. In local mode, user will not be able to access outside home.

Attributes

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"
namestringapi name"change_mode"
parm:ble_modestringble_mode
one of:"central" or "peripheral"
"central"
parm:emailemailemail"username@example.com"
parm:modestringmode
one of:"local" or "cloud"
"local"
parm:msec_suspend_soft_apintegermsec_suspend_soft_ap42
snstringeK Core serial number"AH8AAAF999"
versionnumberAPI version 11

change_mode

POST 

Required Parameters

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"
namestringapi name"change_mode"
parm:ble_modestringble_mode
one of:"central" or "peripheral"
"central"
parm:emailemailemail"username@example.com"
parm:modestringmode
one of:"local" or "cloud"
"local"
parm:msec_suspend_soft_apintegermsec_suspend_soft_ap42
snstringeK Core serial number"AH8AAAF999"
versionnumberAPI version 11

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
    "mode": "local",
    "email": "username@example.com",
    "ble_mode": "central",
    "msec_suspend_soft_ap": 42
  },
  "name": "change_mode",
  "version": 1,
  "sn": "AH8AAAF999",
  "email": "fred@gmail.com"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

change_password

change_password

Attributes

NameTypeDescriptionExample
namestringapi name"example"
parm:new_passwordstringnew_password"example"
parm:old_passwordstringold_password"example"
sidstringsession id"uxITN_UV-KupgSsvm5KXtZHEh2bY7gr2"
versionnumberAPI version 11

check_app_update

Application: member

Scope: access

Check if new app version is available for update

Attributes

NameTypeDescriptionExample
namestringapi name"check_app_update"
parm:applicationstringapplication id"solutions.ekopro.tech"
parm:versionstringversion"2019.6.1"
versionnumberAPI version 11

check_app_update

POST /

Required Parameters

NameTypeDescriptionExample
namestringapi name"check_app_update"
parm:applicationstringapplication id"solutions.ekopro.tech"
parm:versionstringversion"2019.6.1"
versionnumberAPI version 11

Curl Example

$ curl -n -X POST / \
  -d '{
  "parm": {
    "application": "solutions.ekopro.tech",
    "version": "2019.6.1"
  },
  "name": "check_app_update",
  "version": 1
}' \
  -H "Content-Type: application/json" \
  -H "Signature: parm JSON signature signed by app_secret using SHA-256"

Response Example

HTTP/1.1 201 Created
{
  "result": "success",
  "data": {
    "application": "solutions.ekopro.tech",
    "version": "2019.8.1",
    "mandatory": true
  }
}

check_miniboard

Application: eko

Scope: access

Check eK Core accessible or not

Attributes

NameTypeDescriptionExample
namestringapi name"check_miniboard"
parm:ticketstringticket"example"
snstringeK Core serial number"AH8AAAF999"
versionnumberAPI version 11

check_miniboard

POST 

Required Parameters

NameTypeDescriptionExample
namestringapi name"check_miniboard"
parm:ticketstringticket"example"
snstringeK Core serial number"AH8AAAF999"
versionnumberAPI version 11

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
    "ticket": "example"
  },
  "name": "check_miniboard",
  "version": 1,
  "sn": "AH8AAAF999"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

configure_alert_setting

Application: eko

Scope: config

Configure alert setting

Attributes

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"
namestringapi name"configure_alert_setting"
parmobjectparm
snstringeK Core serial number"AH8AAAF999"
versionnumberAPI version 11

configure_alert_setting

POST 

Required Parameters

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"
namestringapi name"configure_alert_setting"
parmobjectparm
snstringeK Core serial number"AH8AAAF999"
versionnumberAPI version 11

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": null,
  "name": "configure_alert_setting",
  "version": 1,
  "sn": "AH8AAAF999",
  "email": "fred@gmail.com"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

configure_device

Application: eko

Scope: config

Create, update, delete devices of eK Core belonging to

Attributes

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"
namestringapi name"configure_device"
parm:device:actionstringaction
one of:"create" or "update" or "delete"
"create"
parm:device:characteristicstringcharacteristic"example"
parm:device:enablebooleanenabletrue
parm:device:iconstringicon"example"
parm:device:idintegerid42
parm:device:indexintegerindex42
parm:device:modelstringmodel"example"
parm:device:modulestringmodule"example"
parm:device:namestringname"example"
parm:device:pathstringpath"example"
parm:device:supplementobjectsupplement
parm:device:svaluestringsvalue"example"
parm:device:typestringtype"example"
snstringeK Core serial number"AH8AAAF999"
versionnumberAPI version 11

configure_device

POST 

Required Parameters

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"
namestringapi name"configure_device"
parm:device:actionstringaction
one of:"create" or "update" or "delete"
"create"
parm:device:characteristicstringcharacteristic"example"
parm:device:enablebooleanenabletrue
parm:device:iconstringicon"example"
parm:device:idintegerid42
parm:device:indexintegerindex42
parm:device:modelstringmodel"example"
parm:device:modulestringmodule"example"
parm:device:namestringname"example"
parm:device:pathstringpath"example"
parm:device:supplementobjectsupplement
parm:device:svaluestringsvalue"example"
parm:device:typestringtype"example"
snstringeK Core serial number"AH8AAAF999"
versionnumberAPI version 11

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
    "device": {
      "action": "create",
      "id": 42,
      "type": "example",
      "characteristic": "example",
      "path": "example",
      "name": "example",
      "icon": "example",
      "index": 42,
      "module": "example",
      "model": "example",
      "enable": true,
      "svalue": "example",
      "supplement": null
    }
  },
  "name": "configure_device",
  "version": 1,
  "sn": "AH8AAAF999",
  "email": "fred@gmail.com"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

configure_dosing

Application: peripheral

Scope: config

Configure name and group of eK Doser

Attributes

NameTypeDescriptionExample
namestringapi name"configure_dosing"
parm:groupintegergroup42
parm:namestringname"example"
snstringeK Doser serial number"AI8ADDF999"
versionnumberAPI version 11

configure_dosing

POST 

Required Parameters

NameTypeDescriptionExample
namestringapi name"configure_dosing"
parm:groupintegergroup42
parm:namestringname"example"
snstringeK Doser serial number"AI8ADDF999"
versionnumberAPI version 11

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
    "name": "example",
    "group": 42
  },
  "name": "configure_dosing",
  "version": 1,
  "sn": "AI8ADDF999"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

configure_invitation

Application: member

Scope: config

Create, update, delete invitation of eK Core

Attributes

NameTypeDescriptionExample
namestringapi name"configure_invitation"
parm:actionstringinvitation action
one of:"grant" or "revoke"
"grant"
parm:emailemaileKoral member email address"fred@gmail.com"
parm:role:camerabooleantrue for share camera, false for not share cameratrue
parm:role:levelintegershare level, 1 is for guest who can read states and values, 2 is for supporter who can control device manually, 3 is for consultant who has all permissions except sharing
one of:1 or 2 or 3
1
parm:snstringeK Core serial number"AH8AAAF999"
sidstringsession id"uxITN_UV-KupgSsvm5KXtZHEh2bY7gr2"
versionnumberAPI version 11

configure_invitation

POST 

Required Parameters

NameTypeDescriptionExample
namestringapi name"configure_invitation"
parm:actionstringinvitation action
one of:"grant" or "revoke"
"grant"
parm:emailemaileKoral member email address"fred@gmail.com"
parm:role:camerabooleantrue for share camera, false for not share cameratrue
parm:role:levelintegershare level, 1 is for guest who can read states and values, 2 is for supporter who can control device manually, 3 is for consultant who has all permissions except sharing
one of:1 or 2 or 3
1
parm:snstringeK Core serial number"AH8AAAF999"
versionnumberAPI version 11

Optional Parameters

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
    "action": "grant",
    "email": "fred@gmail.com",
    "sn": "AH8AAAF999",
    "role": {
      "level": 1,
      "camera": true
    }
  },
  "name": "configure_invitation",
  "version": 1,
  "email": "fred@gmail.com"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success"
}

configure_miniboard

Application: eko

Scope: config

Update eK Core name and other information

Attributes

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"
namestringapi name"configure_miniboard"
parm:miniboard:actionstringaction
one of:"update"
"update"
parm:miniboard:namestringeK Core name"example"
parm:miniboard:timezonestringtimezone"Australia/Sydney"
parm:miniboard:uristringdeprecated"example"
snstringeK Core serial number"AH8AAAF999"
versionnumberAPI version 11

configure_miniboard

POST 

Required Parameters

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"
namestringapi name"configure_miniboard"
parm:miniboard:actionstringaction
one of:"update"
"update"
parm:miniboard:namestringeK Core name"example"
parm:miniboard:timezonestringtimezone"Australia/Sydney"
parm:miniboard:uristringdeprecated"example"
snstringeK Core serial number"AH8AAAF999"
versionnumberAPI version 11

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
    "miniboard": {
      "name": "example",
      "uri": "example",
      "timezone": "Australia/Sydney",
      "action": "update"
    }
  },
  "name": "configure_miniboard",
  "version": 1,
  "sn": "AH8AAAF999",
  "email": "fred@gmail.com"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "errors": null,
  "data": {
    "miniboard": "miniboard object"
  }
}

configure_miniboards

Application: member

Scope: config

  1. Update eK Core / eK Doser,
  2. Delete eK Core / eK Doser,
  3. Compose is to let eK Core contain eK Doser,
  4. Decompose is to remove containment of eK Doser from eK Core

Attributes

NameTypeDescriptionExample
namestringapi name"configure_miniboards"
parmobjectparm
sidstringsession id"uxITN_UV-KupgSsvm5KXtZHEh2bY7gr2"
versionnumberAPI version 11

configure_miniboards

POST 

Required Parameters

NameTypeDescriptionExample
namestringapi name"configure_miniboards"
parmobjectparm
versionnumberAPI version 11

Optional Parameters

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": null,
  "name": "configure_miniboards",
  "version": 1,
  "email": "fred@gmail.com"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

configure_mongo

Application: member

Scope: config

configure_mongo

Attributes

NameTypeDescriptionExample
namestringapi name"configure_mongo"
parm:actionstringaction
one of:"create" or "update" or "delete"
"create"
parm:collectionstringcollection"example"
parm:docobjectdoc
parm:idstringid"example"
parm:idsarrayids[null]
sidstringsession id"uxITN_UV-KupgSsvm5KXtZHEh2bY7gr2"
versionnumberAPI version 11

configure_mongo

POST 

Required Parameters

NameTypeDescriptionExample
namestringapi name"configure_mongo"
parm:actionstringaction
one of:"create" or "update" or "delete"
"create"
parm:collectionstringcollection"example"
parm:docobjectdoc
parm:idstringid"example"
parm:idsarrayids[null]
versionnumberAPI version 11

Optional Parameters

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
    "collection": "example",
    "ids": [
      null
    ],
    "id": "example",
    "doc": null,
    "action": "create"
  },
  "name": "configure_mongo",
  "version": 1,
  "email": "fred@gmail.com"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

configure_myminiboard

Application: member

Scope: config

configure_myminiboard

Attributes

NameTypeDescriptionExample
namestringapi name"configure_myminiboard"
parm:miniboard:actionstringaction
one of:"update" or "delete"
"update"
parm:miniboard:namestringname"example"
parm:miniboard:snstringsn"example"
sidstringsession id"uxITN_UV-KupgSsvm5KXtZHEh2bY7gr2"
versionnumberAPI version 11

configure_myminiboard

POST 

Required Parameters

NameTypeDescriptionExample
namestringapi name"configure_myminiboard"
parm:miniboard:actionstringaction
one of:"update" or "delete"
"update"
parm:miniboard:namestringname"example"
parm:miniboard:snstringsn"example"
versionnumberAPI version 11

Optional Parameters

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
    "miniboard": {
      "name": "example",
      "sn": "example",
      "action": "update"
    }
  },
  "name": "configure_myminiboard",
  "version": 1,
  "email": "fred@gmail.com"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

configure_plan

Application: eko

Scope: config

configure_plan

Attributes

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"
namestringapi name"configure_plan"
parm:plan:actionstringaction
one of:"create" or "update" or "delete"
"create"
parm:plan:devicesarraydevices
parm:plan:durationintegerduration
Range: 1000 <= value
42
parm:plan:idintegerid42
parm:plan:namestringname"example"
parm:plan:typestringtype
one of:"maintain" or "feed" or "customize"
"maintain"
snstringeK Core serial number"AH8AAAF999"
versionnumberAPI version 11

configure_plan

POST 

Required Parameters

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"
namestringapi name"configure_plan"
parm:plan:actionstringaction
one of:"create" or "update" or "delete"
"create"
parm:plan:devicesarraydevices
parm:plan:durationintegerduration
Range: 1000 <= value
42
parm:plan:idintegerid42
parm:plan:namestringname"example"
parm:plan:typestringtype
one of:"maintain" or "feed" or "customize"
"maintain"
snstringeK Core serial number"AH8AAAF999"
versionnumberAPI version 11

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
    "plan": {
      "action": "create",
      "id": 42,
      "type": "maintain",
      "name": "example",
      "duration": 42,
      "devices": null
    }
  },
  "name": "configure_plan",
  "version": 1,
  "sn": "AH8AAAF999",
  "email": "fred@gmail.com"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

configure_rule

Application: eko

Scope: config

configure_rule

Attributes

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"
namestringapi name"configure_rule"
parm:rule:conditions/cronarraycron
parm:rule:conditions/if:device_idintegerdevice_id42
parm:rule:conditions/if:opstringop
one of:"gt" or "eq" or "lt" or "ne" or "ge" or "le"
"gt"
parm:rule:conditions/if:valuenumbervalue42.0
parm:rule:conditions/if:value_typestringvalue_type"example"
parm:rule:conditions/pause:durationintegerduration
Range: 60000 <= value <= 86400000
42
parm:rule:conditions/then:device_idintegerdevice_id42
parm:rule:conditions/then:tasks/capabilitystringcapability"example"
parm:rule:conditions/then:tasks/durationintegerduration
Range: 1 <= value
42
parm:rule:conditions/then:tasks/typestringtype
one of:"defer" or "onoff" or "command"
"defer"
parm:rule:conditions/then:tasks/valuenumbervalue42.0
parm:rule:conditions/then:tasks/valuesobjectvalues
parm:rule:conditions/until:opstringop
one of:"gt" or "eq" or "lt" or "ne" or "ge" or "le"
"gt"
parm:rule:conditions/until:valuenumbervalue42.0
parm:rule:enablebooleanenabletrue
parm:rule:gidintegergid42
parm:rule:iconstringicon"example"
parm:rule:namestringname"example"
snstringeK Core serial number"AH8AAAF999"
versionnumberAPI version 11

configure_rule

POST 

Required Parameters

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"
namestringapi name"configure_rule"
parm:rule:conditions/cronarraycron
parm:rule:conditions/if:device_idintegerdevice_id42
parm:rule:conditions/if:opstringop
one of:"gt" or "eq" or "lt" or "ne" or "ge" or "le"
"gt"
parm:rule:conditions/if:valuenumbervalue42.0
parm:rule:conditions/if:value_typestringvalue_type"example"
parm:rule:conditions/pause:durationintegerduration
Range: 60000 <= value <= 86400000
42
parm:rule:conditions/then:device_idintegerdevice_id42
parm:rule:conditions/then:tasks/capabilitystringcapability"example"
parm:rule:conditions/then:tasks/durationintegerduration
Range: 1 <= value
42
parm:rule:conditions/then:tasks/typestringtype
one of:"defer" or "onoff" or "command"
"defer"
parm:rule:conditions/then:tasks/valuenumbervalue42.0
parm:rule:conditions/then:tasks/valuesobjectvalues
parm:rule:conditions/until:opstringop
one of:"gt" or "eq" or "lt" or "ne" or "ge" or "le"
"gt"
parm:rule:conditions/until:valuenumbervalue42.0
parm:rule:enablebooleanenabletrue
parm:rule:gidintegergid42
parm:rule:iconstringicon"example"
parm:rule:namestringname"example"
snstringeK Core serial number"AH8AAAF999"
versionnumberAPI version 11

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
    "rule": {
      "gid": 42,
      "name": "example",
      "icon": "example",
      "enable": true,
      "conditions": [
        {
          "if": {
            "op": "gt",
            "value": 42.0,
            "value_type": "example",
            "device_id": 42
          },
          "then": {
            "device_id": 42,
            "tasks": [
              {
                "type": "defer",
                "duration": 42,
                "value": 42.0,
                "values": null,
                "capability": "example"
              }
            ]
          },
          "until": {
            "op": "gt",
            "value": 42.0
          },
          "cron": null,
          "pause": {
            "duration": 42
          }
        }
      ]
    }
  },
  "name": "configure_rule",
  "version": 1,
  "sn": "AH8AAAF999",
  "email": "fred@gmail.com"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

configure_schedule

Application: eko

Scope: config

configure_schedule

Attributes

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"
namestringapi name"configure_schedule"
parm:schedule:actionstringaction
one of:"create" or "update" or "delete"
"create"
parm:schedule:cronstringcron"example"
parm:schedule:device_idintegerdevice_id42
parm:schedule:durationintegerduration
Range: 1 <= value
42
parm:schedule:enablebooleanenabletrue
parm:schedule:eventsobjectevents
parm:schedule:iconstringicon"example"
parm:schedule:idintegerid42
parm:schedule:loopbooleanlooptrue
parm:schedule:namestringname"example"
parm:schedule:plan_idintegerplan_id42
parm:schedule:tasks/capabilitystringcapability"example"
parm:schedule:tasks/durationintegerduration
Range: 1 <= value
42
parm:schedule:tasks/eventsobjectevents
parm:schedule:tasks/featuresobjectfeatures
parm:schedule:tasks/patternstringpattern"example"
parm:schedule:tasks/rampbooleanramptrue
parm:schedule:tasks/values/duration_fallnumberduration_fall42.0
parm:schedule:tasks/values/duration_maxnumberduration_max42.0
parm:schedule:tasks/values/duration_minnumberduration_min42.0
parm:schedule:tasks/values/duration_risenumberduration_rise42.0
parm:schedule:tasks/values/end_densitynumberend_density42.0
parm:schedule:tasks/values/end_density_rangearrayend_density_range[null]
parm:schedule:tasks/values/maxnumbermax42.0
parm:schedule:tasks/values/max_rangearraymax_range[null]
parm:schedule:tasks/values/minnumbermin42.0
parm:schedule:tasks/values/min_rangearraymin_range[null]
parm:schedule:tasks/values/start_densitynumberstart_density42.0
parm:schedule:tasks/values/start_density_rangearraystart_density_range[null]
snstringeK Core serial number"AH8AAAF999"
versionnumberAPI version 11

configure_schedule

POST 

Required Parameters

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"
namestringapi name"configure_schedule"
parm:schedule:actionstringaction
one of:"create" or "update" or "delete"
"create"
parm:schedule:cronstringcron"example"
parm:schedule:device_idintegerdevice_id42
parm:schedule:durationintegerduration
Range: 1 <= value
42
parm:schedule:enablebooleanenabletrue
parm:schedule:eventsobjectevents
parm:schedule:iconstringicon"example"
parm:schedule:idintegerid42
parm:schedule:loopbooleanlooptrue
parm:schedule:namestringname"example"
parm:schedule:plan_idintegerplan_id42
parm:schedule:tasks/capabilitystringcapability"example"
parm:schedule:tasks/durationintegerduration
Range: 1 <= value
42
parm:schedule:tasks/eventsobjectevents
parm:schedule:tasks/featuresobjectfeatures
parm:schedule:tasks/patternstringpattern"example"
parm:schedule:tasks/rampbooleanramptrue
parm:schedule:tasks/values/duration_fallnumberduration_fall42.0
parm:schedule:tasks/values/duration_maxnumberduration_max42.0
parm:schedule:tasks/values/duration_minnumberduration_min42.0
parm:schedule:tasks/values/duration_risenumberduration_rise42.0
parm:schedule:tasks/values/end_densitynumberend_density42.0
parm:schedule:tasks/values/end_density_rangearrayend_density_range[null]
parm:schedule:tasks/values/maxnumbermax42.0
parm:schedule:tasks/values/max_rangearraymax_range[null]
parm:schedule:tasks/values/minnumbermin42.0
parm:schedule:tasks/values/min_rangearraymin_range[null]
parm:schedule:tasks/values/start_densitynumberstart_density42.0
parm:schedule:tasks/values/start_density_rangearraystart_density_range[null]
snstringeK Core serial number"AH8AAAF999"
versionnumberAPI version 11

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
    "schedule": {
      "id": 42,
      "plan_id": 42,
      "name": "example",
      "icon": "example",
      "cron": "example",
      "enable": true,
      "device_id": 42,
      "duration": 42,
      "loop": true,
      "events": null,
      "tasks": [
        {
          "duration": 42,
          "ramp": true,
          "capability": "example",
          "pattern": "example",
          "features": null,
          "events": null,
          "values": [
            {
              "start_density": 42.0,
              "end_density": 42.0,
              "max": 42.0,
              "min": 42.0,
              "start_density_range": [
                null
              ],
              "end_density_range": [
                null
              ],
              "max_range": [
                null
              ],
              "min_range": [
                null
              ],
              "duration_max": 42.0,
              "duration_min": 42.0,
              "duration_rise": 42.0,
              "duration_fall": 42.0
            }
          ]
        }
      ],
      "action": "create"
    }
  },
  "name": "configure_schedule",
  "version": 1,
  "sn": "AH8AAAF999",
  "email": "fred@gmail.com"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

configure_simulator

Application: eko

Scope: config

configure_simulator

Attributes

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"
namestringapi name"configure_simulator"
parm:simulatorobjectsimulator
snstringeK Core serial number"AH8AAAF999"
versionnumberAPI version 11

configure_simulator

POST 

Required Parameters

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"
namestringapi name"configure_simulator"
parm:simulatorobjectsimulator
snstringeK Core serial number"AH8AAAF999"
versionnumberAPI version 11

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
    "simulator": null
  },
  "name": "configure_simulator",
  "version": 1,
  "sn": "AH8AAAF999",
  "email": "fred@gmail.com"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

configure_sns

Application: member

Scope: config

configure_sns

Attributes

NameTypeDescriptionExample
namestringapi name"configure_sns"
parm:appstringapp
one of:"mobile" or "ekmodule" or "mobileas" or "eklite"
"mobile"
parm:app_versionstringapp_version"example"
parm:device_tokenstringdevice_token"example"
parm:localestringlocale"example"
parm:onoffbooleanonofftrue
parm:osstringos"example"
parm:platformstringplatform
one of:"ios" or "android" or "browser"
"ios"
parm:servicestringservice
one of:"fcm" or "xg"
"fcm"
sidstringsession id"uxITN_UV-KupgSsvm5KXtZHEh2bY7gr2"
versionnumberAPI version 11

configure_sns

POST 

Required Parameters

NameTypeDescriptionExample
namestringapi name"configure_sns"
parm:appstringapp
one of:"mobile" or "ekmodule" or "mobileas" or "eklite"
"mobile"
parm:app_versionstringapp_version"example"
parm:device_tokenstringdevice_token"example"
parm:localestringlocale"example"
parm:onoffbooleanonofftrue
parm:osstringos"example"
parm:platformstringplatform
one of:"ios" or "android" or "browser"
"ios"
parm:servicestringservice
one of:"fcm" or "xg"
"fcm"
versionnumberAPI version 11

Optional Parameters

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
    "device_token": "example",
    "onoff": true,
    "platform": "ios",
    "locale": "example",
    "service": "fcm",
    "app": "mobile",
    "app_version": "example",
    "os": "example"
  },
  "name": "configure_sns",
  "version": 1,
  "email": "fred@gmail.com"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

configure_sns_setting

Application: member

Scope: config

configure_sns_setting

Attributes

NameTypeDescriptionExample
namestringapi name"configure_sns_setting"
parm:onoffbooleanonofftrue
parm:onoffs/namestringname"example"
parm:onoffs/onoffbooleanonofftrue
parm:range/maxnumbermax42.0
parm:range/minnumbermin42.0
parm:range/typestringtype"example"
parm:snstringsn"example"
parm:units/typestringtype"example"
parm:units/unitstringunit"example"
parm:units/valuestringvalue"example"
sidstringsession id"uxITN_UV-KupgSsvm5KXtZHEh2bY7gr2"
versionnumberAPI version 11

configure_sns_setting

POST 

Required Parameters

NameTypeDescriptionExample
namestringapi name"configure_sns_setting"
parm:onoffbooleanonofftrue
parm:onoffs/namestringname"example"
parm:onoffs/onoffbooleanonofftrue
parm:range/maxnumbermax42.0
parm:range/minnumbermin42.0
parm:range/typestringtype"example"
parm:snstringsn"example"
parm:units/typestringtype"example"
parm:units/unitstringunit"example"
parm:units/valuestringvalue"example"
versionnumberAPI version 11

Optional Parameters

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
    "sn": "example",
    "onoff": true,
    "units": [
      {
        "type": "example",
        "value": "example",
        "unit": "example"
      }
    ],
    "range": [
      {
        "type": "example",
        "min": 42.0,
        "max": 42.0
      }
    ],
    "onoffs": [
      {
        "name": "example",
        "onoff": true
      }
    ]
  },
  "name": "configure_sns_setting",
  "version": 1,
  "email": "fred@gmail.com"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

configure_tank

Application: member

Scope: config

configure_tank

Attributes

NameTypeDescriptionExample
namestringapi name"configure_tank"
parm:actionstringaction
one of:"create" or "update" or "delete"
"create"
parm:tank:idintegerid
Range: 1 <= value
42
parm:tank:namestringname"example"
parm:tank:speciesarrayspecies
sidstringsession id"uxITN_UV-KupgSsvm5KXtZHEh2bY7gr2"
versionnumberAPI version 11

configure_tank

POST 

Required Parameters

NameTypeDescriptionExample
namestringapi name"configure_tank"
parm:actionstringaction
one of:"create" or "update" or "delete"
"create"
parm:tank:idintegerid
Range: 1 <= value
42
parm:tank:namestringname"example"
parm:tank:speciesarrayspecies
versionnumberAPI version 11

Optional Parameters

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
    "action": "create",
    "tank": {
      "id": 42,
      "name": "example",
      "species": null
    }
  },
  "name": "configure_tank",
  "version": 1,
  "email": "fred@gmail.com"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

connect_ap

Application: eko

Scope: config

connect_ap

Attributes

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"
namestringapi name"connect_ap"
parm:passphrasestringpassphrase"example"
parm:ssidstringssid"example"
snstringeK Core serial number"AH8AAAF999"
versionnumberAPI version 11

connect_ap

POST 

Required Parameters

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"
namestringapi name"connect_ap"
parm:passphrasestringpassphrase"example"
parm:ssidstringssid"example"
snstringeK Core serial number"AH8AAAF999"
versionnumberAPI version 11

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
    "ssid": "example",
    "passphrase": "example"
  },
  "name": "connect_ap",
  "version": 1,
  "sn": "AH8AAAF999",
  "email": "fred@gmail.com"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

control_device

Application: eko

Scope: control

control_device

Attributes

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"
namestringapi name"control_device"
parm:device:capabilitystringcapability"example"
parm:device:idintegerid42
parm:device:svaluestringsvalue"example"
parm:device:valuenumbervalue42.0
parm:device:value1numbervalue142.0
parm:device:valuesobjectvalues
snstringeK Core serial number"AH8AAAF999"
versionnumberAPI version 11

control_device

POST 

Required Parameters

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"
namestringapi name"control_device"
parm:device:capabilitystringcapability"example"
parm:device:idintegerid42
parm:device:svaluestringsvalue"example"
parm:device:valuenumbervalue42.0
parm:device:value1numbervalue142.0
parm:device:valuesobjectvalues
snstringeK Core serial number"AH8AAAF999"
versionnumberAPI version 11

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
    "device": {
      "id": 42,
      "capability": "example",
      "value": 42.0,
      "value1": 42.0,
      "svalue": "example",
      "values": null
    }
  },
  "name": "control_device",
  "version": 1,
  "sn": "AH8AAAF999",
  "email": "fred@gmail.com"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

control_dosing

Application: peripheral

Scope: control

control_dosing

Attributes

NameTypeDescriptionExample
namestringapi name"control_dosing"
parm:mlnumberml42.0
parm:permitbooleanpermittrue
parm:portintegerport42
snstringeK Doser serial number"AI8ADDF999"
versionnumberAPI version 11

control_dosing

POST 

Required Parameters

NameTypeDescriptionExample
namestringapi name"control_dosing"
parm:mlnumberml42.0
parm:permitbooleanpermittrue
parm:portintegerport42
snstringeK Doser serial number"AI8ADDF999"
versionnumberAPI version 11

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
    "port": 42,
    "ml": 42.0,
    "permit": true
  },
  "name": "control_dosing",
  "version": 1,
  "sn": "AI8ADDF999"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

control_plan

Application: eko

Scope: control

control_plan

Attributes

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"
namestringapi name"control_plan"
parm:actionstringaction
one of:"start" or "stop" or "status" or "extend" or "cancel"
"start"
parm:durationintegerduration
Range: 1000 <= value
42
parm:idintegerid42
parm:typestringtype
one of:"maintain" or "feed" or "customize"
"maintain"
snstringeK Core serial number"AH8AAAF999"
versionnumberAPI version 11

control_plan

POST 

Required Parameters

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"
namestringapi name"control_plan"
parm:actionstringaction
one of:"start" or "stop" or "status" or "extend" or "cancel"
"start"
parm:durationintegerduration
Range: 1000 <= value
42
parm:idintegerid42
parm:typestringtype
one of:"maintain" or "feed" or "customize"
"maintain"
snstringeK Core serial number"AH8AAAF999"
versionnumberAPI version 11

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
    "action": "start",
    "type": "maintain",
    "id": 42,
    "duration": 42
  },
  "name": "control_plan",
  "version": 1,
  "sn": "AH8AAAF999",
  "email": "fred@gmail.com"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

diagnose_network

Application: eko

Scope: control

diagnose_network

Attributes

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"
namestringapi name"diagnose_network"
snstringeK Core serial number"AH8AAAF999"
versionnumberAPI version 11

diagnose_network

POST 

Required Parameters

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"
namestringapi name"diagnose_network"
snstringeK Core serial number"AH8AAAF999"
versionnumberAPI version 11

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
  },
  "name": "diagnose_network",
  "version": 1,
  "sn": "AH8AAAF999",
  "email": "fred@gmail.com"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

diagnose_system

Application: eko

Scope: control

diagnose_system

Attributes

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"
namestringapi name"diagnose_system"
parm:testsobjecttests
snstringeK Core serial number"AH8AAAF999"
versionnumberAPI version 11

diagnose_system

POST 

Required Parameters

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"
namestringapi name"diagnose_system"
parm:testsobjecttests
snstringeK Core serial number"AH8AAAF999"
versionnumberAPI version 11

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
    "tests": null
  },
  "name": "diagnose_system",
  "version": 1,
  "sn": "AH8AAAF999",
  "email": "fred@gmail.com"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

disconnect_ap

Application: eko

Scope: control

disconnect_ap

Attributes

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"
namestringapi name"disconnect_ap"
snstringeK Core serial number"AH8AAAF999"
versionnumberAPI version 11

disconnect_ap

POST 

Required Parameters

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"
namestringapi name"disconnect_ap"
snstringeK Core serial number"AH8AAAF999"
versionnumberAPI version 11

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
  },
  "name": "disconnect_ap",
  "version": 1,
  "sn": "AH8AAAF999",
  "email": "fred@gmail.com"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

forget_password

Application: member

Scope: access

forget_password

Attributes

NameTypeDescriptionExample
namestringapi name"forget_password"
parm:emailemailemail"username@example.com"
versionnumberAPI version 11

forget_password

POST 

Required Parameters

NameTypeDescriptionExample
namestringapi name"forget_password"
parm:emailemailemail"username@example.com"
versionnumberAPI version 11

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
    "email": "username@example.com"
  },
  "name": "forget_password",
  "version": 1
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

get_aggregation

Application: member

Scope: access

get_aggregation

Attributes

NameTypeDescriptionExample
namestringapi name"get_aggregation"
parm:collectionstringcollection"example"
parm:limitintegerlimit42
parm:projectionobjectprojection
parm:queryobjectquery
parm:skipintegerskip42
parm:snstringsn"example"
parm:sortobjectsort
sidstringsession id"uxITN_UV-KupgSsvm5KXtZHEh2bY7gr2"
versionnumberAPI version 11

get_aggregation

POST 

Required Parameters

NameTypeDescriptionExample
namestringapi name"get_aggregation"
parm:collectionstringcollection"example"
parm:limitintegerlimit42
parm:projectionobjectprojection
parm:queryobjectquery
parm:skipintegerskip42
parm:snstringsn"example"
parm:sortobjectsort
sidstringsession id"uxITN_UV-KupgSsvm5KXtZHEh2bY7gr2"
versionnumberAPI version 11

Optional Parameters

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
    "sn": "example",
    "collection": "example",
    "limit": 42,
    "query": null,
    "projection": null,
    "sort": null,
    "skip": 42
  },
  "name": "get_aggregation",
  "version": 1,
  "sid": "uxITN_UV-KupgSsvm5KXtZHEh2bY7gr2",
  "email": "fred@gmail.com"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

get_alert_setting

Application: eko

Scope: access

get_alert_setting

Attributes

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"
namestringapi name"get_alert_setting"
parm:device_idintegerdevice_id42
snstringeK Core serial number"AH8AAAF999"
versionnumberAPI version 11

get_alert_setting

POST 

Required Parameters

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"
namestringapi name"get_alert_setting"
parm:device_idintegerdevice_id42
snstringeK Core serial number"AH8AAAF999"
versionnumberAPI version 11

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
    "device_id": 42
  },
  "name": "get_alert_setting",
  "version": 1,
  "sn": "AH8AAAF999",
  "email": "fred@gmail.com"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

get_characteristics

Application: eko

Scope: access

get_characteristics

Attributes

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"
namestringapi name"get_characteristics"
snstringeK Core serial number"AH8AAAF999"
versionnumberAPI version 11

get_characteristics

POST 

Required Parameters

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"
namestringapi name"get_characteristics"
snstringeK Core serial number"AH8AAAF999"
versionnumberAPI version 11

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
  },
  "name": "get_characteristics",
  "version": 1,
  "sn": "AH8AAAF999",
  "email": "fred@gmail.com"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

get_device

Application: eko

Scope: access

get_device

Attributes

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"
namestringapi name"get_device"
parm:characteristicstringcharacteristic"example"
parm:enablebooleanenabletrue
parm:idintegerid42
parm:indexintegerindex42
parm:modulestringmodule"example"
parm:typestringtype"example"
snstringeK Core serial number"AH8AAAF999"
versionnumberAPI version 11

get_device

POST 

Required Parameters

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"
namestringapi name"get_device"
parm:characteristicstringcharacteristic"example"
parm:enablebooleanenabletrue
parm:idintegerid42
parm:indexintegerindex42
parm:modulestringmodule"example"
parm:typestringtype"example"
snstringeK Core serial number"AH8AAAF999"
versionnumberAPI version 11

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
    "type": "example",
    "characteristic": "example",
    "id": 42,
    "module": "example",
    "index": 42,
    "enable": true
  },
  "name": "get_device",
  "version": 1,
  "sn": "AH8AAAF999",
  "email": "fred@gmail.com"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

get_device_associations

Application: eko

Scope: access

get_device_associations

Attributes

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"
namestringapi name"get_device_associations"
parm:devicesobjectdevices
snstringeK Core serial number"AH8AAAF999"
versionnumberAPI version 11

get_device_associations

POST 

Required Parameters

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"
namestringapi name"get_device_associations"
parm:devicesobjectdevices
snstringeK Core serial number"AH8AAAF999"
versionnumberAPI version 11

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
    "devices": null
  },
  "name": "get_device_associations",
  "version": 1,
  "sn": "AH8AAAF999",
  "email": "fred@gmail.com"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

get_device_types

Application: eko

Scope: access

get_device_types

Attributes

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"
namestringapi name"get_device_types"
parm:characteristicstringcharacteristic"example"
parm:typestringtype"example"
snstringeK Core serial number"AH8AAAF999"
versionnumberAPI version 11

get_device_types

POST 

Required Parameters

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"
namestringapi name"get_device_types"
parm:characteristicstringcharacteristic"example"
parm:typestringtype"example"
snstringeK Core serial number"AH8AAAF999"
versionnumberAPI version 11

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
    "type": "example",
    "characteristic": "example"
  },
  "name": "get_device_types",
  "version": 1,
  "sn": "AH8AAAF999",
  "email": "fred@gmail.com"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

get_dosing_log

Application: peripheral

Scope: access

get_dosing_log

Attributes

NameTypeDescriptionExample
namestringapi name"get_dosing_log"
parm:portintegerport42
parm:typestringtype"example"
snstringeK Doser serial number"AI8ADDF999"
versionnumberAPI version 11

get_dosing_log

POST 

Required Parameters

NameTypeDescriptionExample
namestringapi name"get_dosing_log"
parm:portintegerport42
parm:typestringtype"example"
snstringeK Doser serial number"AI8ADDF999"
versionnumberAPI version 11

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
    "port": 42,
    "type": "example"
  },
  "name": "get_dosing_log",
  "version": 1,
  "sn": "AI8ADDF999"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

get_dosing_schedule

Application: peripheral

Scope: access

get_dosing_schedule

Attributes

NameTypeDescriptionExample
namestringapi name"get_dosing_schedule"
parm:groupintegergroup42
snstringeK Doser serial number"AI8ADDF999"
versionnumberAPI version 11

get_dosing_schedule

POST 

Required Parameters

NameTypeDescriptionExample
namestringapi name"get_dosing_schedule"
parm:groupintegergroup42
snstringeK Doser serial number"AI8ADDF999"
versionnumberAPI version 11

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
    "group": 42
  },
  "name": "get_dosing_schedule",
  "version": 1,
  "sn": "AI8ADDF999"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

get_invitation

Application: member

Scope: access

get_invitation

Attributes

NameTypeDescriptionExample
namestringapi name"get_invitation"
parm:snstringsn"example"
sidstringsession id"uxITN_UV-KupgSsvm5KXtZHEh2bY7gr2"
versionnumberAPI version 11

get_invitation

POST 

Required Parameters

NameTypeDescriptionExample
namestringapi name"get_invitation"
parm:snstringsn"example"
sidstringsession id"uxITN_UV-KupgSsvm5KXtZHEh2bY7gr2"
versionnumberAPI version 11

Optional Parameters

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
    "sn": "example"
  },
  "name": "get_invitation",
  "version": 1,
  "sid": "uxITN_UV-KupgSsvm5KXtZHEh2bY7gr2",
  "email": "fred@gmail.com"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

get_journal

Application: eko

Scope: access

get_journal

Attributes

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"
namestringapi name"get_journal"
parm:countintegercount42
parm:from_timestampnumberfrom_timestamp42.0
parm:to_timestampnumberto_timestamp42.0
snstringeK Core serial number"AH8AAAF999"
versionnumberAPI version 11

get_journal

POST 

Required Parameters

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"
namestringapi name"get_journal"
parm:countintegercount42
parm:from_timestampnumberfrom_timestamp42.0
parm:to_timestampnumberto_timestamp42.0
snstringeK Core serial number"AH8AAAF999"
versionnumberAPI version 11

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
    "count": 42,
    "from_timestamp": 42.0,
    "to_timestamp": 42.0
  },
  "name": "get_journal",
  "version": 1,
  "sn": "AH8AAAF999",
  "email": "fred@gmail.com"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

get_miniboard

Application: eko

Scope: access

get_miniboard

Attributes

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"
namestringapi name"get_miniboard"
snstringeK Core serial number"AH8AAAF999"
versionnumberAPI version 11

get_miniboard

POST 

Required Parameters

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"
namestringapi name"get_miniboard"
snstringeK Core serial number"AH8AAAF999"
versionnumberAPI version 11

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
  },
  "name": "get_miniboard",
  "version": 1,
  "sn": "AH8AAAF999",
  "email": "fred@gmail.com"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

get_miniboards

Application: member

Scope: access

Get all eK Core or eK Doser, for those are owned or invited by then authenticate member

Attributes

NameTypeDescriptionExample
namestringapi name"get_miniboards"
sidstringsession id"uxITN_UV-KupgSsvm5KXtZHEh2bY7gr2"
versionnumberAPI version 11

get_miniboards example

POST 

Required Parameters

NameTypeDescriptionExample
namestringapi name"get_miniboards"
sidstringsession id"uxITN_UV-KupgSsvm5KXtZHEh2bY7gr2"
versionnumberAPI version 11

Curl Example

$ curl -n -X POST  \
  -d '{
  "name": "get_miniboards",
  "version": 1,
  "sid": "uxITN_UV-KupgSsvm5KXtZHEh2bY7gr2"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
    "email": "fred@gmail.com",
    "first_name": {
      "$ref": "#/definitions/meta/definitions/miniboard"
    },
    "last_name": "While",
    "gender": "male",
    "locale": "en_US",
    "sid": "uxITN_UV-KupgSsvm5KXtZHEh2bY7gr2"
  }
}

get_plan

Application: eko

Scope: access

get_plan

Attributes

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"
namestringapi name"get_plan"
parm:idintegerid42
parm:typestringtype
one of:"maintain" or "feed" or "customize"
"maintain"
snstringeK Core serial number"AH8AAAF999"
versionnumberAPI version 11

get_plan

POST 

Required Parameters

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"
namestringapi name"get_plan"
parm:idintegerid42
parm:typestringtype
one of:"maintain" or "feed" or "customize"
"maintain"
snstringeK Core serial number"AH8AAAF999"
versionnumberAPI version 11

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
    "id": 42,
    "type": "maintain"
  },
  "name": "get_plan",
  "version": 1,
  "sn": "AH8AAAF999",
  "email": "fred@gmail.com"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

get_rule

Application: eko

Scope: access

get_rule

Attributes

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"
namestringapi name"get_rule"
parm:enablebooleanenabletrue
parm:gidintegergid42
snstringeK Core serial number"AH8AAAF999"
versionnumberAPI version 11

get_rule

POST 

Required Parameters

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"
namestringapi name"get_rule"
parm:enablebooleanenabletrue
parm:gidintegergid42
snstringeK Core serial number"AH8AAAF999"
versionnumberAPI version 11

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
    "gid": 42,
    "enable": true
  },
  "name": "get_rule",
  "version": 1,
  "sn": "AH8AAAF999",
  "email": "fred@gmail.com"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

get_schedule

Application: eko

Scope: access

get_schedule

Attributes

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"
namestringapi name"get_schedule"
parm:idintegerid42
snstringeK Core serial number"AH8AAAF999"
versionnumberAPI version 11

get_schedule

POST 

Required Parameters

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"
namestringapi name"get_schedule"
parm:idintegerid42
snstringeK Core serial number"AH8AAAF999"
versionnumberAPI version 11

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
    "id": 42
  },
  "name": "get_schedule",
  "version": 1,
  "sn": "AH8AAAF999",
  "email": "fred@gmail.com"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

get_schedule_task

Application: peripheral

Scope: access

get_schedule_task

Attributes

NameTypeDescriptionExample
namestringapi name"get_schedule_task"
parm:idintegerid
Range: 1 <= value <= 48
42
snstringeK Doser serial number"AI8ADDF999"
versionnumberAPI version 11

get_schedule_task

POST 

Required Parameters

NameTypeDescriptionExample
namestringapi name"get_schedule_task"
parm:idintegerid
Range: 1 <= value <= 48
42
snstringeK Doser serial number"AI8ADDF999"
versionnumberAPI version 11

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
    "id": 42
  },
  "name": "get_schedule_task",
  "version": 1,
  "sn": "AI8ADDF999"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

get_schedule

Application: eko

Scope: access

get_schedule

Attributes

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"
namestringapi name"get_schedule"
parm:idintegerid42
snstringeK Core serial number"AH8AAAF999"
versionnumberAPI version 22

get_schedule

POST 

Required Parameters

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"
namestringapi name"get_schedule"
parm:idintegerid42
snstringeK Core serial number"AH8AAAF999"
versionnumberAPI version 11

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
    "id": 42
  },
  "name": "get_schedule",
  "version": 1,
  "sn": "AH8AAAF999",
  "email": "fred@gmail.com"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

get_sensor_readings

Application: eko

Scope: access

get_sensor_readings

Attributes

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"
namestringapi name"get_sensor_readings"
parm:device_idintegerdevice_id42
parm:from_timestampintegerfrom_timestamp
Range: 1 <= value
42
parm:interval:lengthintegerlength
Range: 0 <= value
42
parm:interval:unitstringunit
one of:"minutes" or "hours" or "days"
"minutes"
parm:past:lengthintegerlength
Range: 0 <= value
42
parm:past:unitstringunit
one of:"minutes" or "hours" or "days"
"minutes"
parm:to_timestampintegerto_timestamp
Range: 1 <= value
42
parm:typestringtype"example"
snstringeK Core serial number"AH8AAAF999"
versionnumberAPI version 11

get_sensor_readings

POST 

Required Parameters

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"
namestringapi name"get_sensor_readings"
parm:device_idintegerdevice_id42
parm:from_timestampintegerfrom_timestamp
Range: 1 <= value
42
parm:interval:lengthintegerlength
Range: 0 <= value
42
parm:interval:unitstringunit
one of:"minutes" or "hours" or "days"
"minutes"
parm:past:lengthintegerlength
Range: 0 <= value
42
parm:past:unitstringunit
one of:"minutes" or "hours" or "days"
"minutes"
parm:to_timestampintegerto_timestamp
Range: 1 <= value
42
parm:typestringtype"example"
snstringeK Core serial number"AH8AAAF999"
versionnumberAPI version 11

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
    "device_id": 42,
    "type": "example",
    "interval": {
      "unit": "minutes",
      "length": 42
    },
    "past": {
      "unit": "minutes",
      "length": 42
    },
    "from_timestamp": 42,
    "to_timestamp": 42
  },
  "name": "get_sensor_readings",
  "version": 1,
  "sn": "AH8AAAF999",
  "email": "fred@gmail.com"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

get_sensor_readings

Application: eko

Scope: access

get_sensor_readings

Attributes

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"
namestringapi name"get_sensor_readings"
parm:device_idintegerdevice_id42
parm:from_timestampintegerfrom_timestamp
Range: 0 <= value
42
parm:interval:lengthintegerlength
Range: 0 <= value
42
parm:interval:unitstringunit
one of:"minutes" or "hours" or "days"
"minutes"
parm:past:lengthintegerlength
Range: 0 <= value
42
parm:past:unitstringunit
one of:"minutes" or "hours" or "days"
"minutes"
parm:to_timestampintegerto_timestamp
Range: 0 <= value
42
parm:typeobjecttype
snstringeK Core serial number"AH8AAAF999"
versionnumberAPI version 22

get_sensor_readings

POST 

Required Parameters

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"
namestringapi name"get_sensor_readings"
parm:device_idintegerdevice_id42
parm:from_timestampintegerfrom_timestamp
Range: 0 <= value
42
parm:interval:lengthintegerlength
Range: 0 <= value
42
parm:interval:unitstringunit
one of:"minutes" or "hours" or "days"
"minutes"
parm:past:lengthintegerlength
Range: 0 <= value
42
parm:past:unitstringunit
one of:"minutes" or "hours" or "days"
"minutes"
parm:to_timestampintegerto_timestamp
Range: 0 <= value
42
parm:typeobjecttype
snstringeK Core serial number"AH8AAAF999"
versionnumberAPI version 11

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
    "device_id": 42,
    "type": null,
    "interval": {
      "unit": "minutes",
      "length": 42
    },
    "past": {
      "unit": "minutes",
      "length": 42
    },
    "from_timestamp": 42,
    "to_timestamp": 42
  },
  "name": "get_sensor_readings",
  "version": 1,
  "sn": "AH8AAAF999",
  "email": "fred@gmail.com"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

get_server_readings

Application: member

Scope: access

get_server_readings

Attributes

NameTypeDescriptionExample
namestringapi name"get_server_readings"
parm:device_idintegerdevice_id42
parm:from_timestampintegerfrom_timestamp
Range: 1 <= value
42
parm:interval:lengthintegerlength
Range: 0 <= value
42
parm:interval:unitstringunit
one of:"minutes" or "hours" or "days"
"minutes"
parm:past:lengthintegerlength
Range: 0 <= value
42
parm:past:unitstringunit
one of:"minutes" or "hours" or "days"
"minutes"
parm:snstringeK Core serial number"AH8AAAF999"
parm:to_timestampintegerto_timestamp
Range: 1 <= value
42
parm:typestringtype"example"
sidstringsession id"uxITN_UV-KupgSsvm5KXtZHEh2bY7gr2"
versionnumberAPI version 11

get_server_readings

POST 

Required Parameters

NameTypeDescriptionExample
namestringapi name"get_server_readings"
parm:device_idintegerdevice_id42
parm:from_timestampintegerfrom_timestamp
Range: 1 <= value
42
parm:interval:lengthintegerlength
Range: 0 <= value
42
parm:interval:unitstringunit
one of:"minutes" or "hours" or "days"
"minutes"
parm:past:lengthintegerlength
Range: 0 <= value
42
parm:past:unitstringunit
one of:"minutes" or "hours" or "days"
"minutes"
parm:snstringeK Core serial number"AH8AAAF999"
parm:to_timestampintegerto_timestamp
Range: 1 <= value
42
parm:typestringtype"example"
sidstringsession id"uxITN_UV-KupgSsvm5KXtZHEh2bY7gr2"
versionnumberAPI version 11

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
    "sn": "AH8AAAF999",
    "device_id": 42,
    "type": "example",
    "interval": {
      "unit": "minutes",
      "length": 42
    },
    "past": {
      "unit": "minutes",
      "length": 42
    },
    "from_timestamp": 42,
    "to_timestamp": 42
  },
  "name": "get_server_readings",
  "version": 1,
  "sid": "uxITN_UV-KupgSsvm5KXtZHEh2bY7gr2"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

get_server_readings

Application: member

Scope: access

get_server_readings

Attributes

NameTypeDescriptionExample
namestringapi name"get_server_readings"
parm:device_idintegerdevice_id42
parm:from_timestampintegerfrom_timestamp
Range: 0 <= value
42
parm:interval:lengthintegerlength
Range: 0 <= value
42
parm:interval:unitstringunit
one of:"minutes" or "hours" or "days"
"minutes"
parm:past:lengthintegerlength
Range: 0 <= value
42
parm:past:unitstringunit
one of:"minutes" or "hours" or "days"
"minutes"
parm:snstringeK Core serial number"AH8AAAF999"
parm:to_timestampintegerto_timestamp
Range: 0 <= value
42
parm:typeobjecttype
sidstringsession id"uxITN_UV-KupgSsvm5KXtZHEh2bY7gr2"
versionnumberAPI version 22

get_server_readings

POST 

Required Parameters

NameTypeDescriptionExample
namestringapi name"get_server_readings"
parm:device_idintegerdevice_id42
parm:from_timestampintegerfrom_timestamp
Range: 0 <= value
42
parm:interval:lengthintegerlength
Range: 0 <= value
42
parm:interval:unitstringunit
one of:"minutes" or "hours" or "days"
"minutes"
parm:past:lengthintegerlength
Range: 0 <= value
42
parm:past:unitstringunit
one of:"minutes" or "hours" or "days"
"minutes"
parm:snstringeK Core serial number"AH8AAAF999"
parm:to_timestampintegerto_timestamp
Range: 0 <= value
42
parm:typeobjecttype
sidstringsession id"uxITN_UV-KupgSsvm5KXtZHEh2bY7gr2"
versionnumberAPI version 11

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
    "sn": "AH8AAAF999",
    "device_id": 42,
    "type": null,
    "interval": {
      "unit": "minutes",
      "length": 42
    },
    "past": {
      "unit": "minutes",
      "length": 42
    },
    "from_timestamp": 42,
    "to_timestamp": 42
  },
  "name": "get_server_readings",
  "version": 1,
  "sid": "uxITN_UV-KupgSsvm5KXtZHEh2bY7gr2"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

get_simulator

Application: eko

Scope: access

get_simulator

Attributes

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"
namestringapi name"get_simulator"
snstringeK Core serial number"AH8AAAF999"
versionnumberAPI version 11

get_simulator

POST 

Required Parameters

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"
namestringapi name"get_simulator"
snstringeK Core serial number"AH8AAAF999"
versionnumberAPI version 11

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
  },
  "name": "get_simulator",
  "version": 1,
  "sn": "AH8AAAF999",
  "email": "fred@gmail.com"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

get_sns_history

Application: member

Scope: access

get_sns_history

Attributes

NameTypeDescriptionExample
namestringapi name"get_sns_history"
parm:limitintegerlimit42
parm:queryobjectquery
parm:skipintegerskip42
parm:sortobjectsort
sidstringsession id"uxITN_UV-KupgSsvm5KXtZHEh2bY7gr2"
versionnumberAPI version 11

get_sns_history

POST 

Required Parameters

NameTypeDescriptionExample
namestringapi name"get_sns_history"
parm:limitintegerlimit42
parm:queryobjectquery
parm:skipintegerskip42
parm:sortobjectsort
sidstringsession id"uxITN_UV-KupgSsvm5KXtZHEh2bY7gr2"
versionnumberAPI version 11

Optional Parameters

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
    "query": null,
    "sort": null,
    "limit": 42,
    "skip": 42
  },
  "name": "get_sns_history",
  "version": 1,
  "sid": "uxITN_UV-KupgSsvm5KXtZHEh2bY7gr2",
  "email": "fred@gmail.com"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

get_sns_setting

Application: member

Scope: access

get_sns_setting

Attributes

NameTypeDescriptionExample
namestringapi name"get_sns_setting"
parm:snstringsn"example"
sidstringsession id"uxITN_UV-KupgSsvm5KXtZHEh2bY7gr2"
versionnumberAPI version 11

get_sns_setting

POST 

Required Parameters

NameTypeDescriptionExample
namestringapi name"get_sns_setting"
parm:snstringsn"example"
sidstringsession id"uxITN_UV-KupgSsvm5KXtZHEh2bY7gr2"
versionnumberAPI version 11

Optional Parameters

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
    "sn": "example"
  },
  "name": "get_sns_setting",
  "version": 1,
  "sid": "uxITN_UV-KupgSsvm5KXtZHEh2bY7gr2",
  "email": "fred@gmail.com"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

get_species

Application: member

Scope: access

get_species

Attributes

NameTypeDescriptionExample
namestringapi name"get_species"
parm:conditions:care_levelstringcare_level"example"
parm:conditions:classIdintegerclassId42
parm:conditions:common_namestringcommon_name"example"
parm:conditions:dietstringdiet"example"
parm:conditions:lightingstringlighting"example"
parm:conditions:minimum_tank_sizeintegerminimum_tank_size42
parm:conditions:reef_compatiblestringreef_compatible"example"
parm:conditions:scientific_namestringscientific_name"example"
parm:conditions:temperamentstringtemperament"example"
parm:conditions:waterflowstringwaterflow"example"
parm:limitintegerlimit42
parm:projectionobjectprojection
parm:skipintegerskip42
parm:sortobjectsort
parm:typestringtype"example"
sidstringsession id"uxITN_UV-KupgSsvm5KXtZHEh2bY7gr2"
versionnumberAPI version 11

get_species

POST 

Required Parameters

NameTypeDescriptionExample
namestringapi name"get_species"
parm:conditions:care_levelstringcare_level"example"
parm:conditions:classIdintegerclassId42
parm:conditions:common_namestringcommon_name"example"
parm:conditions:dietstringdiet"example"
parm:conditions:lightingstringlighting"example"
parm:conditions:minimum_tank_sizeintegerminimum_tank_size42
parm:conditions:reef_compatiblestringreef_compatible"example"
parm:conditions:scientific_namestringscientific_name"example"
parm:conditions:temperamentstringtemperament"example"
parm:conditions:waterflowstringwaterflow"example"
parm:limitintegerlimit42
parm:projectionobjectprojection
parm:skipintegerskip42
parm:sortobjectsort
parm:typestringtype"example"
versionnumberAPI version 11

Optional Parameters

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
    "type": "example",
    "conditions": {
      "scientific_name": "example",
      "common_name": "example",
      "minimum_tank_size": 42,
      "care_level": "example",
      "temperament": "example",
      "reef_compatible": "example",
      "diet": "example",
      "waterflow": "example",
      "lighting": "example",
      "classId": 42
    },
    "projection": null,
    "sort": null,
    "limit": 42,
    "skip": 42
  },
  "name": "get_species",
  "version": 1,
  "email": "fred@gmail.com"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

logoff

Application: member

Scope: access

logoff

Attributes

NameTypeDescriptionExample
namestringapi name"logoff"
sidstringsession id"uxITN_UV-KupgSsvm5KXtZHEh2bY7gr2"
versionnumberAPI version 11

logoff

POST 

Required Parameters

NameTypeDescriptionExample
namestringapi name"logoff"
sidstringsession id"uxITN_UV-KupgSsvm5KXtZHEh2bY7gr2"
versionnumberAPI version 11

Optional Parameters

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
  },
  "name": "logoff",
  "version": 1,
  "sid": "uxITN_UV-KupgSsvm5KXtZHEh2bY7gr2",
  "email": "fred@gmail.com"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

manual_status

Application: peripheral

Scope: access

manual_status

Attributes

NameTypeDescriptionExample
namestringapi name"manual_status"
snstringeK Doser serial number"AI8ADDF999"
versionnumberAPI version 11

manual_status

POST 

Required Parameters

NameTypeDescriptionExample
namestringapi name"manual_status"
snstringeK Doser serial number"AI8ADDF999"
versionnumberAPI version 11

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
  },
  "name": "manual_status",
  "version": 1,
  "sn": "AI8ADDF999"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

mongo_find

Application: member

Scope: config

mongo_find

Attributes

NameTypeDescriptionExample
namestringapi name"mongo_find"
parm:collectionstringcollection"example"
parm:limitintegerlimit42
parm:projectionobjectprojection
parm:queryobjectquery
parm:skipintegerskip42
parm:sortobjectsort
sidstringsession id"uxITN_UV-KupgSsvm5KXtZHEh2bY7gr2"
versionnumberAPI version 11

mongo_find

POST 

Required Parameters

NameTypeDescriptionExample
namestringapi name"mongo_find"
parm:collectionstringcollection"example"
parm:limitintegerlimit42
parm:projectionobjectprojection
parm:queryobjectquery
parm:skipintegerskip42
parm:sortobjectsort
versionnumberAPI version 11

Optional Parameters

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
    "collection": "example",
    "query": null,
    "projection": null,
    "sort": null,
    "limit": 42,
    "skip": 42
  },
  "name": "mongo_find",
  "version": 1,
  "email": "fred@gmail.com"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

my_tank

Application: member

Scope: access

my_tank

Attributes

NameTypeDescriptionExample
namestringapi name"my_tank"
sidstringsession id"uxITN_UV-KupgSsvm5KXtZHEh2bY7gr2"
versionnumberAPI version 11

my_tank

POST 

Required Parameters

NameTypeDescriptionExample
namestringapi name"my_tank"
versionnumberAPI version 11

Optional Parameters

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
  },
  "name": "my_tank",
  "version": 1,
  "email": "fred@gmail.com"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

ota_update

Application: eko

Scope: config

ota_update

Attributes

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"
namestringapi name"ota_update"
parm:actionstringaction"example"
parm:parmobjectparm
snstringeK Core serial number"AH8AAAF999"
versionnumberAPI version 11

ota_update

POST 

Required Parameters

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"
namestringapi name"ota_update"
parm:actionstringaction"example"
parm:parmobjectparm
snstringeK Core serial number"AH8AAAF999"
versionnumberAPI version 11

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
    "action": "example",
    "parm": null
  },
  "name": "ota_update",
  "version": 1,
  "sn": "AH8AAAF999",
  "email": "fred@gmail.com"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

p_activate_ota

Application: peripheral

Scope: config

p_activate_ota

Attributes

NameTypeDescriptionExample
namestringapi name"p_activate_ota"
parm:keystringkey"example"
snstringeK Doser serial number"AI8ADDF999"
versionnumberAPI version 11

p_activate_ota

POST 

Required Parameters

NameTypeDescriptionExample
namestringapi name"p_activate_ota"
parm:keystringkey"example"
snstringeK Doser serial number"AI8ADDF999"
versionnumberAPI version 11

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
    "key": "example"
  },
  "name": "p_activate_ota",
  "version": 1,
  "sn": "AI8ADDF999"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

p_connect_ap

Application: peripheral

Scope: config

p_connect_ap

Attributes

NameTypeDescriptionExample
namestringapi name"p_connect_ap"
parm:passwordstringpassword"example"
parm:ssidstringssid"example"
snstringeK Doser serial number"AI8ADDF999"
versionnumberAPI version 11

p_connect_ap

POST 

Required Parameters

NameTypeDescriptionExample
namestringapi name"p_connect_ap"
parm:passwordstringpassword"example"
parm:ssidstringssid"example"
snstringeK Doser serial number"AI8ADDF999"
versionnumberAPI version 11

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
    "ssid": "example",
    "password": "example"
  },
  "name": "p_connect_ap",
  "version": 1,
  "sn": "AI8ADDF999"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

p_info

Application: peripheral

Scope: access

p_info

Attributes

NameTypeDescriptionExample
namestringapi name"p_info"
snstringeK Doser serial number"AI8ADDF999"
versionnumberAPI version 11

p_info

POST 

Required Parameters

NameTypeDescriptionExample
namestringapi name"p_info"
snstringeK Doser serial number"AI8ADDF999"
versionnumberAPI version 11

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
  },
  "name": "p_info",
  "version": 1,
  "sn": "AI8ADDF999"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

p_reboot

Application: peripheral

Scope: access

p_reboot

Attributes

NameTypeDescriptionExample
namestringapi name"p_reboot"
snstringeK Doser serial number"AI8ADDF999"
versionnumberAPI version 11

p_reboot

POST 

Required Parameters

NameTypeDescriptionExample
namestringapi name"p_reboot"
snstringeK Doser serial number"AI8ADDF999"
versionnumberAPI version 11

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
  },
  "name": "p_reboot",
  "version": 1,
  "sn": "AI8ADDF999"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

p_set_time

Application: peripheral

Scope: config

p_set_time

Attributes

NameTypeDescriptionExample
namestringapi name"p_set_time"
parm:dayintegerday
Range: 1 <= value <= 31
42
parm:hourintegerhour
Range: 0 <= value <= 23
42
parm:minuteintegerminute
Range: 0 <= value <= 59
42
parm:monthintegermonth
Range: 1 <= value <= 12
42
parm:secondintegersecond
Range: 0 <= value <= 59
42
parm:timezonestringtimezone"example"
parm:timezone_offsetintegertimezone_offset
Range: -12 <= value <= 14
42
parm:yearintegeryear42
snstringeK Doser serial number"AI8ADDF999"
versionnumberAPI version 11

p_set_time

POST 

Required Parameters

NameTypeDescriptionExample
namestringapi name"p_set_time"
parm:dayintegerday
Range: 1 <= value <= 31
42
parm:hourintegerhour
Range: 0 <= value <= 23
42
parm:minuteintegerminute
Range: 0 <= value <= 59
42
parm:monthintegermonth
Range: 1 <= value <= 12
42
parm:secondintegersecond
Range: 0 <= value <= 59
42
parm:timezonestringtimezone"example"
parm:timezone_offsetintegertimezone_offset
Range: -12 <= value <= 14
42
parm:yearintegeryear42
snstringeK Doser serial number"AI8ADDF999"
versionnumberAPI version 11

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
    "year": 42,
    "month": 42,
    "day": 42,
    "hour": 42,
    "minute": 42,
    "second": 42,
    "timezone": "example",
    "timezone_offset": 42
  },
  "name": "p_set_time",
  "version": 1,
  "sn": "AI8ADDF999"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

p_status

Application: peripheral

Scope: access

p_status

Attributes

NameTypeDescriptionExample
namestringapi name"p_status"
snstringeK Doser serial number"AI8ADDF999"
versionnumberAPI version 11

p_status

POST 

Required Parameters

NameTypeDescriptionExample
namestringapi name"p_status"
snstringeK Doser serial number"AI8ADDF999"
versionnumberAPI version 11

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
  },
  "name": "p_status",
  "version": 1,
  "sn": "AI8ADDF999"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

plug_device

Application: eko

Scope: config

plug_device

Attributes

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"
namestringapi name"plug_device"
parm:strip:ports/default_delayintegerdefault_delay42
parm:strip:ports/default_onoffbooleandefault_onofftrue
parm:strip:ports/device:characteristicstringcharacteristic"example"
parm:strip:ports/device:iconstringicon"example"
parm:strip:ports/device:indexintegerindex42
parm:strip:ports/device:modulestringmodule"example"
parm:strip:ports/device:namestringname"example"
parm:strip:ports/port_idintegerport_id42
parm:strip:strip_idintegerstrip_id42
snstringeK Core serial number"AH8AAAF999"
versionnumberAPI version 11

plug_device

POST 

Required Parameters

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"
namestringapi name"plug_device"
parm:strip:ports/default_delayintegerdefault_delay42
parm:strip:ports/default_onoffbooleandefault_onofftrue
parm:strip:ports/device:characteristicstringcharacteristic"example"
parm:strip:ports/device:iconstringicon"example"
parm:strip:ports/device:indexintegerindex42
parm:strip:ports/device:modulestringmodule"example"
parm:strip:ports/device:namestringname"example"
parm:strip:ports/port_idintegerport_id42
parm:strip:strip_idintegerstrip_id42
snstringeK Core serial number"AH8AAAF999"
versionnumberAPI version 11

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
    "strip": {
      "strip_id": 42,
      "ports": [
        {
          "port_id": 42,
          "device": {
            "name": "example",
            "characteristic": "example",
            "icon": "example",
            "index": 42,
            "module": "example"
          },
          "default_onoff": true,
          "default_delay": 42
        }
      ]
    }
  },
  "name": "plug_device",
  "version": 1,
  "sn": "AH8AAAF999",
  "email": "fred@gmail.com"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

preview

Application: eko

Scope: access

preview

Attributes

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"
namestringapi name"preview"
parm:preview:actionstringaction
one of:"start" or "stop" or "status"
"start"
parm:preview:idintegerid42
parm:preview:manual:capabilitystringcapability"example"
parm:preview:manual:idintegerid42
parm:preview:manual:svaluestringsvalue"example"
parm:preview:manual:valuenumbervalue42.0
parm:preview:manual:value1numbervalue142.0
parm:preview:manual:valuesobjectvalues
parm:preview:schedule:cronstringcron"example"
parm:preview:schedule:device_idintegerdevice_id42
parm:preview:schedule:durationintegerduration
Range: 1 <= value
42
parm:preview:schedule:eventsobjectevents
parm:preview:schedule:iconstringicon"example"
parm:preview:schedule:loopbooleanlooptrue
parm:preview:schedule:namestringname"example"
parm:preview:schedule:tasks/capabilitystringcapability"example"
parm:preview:schedule:tasks/durationintegerduration
Range: 1 <= value
42
parm:preview:schedule:tasks/eventsobjectevents
parm:preview:schedule:tasks/featuresobjectfeatures
parm:preview:schedule:tasks/patternstringpattern"example"
parm:preview:schedule:tasks/rampbooleanramptrue
parm:preview:schedule:tasks/values/duration_fallnumberduration_fall42.0
parm:preview:schedule:tasks/values/duration_maxnumberduration_max42.0
parm:preview:schedule:tasks/values/duration_minnumberduration_min42.0
parm:preview:schedule:tasks/values/duration_risenumberduration_rise42.0
parm:preview:schedule:tasks/values/end_densitynumberend_density42.0
parm:preview:schedule:tasks/values/end_density_rangearrayend_density_range[null]
parm:preview:schedule:tasks/values/maxnumbermax42.0
parm:preview:schedule:tasks/values/max_rangearraymax_range[null]
parm:preview:schedule:tasks/values/minnumbermin42.0
parm:preview:schedule:tasks/values/min_rangearraymin_range[null]
parm:preview:schedule:tasks/values/start_densitynumberstart_density42.0
parm:preview:schedule:tasks/values/start_density_rangearraystart_density_range[null]
parm:preview:speednumberspeed
Range: 1 <= value
42.0
snstringeK Core serial number"AH8AAAF999"
versionnumberAPI version 11

preview

POST 

Required Parameters

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"
namestringapi name"preview"
parm:preview:actionstringaction
one of:"start" or "stop" or "status"
"start"
parm:preview:idintegerid42
parm:preview:manual:capabilitystringcapability"example"
parm:preview:manual:idintegerid42
parm:preview:manual:svaluestringsvalue"example"
parm:preview:manual:valuenumbervalue42.0
parm:preview:manual:value1numbervalue142.0
parm:preview:manual:valuesobjectvalues
parm:preview:schedule:cronstringcron"example"
parm:preview:schedule:device_idintegerdevice_id42
parm:preview:schedule:durationintegerduration
Range: 1 <= value
42
parm:preview:schedule:eventsobjectevents
parm:preview:schedule:iconstringicon"example"
parm:preview:schedule:loopbooleanlooptrue
parm:preview:schedule:namestringname"example"
parm:preview:schedule:tasks/capabilitystringcapability"example"
parm:preview:schedule:tasks/durationintegerduration
Range: 1 <= value
42
parm:preview:schedule:tasks/eventsobjectevents
parm:preview:schedule:tasks/featuresobjectfeatures
parm:preview:schedule:tasks/patternstringpattern"example"
parm:preview:schedule:tasks/rampbooleanramptrue
parm:preview:schedule:tasks/values/duration_fallnumberduration_fall42.0
parm:preview:schedule:tasks/values/duration_maxnumberduration_max42.0
parm:preview:schedule:tasks/values/duration_minnumberduration_min42.0
parm:preview:schedule:tasks/values/duration_risenumberduration_rise42.0
parm:preview:schedule:tasks/values/end_densitynumberend_density42.0
parm:preview:schedule:tasks/values/end_density_rangearrayend_density_range[null]
parm:preview:schedule:tasks/values/maxnumbermax42.0
parm:preview:schedule:tasks/values/max_rangearraymax_range[null]
parm:preview:schedule:tasks/values/minnumbermin42.0
parm:preview:schedule:tasks/values/min_rangearraymin_range[null]
parm:preview:schedule:tasks/values/start_densitynumberstart_density42.0
parm:preview:schedule:tasks/values/start_density_rangearraystart_density_range[null]
parm:preview:speednumberspeed
Range: 1 <= value
42.0
snstringeK Core serial number"AH8AAAF999"
versionnumberAPI version 11

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
    "preview": {
      "action": "start",
      "speed": 42.0,
      "id": 42,
      "schedule": {
        "name": "example",
        "icon": "example",
        "cron": "example",
        "device_id": 42,
        "duration": 42,
        "loop": true,
        "events": null,
        "tasks": [
          {
            "duration": 42,
            "ramp": true,
            "capability": "example",
            "pattern": "example",
            "features": null,
            "events": null,
            "values": [
              {
                "start_density": 42.0,
                "end_density": 42.0,
                "max": 42.0,
                "min": 42.0,
                "start_density_range": [
                  null
                ],
                "end_density_range": [
                  null
                ],
                "max_range": [
                  null
                ],
                "min_range": [
                  null
                ],
                "duration_max": 42.0,
                "duration_min": 42.0,
                "duration_rise": 42.0,
                "duration_fall": 42.0
              }
            ]
          }
        ]
      },
      "manual": {
        "id": 42,
        "capability": "example",
        "value": 42.0,
        "value1": 42.0,
        "svalue": "example",
        "values": null
      }
    }
  },
  "name": "preview",
  "version": 1,
  "sn": "AH8AAAF999",
  "email": "fred@gmail.com"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

quit_invitation

Application: member

Scope: access

quit_invitation

Attributes

NameTypeDescriptionExample
namestringapi name"quit_invitation"
parm:snstringsn
pattern: ^[A-Za-z0-9]+$
Length: 0..10
"example"
sidstringsession id"uxITN_UV-KupgSsvm5KXtZHEh2bY7gr2"
versionnumberAPI version 11

quit_invitation

POST 

Required Parameters

NameTypeDescriptionExample
namestringapi name"quit_invitation"
parm:snstringsn
pattern: ^[A-Za-z0-9]+$
Length: 0..10
"example"
sidstringsession id"uxITN_UV-KupgSsvm5KXtZHEh2bY7gr2"
versionnumberAPI version 11

Optional Parameters

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
    "sn": "example"
  },
  "name": "quit_invitation",
  "version": 1,
  "sid": "uxITN_UV-KupgSsvm5KXtZHEh2bY7gr2",
  "email": "fred@gmail.com"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

refill_dosing_port

Application: peripheral

Scope: config

refill_dosing_port

Attributes

NameTypeDescriptionExample
namestringapi name"refill_dosing_port"
parm:fill_levelnumberfill_level42.0
parm:portintegerport42
snstringeK Doser serial number"AI8ADDF999"
versionnumberAPI version 11

refill_dosing_port

POST 

Required Parameters

NameTypeDescriptionExample
namestringapi name"refill_dosing_port"
parm:fill_levelnumberfill_level42.0
parm:portintegerport42
snstringeK Doser serial number"AI8ADDF999"
versionnumberAPI version 11

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
    "port": 42,
    "fill_level": 42.0
  },
  "name": "refill_dosing_port",
  "version": 1,
  "sn": "AI8ADDF999"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

remove_dosing_schedule

Application: peripheral

Scope: config

remove_dosing_schedule

Attributes

NameTypeDescriptionExample
namestringapi name"remove_dosing_schedule"
parm:idarrayid[null]
snstringeK Doser serial number"AI8ADDF999"
versionnumberAPI version 11

remove_dosing_schedule

POST 

Required Parameters

NameTypeDescriptionExample
namestringapi name"remove_dosing_schedule"
parm:idarrayid[null]
snstringeK Doser serial number"AI8ADDF999"
versionnumberAPI version 11

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
    "id": [
      null
    ]
  },
  "name": "remove_dosing_schedule",
  "version": 1,
  "sn": "AI8ADDF999"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

scan_device

Application: eko

Scope: config

scan_device

Attributes

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"
namestringapi name"scan_device"
parm:device_typestringdevice type"example"
parm:hostnamestringip address"example"
parm:portintegerport42
snstringeK Core serial number"AH8AAAF999"
versionnumberAPI version 11

scan_device

POST 

Required Parameters

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"
namestringapi name"scan_device"
parm:device_typestringdevice type"example"
parm:hostnamestringip address"example"
parm:portintegerport42
snstringeK Core serial number"AH8AAAF999"
versionnumberAPI version 11

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
    "device_type": "example",
    "hostname": "example",
    "port": 42
  },
  "name": "scan_device",
  "version": 1,
  "sn": "AH8AAAF999",
  "email": "fred@gmail.com"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

set_dosing_port

Application: peripheral

Scope: config

set_dosing_port

Attributes

NameTypeDescriptionExample
namestringapi name"set_dosing_port"
parm:alertbooleanalerttrue
parm:capacitynumbercapacity42.0
parm:minimumnumberminimum42.0
parm:namestringname"example"
parm:portintegerport42
snstringeK Doser serial number"AI8ADDF999"
versionnumberAPI version 11

set_dosing_port

POST 

Required Parameters

NameTypeDescriptionExample
namestringapi name"set_dosing_port"
parm:alertbooleanalerttrue
parm:capacitynumbercapacity42.0
parm:minimumnumberminimum42.0
parm:namestringname"example"
parm:portintegerport42
snstringeK Doser serial number"AI8ADDF999"
versionnumberAPI version 11

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
    "port": 42,
    "name": "example",
    "capacity": 42.0,
    "minimum": 42.0,
    "alert": true
  },
  "name": "set_dosing_port",
  "version": 1,
  "sn": "AI8ADDF999"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

set_dosing_schedule

Application: peripheral

Scope: config

set_dosing_schedule

Attributes

NameTypeDescriptionExample
namestringapi name"set_dosing_schedule"
parm:daysarraydays[null]
parm:enablebooleanenabletrue
parm:end:hrintegerhr
Range: 0 <= value <= 23
42
parm:end:minintegermin
Range: 0 <= value <= 59
42
parm:idintegerid42
parm:mlnumberml
Range: 0 <= value
42.0
parm:permitbooleanpermittrue
parm:portintegerport42
parm:start:hrintegerhr
Range: 0 <= value <= 23
42
parm:start:minintegermin
Range: 0 <= value <= 59
42
parm:timesintegertimes
Range: 1 <= value <= 24
42
snstringeK Doser serial number"AI8ADDF999"
versionnumberAPI version 11

set_dosing_schedule

POST 

Required Parameters

NameTypeDescriptionExample
namestringapi name"set_dosing_schedule"
parm:daysarraydays[null]
parm:enablebooleanenabletrue
parm:end:hrintegerhr
Range: 0 <= value <= 23
42
parm:end:minintegermin
Range: 0 <= value <= 59
42
parm:idintegerid42
parm:mlnumberml
Range: 0 <= value
42.0
parm:permitbooleanpermittrue
parm:portintegerport42
parm:start:hrintegerhr
Range: 0 <= value <= 23
42
parm:start:minintegermin
Range: 0 <= value <= 59
42
parm:timesintegertimes
Range: 1 <= value <= 24
42
snstringeK Doser serial number"AI8ADDF999"
versionnumberAPI version 11

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
    "id": 42,
    "port": 42,
    "start": {
      "hr": 42,
      "min": 42
    },
    "end": {
      "hr": 42,
      "min": 42
    },
    "ml": 42.0,
    "times": 42,
    "days": [
      null
    ],
    "enable": true,
    "permit": true
  },
  "name": "set_dosing_schedule",
  "version": 1,
  "sn": "AI8ADDF999"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

signup

Application: member

Scope: config

signup

Attributes

NameTypeDescriptionExample
namestringapi name"signup"
parm:emailemailemail"username@example.com"
parm:first_namestringfirst_name"example"
parm:genderstringgender
one of:"male" or "female" or null
"male"
parm:last_namestringlast_name"example"
parm:localestringlocale"example"
parm:mobilestringmobile"example"
parm:openidstringopenid"example"
parm:passwordstringpassword"example"
versionnumberAPI version 11

signup

POST 

Required Parameters

NameTypeDescriptionExample
namestringapi name"signup"
parm:emailemailemail"username@example.com"
parm:first_namestringfirst_name"example"
parm:genderstringgender
one of:"male" or "female" or null
"male"
parm:last_namestringlast_name"example"
parm:localestringlocale"example"
parm:mobilestringmobile"example"
parm:openidstringopenid"example"
parm:passwordstringpassword"example"
versionnumberAPI version 11

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
    "email": "username@example.com",
    "password": "example",
    "first_name": "example",
    "last_name": "example",
    "gender": "male",
    "locale": "example",
    "mobile": "example",
    "openid": "example"
  },
  "name": "signup",
  "version": 1
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

signup_contact_email

Application: member

Scope: config

signup_contact_email

Attributes

NameTypeDescriptionExample
namestringapi name"signup_contact_email"
parm:access_tokenstringaccess_token"example"
parm:contact_emailemailcontact_email"username@example.com"
parm:emailemailemail"username@example.com"
parm:openidstringopenid"example"
parm:sourcestringsource"example"
versionnumberAPI version 11

signup_contact_email

POST 

Required Parameters

NameTypeDescriptionExample
namestringapi name"signup_contact_email"
parm:access_tokenstringaccess_token"example"
parm:contact_emailemailcontact_email"username@example.com"
parm:emailemailemail"username@example.com"
parm:openidstringopenid"example"
parm:sourcestringsource"example"
versionnumberAPI version 11

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
    "email": "username@example.com",
    "contact_email": "username@example.com",
    "source": "example",
    "openid": "example",
    "access_token": "example"
  },
  "name": "signup_contact_email",
  "version": 1
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

update_datetime

Application: eko

Scope: config

update_datetime

Attributes

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"
namestringapi name"update_datetime"
parm:timestringtime"example"
parm:timestampintegertimestamp42
parm:timezonestringtimezone"example"
parm:url_ntp_serverstringurl_ntp_server"example"
snstringeK Core serial number"AH8AAAF999"
versionnumberAPI version 11

update_datetime

POST 

Required Parameters

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"
namestringapi name"update_datetime"
parm:timestringtime"example"
parm:timestampintegertimestamp42
parm:timezonestringtimezone"example"
parm:url_ntp_serverstringurl_ntp_server"example"
snstringeK Core serial number"AH8AAAF999"
versionnumberAPI version 11

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
    "url_ntp_server": "example",
    "timestamp": 42,
    "time": "example",
    "timezone": "example"
  },
  "name": "update_datetime",
  "version": 1,
  "sn": "AH8AAAF999",
  "email": "fred@gmail.com"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

update_member

Application: member

Scope: config

update_member

Attributes

NameTypeDescriptionExample
namestringapi name"update_member"
parm:first_namestringfirst_name"example"
parm:genderstringgender
one of:"male" or "female" or null
"male"
parm:last_namestringlast_name"example"
parm:localestringlocale"example"
parm:mobilestringmobile"example"
parm:openidstringopenid"example"
parm:passwordstringpassword"example"
parm:sourcestringsource"example"
sidstringsession id"uxITN_UV-KupgSsvm5KXtZHEh2bY7gr2"
versionnumberAPI version 11

update_member

POST 

Required Parameters

NameTypeDescriptionExample
namestringapi name"update_member"
parm:first_namestringfirst_name"example"
parm:genderstringgender
one of:"male" or "female" or null
"male"
parm:last_namestringlast_name"example"
parm:localestringlocale"example"
parm:mobilestringmobile"example"
parm:openidstringopenid"example"
parm:passwordstringpassword"example"
parm:sourcestringsource"example"
versionnumberAPI version 11

Optional Parameters

NameTypeDescriptionExample
emailemaileKoral member email address"fred@gmail.com"

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
    "password": "example",
    "first_name": "example",
    "last_name": "example",
    "gender": "male",
    "locale": "example",
    "mobile": "example",
    "source": "example",
    "openid": "example"
  },
  "name": "update_member",
  "version": 1,
  "email": "fred@gmail.com"
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}

validate_session

Application: member

Scope: access

Validate session

Attributes

NameTypeDescriptionExample
namestringapi name"validate_session"
parm:emailemailemail"username@example.com"
parm:infoobjectinfo
parm:sidstringsid"example"
versionnumberAPI version 11

validate_session

POST 

Required Parameters

NameTypeDescriptionExample
namestringapi name"validate_session"
parm:emailemailemail"username@example.com"
parm:infoobjectinfo
parm:sidstringsid"example"
versionnumberAPI version 11

Curl Example

$ curl -n -X POST  \
  -d '{
  "parm": {
    "email": "username@example.com",
    "sid": "example",
    "info": null
  },
  "name": "validate_session",
  "version": 1
}' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access token>"

Response Example

HTTP/1.1 200 OK
{
  "result": "success",
  "data": {
  }
}