About

api.ivaka.net - Private REST API for IoT devices like esp8266 and etc.

How to use

Register Channel

Example Request:
curl --request POST https://api.ivaka.net/register/{{CHANNEL_NAME}}/ --header 'API_MAIL: {{EMAIL}}' --header 'API_AUTH: {{PASSWORD}}'
Example Response:
{
   "success" : true,
   "status" : 201,
   "message" : "Your channel successfully registered!"
}

View Channels

Example Request:
curl --request GET https://api.ivaka.net/channels/ --header 'API_MAIL: {{EMAIL}}' --header 'API_AUTH: {{PASSWORD}}'
Example Response:
{
   "status" : 200,
   "account" : {{ACCOUNT_MAIL}},
   "success" : true,
   "channels" : [
      {
         "channel" : {{CHANNEL_NAME}},
	 "results" : {{CHANNEL_DATA}},
         "api_post_key" : {{CHANNEL_API_POST_KEY}},
         "api_get_key" : {{CHANNEL_API_GET_KEY}},
         "updated_at" : {{CHANNEL_UPDATED_DATETIME}},
         "created_at" : {{CHANNEL_CREATED_DATETIME}}
      },
   ]
}

GET Data

Example Request:
curl --request GET https://api.ivaka.net/get/{{CHANNEL_NAME}}/{{CHANNEL_API_GET_KEY}}/{{TIME_DIFF}}/{{LIMIT_RESULTS}}
{{TIME_DIFF}} - You can check for results according to the time elapsed since the last result. The setting is in minutes (It is not necessary to be in the query!) {{LIMIT_RESULTS}} - You can specify the display of results from 1 to 100. The default set is 1. (It is not necessary to be in the query!) Example Response:
{
  "channel": "{{CHANNEL_NAME}}",
  "status":200,
  "time_diff":{{TIME_DIFF}},
  "show_results":{{LIMIT_RESULTS}},
  "data": [
      {
        "id" : {{LAST_ENTRY_ID}},
        "data1" : {{LAST_ENTRY_VALUE}},
        "data2" : {{LAST_ENTRY_VALUE}},
        "data3" : {{LAST_ENTRY_VALUE}},
        "data4" : {{LAST_ENTRY_VALUE}},
        "data5" : {{LAST_ENTRY_VALUE}},
        "data6" : {{LAST_ENTRY_VALUE}},
        "data7" : {{LAST_ENTRY_VALUE}},
        "data8" : {{LAST_ENTRY_VALUE}},
        "created_at" : {{LAST_ENTRY_DATETIME}}
      }
    ]
  }

POST Data

Example Request:
curl --request POST https://api.ivaka.net/post/{{CHANNEL_NAME}}/{{CHANNEL_API_POST_KEY}}/ --data 'data1={{VALUE}}&data2={{VALUE}}.....&data8={{VALUE}}'
Example Response:
{
   "status" : 201,
   "success" : true,  
   "message" : "Data is successfully posted!",
   "created_at" : {{LAST_ENTRY_DATETIME}}, 
   "data" : {
      "data1" : {{LAST_ENTRY_VALUE}},
      "data2" : {{LAST_ENTRY_VALUE}},
      "data3" : {{LAST_ENTRY_VALUE}},
      "data4" : {{LAST_ENTRY_VALUE}},
      "data5" : {{LAST_ENTRY_VALUE}},
      "data6" : {{LAST_ENTRY_VALUE}},
      "data7" : {{LAST_ENTRY_VALUE}},
      "data8" : {{LAST_ENTRY_VALUE}}
      
   }
}

UPDATE Data

*Update the last data result for the requested channel. If channel is new and there no posted data it will add a result and next time it will be updated. Example Request:
curl --request POST https://api.ivaka.net/update/{{CHANNEL_NAME}}/{{CHANNEL_API_POST_KEY}}/ --data 'data1={{VALUE}}&data2={{VALUE}}.....&data8={{VALUE}}'
Example Response:
{
   "status" : 201,
   "success" : true,  
   "message" : "Data is successfully updated!",
   "created_at" : {{LAST_ENTRY_DATETIME}}, 
   "data" : {
      "data1" : {{LAST_ENTRY_VALUE}},
      "data2" : {{LAST_ENTRY_VALUE}},
      "data3" : {{LAST_ENTRY_VALUE}},
      "data4" : {{LAST_ENTRY_VALUE}},
      "data5" : {{LAST_ENTRY_VALUE}},
      "data6" : {{LAST_ENTRY_VALUE}},
      "data7" : {{LAST_ENTRY_VALUE}},
      "data8" : {{LAST_ENTRY_VALUE}}
      
   }
}

Graphs

Watch the last posted data in API in graphs in browser. Example Request:
https://api.ivaka.net/graph/{{CHANNEL_NAME}}/{{CHANNEL_API_GET_KEY}}/

Stats

Usage statistics (requests) of this API available at https://api.ivaka.net/stats/
Page Contents:
  1. 1. About
  2. 2. How to use
    1. 2.1 Register Channel
    2. 2.2 View Channels
    3. 2.3 GET Data
    4. 2.4 POST Data
    5. 2.5 UPDATE Data
    6. 2.6 Graphs
    7. 2.7 Stats