NAV Navigation
Shell HTTP JavaScript Node.js Ruby Python Java Go PHP

Atman IoT v3.0.3

Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.

Atman IoT Server

Base URLs:

Terms of service Email: Atman IoT Web: Atman IoT License: LICENCE

Authentication

AssetController

AssetController.find_by_name

Code samples

# You can also use wget
curl -X GET https://atman-iot.com/api/asset/by-name/{assetName} \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://atman-iot.com/api/asset/by-name/{assetName} HTTP/1.1
Host: atman-iot.com
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/asset/by-name/{assetName}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/asset/by-name/{assetName}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://atman-iot.com/api/asset/by-name/{assetName}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://atman-iot.com/api/asset/by-name/{assetName}', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/asset/by-name/{assetName}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://atman-iot.com/api/asset/by-name/{assetName}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://atman-iot.com/api/asset/by-name/{assetName}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /asset/by-name/{assetName}

Used for getting the Asset identified by assetName, by an authorized User or Virtual User identified by the provided token. An Asset is a way of logical grouping of Devices. One Asset can contain many Devices and can belong to one AssetGroup.

References: AssetGroupController, DeviceController, UserController, AssetModel

Parameters

Name In Type Required Description
assetName path string true none

Example responses

200 Response

{
  "id": 0,
  "name": "string",
  "description": "string",
  "assetGroupId": 0
}

Responses

Status Meaning Description Schema
200 OK Returns Asset model instance that matches provided Asset name Asset
401 Unauthorized User is not authorized None
406 Not Acceptable Request is not acceptable. Check response for help None

AssetController.updateById

Code samples

# You can also use wget
curl -X PATCH https://atman-iot.com/api/asset/{id} \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer {access-token}'

PATCH https://atman-iot.com/api/asset/{id} HTTP/1.1
Host: atman-iot.com
Content-Type: application/json

const inputBody = '{
  "name": "string",
  "description": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/asset/{id}',
{
  method: 'PATCH',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = {
  "name": "string",
  "description": "string"
};
const headers = {
  'Content-Type':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/asset/{id}',
{
  method: 'PATCH',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.patch 'https://atman-iot.com/api/asset/{id}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.patch('https://atman-iot.com/api/asset/{id}', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/asset/{id}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PATCH");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PATCH", "https://atman-iot.com/api/asset/{id}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PATCH','https://atman-iot.com/api/asset/{id}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PATCH /asset/{id}

Edit (Patch) Asset by Id

Body parameter

{
  "name": "string",
  "description": "string"
}

Parameters

Name In Type Required Description
id path number true none
body body AssetExcluding_id-assetGroupId_ false none

Responses

Status Meaning Description Schema
204 No Content Asset PATCH success None
401 Unauthorized User is not authorized None
404 Not Found Asset not found None

AssetController.deleteById

Code samples

# You can also use wget
curl -X DELETE https://atman-iot.com/api/asset/{id} \
  -H 'Authorization: Bearer {access-token}'

DELETE https://atman-iot.com/api/asset/{id} HTTP/1.1
Host: atman-iot.com


const headers = {
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/asset/{id}',
{
  method: 'DELETE',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/asset/{id}',
{
  method: 'DELETE',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.delete 'https://atman-iot.com/api/asset/{id}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Authorization': 'Bearer {access-token}'
}

r = requests.delete('https://atman-iot.com/api/asset/{id}', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/asset/{id}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("DELETE", "https://atman-iot.com/api/asset/{id}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('DELETE','https://atman-iot.com/api/asset/{id}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

DELETE /asset/{id}

Used for deleting an Asset, identified by id by an authorized User identified by the provided token.

References: UserController, AssetModel

Parameters

Name In Type Required Description
id path number true none

Responses

Status Meaning Description Schema
204 No Content Asset model instance deletion verification None
401 Unauthorized User is not authorized None

AssetController.create

Code samples

# You can also use wget
curl -X POST https://atman-iot.com/api/asset \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

POST https://atman-iot.com/api/asset HTTP/1.1
Host: atman-iot.com
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "name": "string",
  "description": "string",
  "assetGroupId": 0
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/asset',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = {
  "name": "string",
  "description": "string",
  "assetGroupId": 0
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/asset',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.post 'https://atman-iot.com/api/asset',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.post('https://atman-iot.com/api/asset', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/asset");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://atman-iot.com/api/asset", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://atman-iot.com/api/asset', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST /asset

Used for creating a new Asset, by an authorized User, identified by the provided token. An Asset is a way of logical grouping of Devices. One Asset can contain many Devices and can belong to one AssetGroup.

References: AssetGroupController, DeviceController, UserController, AssetModel

Body parameter

{
  "name": "string",
  "description": "string",
  "assetGroupId": 0
}

Parameters

Name In Type Required Description
body body AssetExcluding_id_ false none

Example responses

200 Response

{
  "id": 0,
  "name": "string",
  "description": "string",
  "assetGroupId": 0
}

Responses

Status Meaning Description Schema
200 OK Returns created Asset model instance Asset
401 Unauthorized User is not authorized None
406 Not Acceptable Request is not acceptable. Check response for help None

AssetController.find_by_userId

Code samples

# You can also use wget
curl -X GET https://atman-iot.com/api/assets/by-user/{userId} \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://atman-iot.com/api/assets/by-user/{userId} HTTP/1.1
Host: atman-iot.com
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/assets/by-user/{userId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/assets/by-user/{userId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://atman-iot.com/api/assets/by-user/{userId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://atman-iot.com/api/assets/by-user/{userId}', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/assets/by-user/{userId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://atman-iot.com/api/assets/by-user/{userId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://atman-iot.com/api/assets/by-user/{userId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /assets/by-user/{userId}

Used for getting the Assets of an authorized User identified by the provided userId, by an authorized Admin. An Asset is a way of logical grouping of Devices. One Asset can contain many Devices and can belong to one AssetGroup.

References: AssetGroupController, DeviceController, UserController, AssetModel

Parameters

Name In Type Required Description
userId path number true none

Example responses

200 Response

[
  {
    "id": 0,
    "name": "string",
    "description": "string",
    "assetGroupId": 0
  }
]

Responses

Status Meaning Description Schema
200 OK Returns array of Asset model instances that matches provided User Id Inline
401 Unauthorized User is not authorized None
406 Not Acceptable Request is not acceptable. Check response for help None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [Asset] false none none
» Asset object false none none
»» id number false none Automatically generated ID
»» name string false none Asset name
»» description string false none Asset description
»» assetGroupId number true none ID of AssetGroup that Asset belongs to

AssetController.find

Code samples

# You can also use wget
curl -X GET https://atman-iot.com/api/assets/{assetGroupId} \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://atman-iot.com/api/assets/{assetGroupId} HTTP/1.1
Host: atman-iot.com
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/assets/{assetGroupId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/assets/{assetGroupId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://atman-iot.com/api/assets/{assetGroupId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://atman-iot.com/api/assets/{assetGroupId}', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/assets/{assetGroupId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://atman-iot.com/api/assets/{assetGroupId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://atman-iot.com/api/assets/{assetGroupId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /assets/{assetGroupId}

Used for getting the Assets belonging to an AssetGroup, in turn belonging to an authorized User or Virtual User. An Asset is a way of logical grouping of Devices. One Asset can contain many Devices and can belong to the AssetGroup with the provided assetGroupId. An AssetGroup can have many Assets. .

References:
AssetGroupController, DeviceController, UserController, AssetModel

Parameters

Name In Type Required Description
assetGroupId path number true none

Example responses

200 Response

[
  {
    "id": 0,
    "name": "string",
    "description": "string",
    "assetGroupId": 0
  }
]

Responses

Status Meaning Description Schema
200 OK Returns Array of Asset model instances in AssetGroup with provided id Inline
401 Unauthorized User is not authorized None
406 Not Acceptable Request is not acceptable. Check response for help None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [Asset] false none none
» Asset object false none none
»» id number false none Automatically generated ID
»» name string false none Asset name
»» description string false none Asset description
»» assetGroupId number true none ID of AssetGroup that Asset belongs to

AssetGroupController

AssetGroupController.createAssetGroup

Code samples

# You can also use wget
curl -X POST https://atman-iot.com/api/asset-group/user \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

POST https://atman-iot.com/api/asset-group/user HTTP/1.1
Host: atman-iot.com
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "name": "string",
  "description": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/asset-group/user',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = {
  "name": "string",
  "description": "string"
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/asset-group/user',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.post 'https://atman-iot.com/api/asset-group/user',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.post('https://atman-iot.com/api/asset-group/user', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/asset-group/user");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://atman-iot.com/api/asset-group/user", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://atman-iot.com/api/asset-group/user', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST /asset-group/user

Body parameter

{
  "name": "string",
  "description": "string"
}

Parameters

Name In Type Required Description
body body AssetGroupExcluding_id-userId_ false none

Example responses

200 Response

{
  "id": 0,
  "name": "string",
  "description": "string",
  "userId": 0
}

Responses

Status Meaning Description Schema
200 OK Returns created AssetGroup model instance AssetGroup
401 Unauthorized User is not authorized None

AssetGroupController.updateById

Code samples

# You can also use wget
curl -X PATCH https://atman-iot.com/api/asset-group/{id} \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer {access-token}'

PATCH https://atman-iot.com/api/asset-group/{id} HTTP/1.1
Host: atman-iot.com
Content-Type: application/json

const inputBody = '{
  "name": "string",
  "description": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/asset-group/{id}',
{
  method: 'PATCH',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = {
  "name": "string",
  "description": "string"
};
const headers = {
  'Content-Type':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/asset-group/{id}',
{
  method: 'PATCH',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.patch 'https://atman-iot.com/api/asset-group/{id}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.patch('https://atman-iot.com/api/asset-group/{id}', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/asset-group/{id}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PATCH");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PATCH", "https://atman-iot.com/api/asset-group/{id}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PATCH','https://atman-iot.com/api/asset-group/{id}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PATCH /asset-group/{id}

Edit (PATCH) AssetGroup

Body parameter

{
  "name": "string",
  "description": "string"
}

Parameters

Name In Type Required Description
id path number true none
body body AssetGroupExcluding_id-userId_ false none

Responses

Status Meaning Description Schema
204 No Content AssetGroup PATCH success None
401 Unauthorized User is not authorized None
404 Not Found AssetGroup not found None

AssetGroupController.deleteById

Code samples

# You can also use wget
curl -X DELETE https://atman-iot.com/api/asset-group/{id} \
  -H 'Authorization: Bearer {access-token}'

DELETE https://atman-iot.com/api/asset-group/{id} HTTP/1.1
Host: atman-iot.com


const headers = {
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/asset-group/{id}',
{
  method: 'DELETE',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/asset-group/{id}',
{
  method: 'DELETE',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.delete 'https://atman-iot.com/api/asset-group/{id}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Authorization': 'Bearer {access-token}'
}

r = requests.delete('https://atman-iot.com/api/asset-group/{id}', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/asset-group/{id}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("DELETE", "https://atman-iot.com/api/asset-group/{id}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('DELETE','https://atman-iot.com/api/asset-group/{id}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

DELETE /asset-group/{id}

Parameters

Name In Type Required Description
id path number true none

Responses

Status Meaning Description Schema
204 No Content AssetGroup model instance deletion verification None
401 Unauthorized User is not authorized None

AssetGroupController.findUserAssetGroups

Code samples

# You can also use wget
curl -X GET https://atman-iot.com/api/asset-groups/user \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://atman-iot.com/api/asset-groups/user HTTP/1.1
Host: atman-iot.com
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/asset-groups/user',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/asset-groups/user',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://atman-iot.com/api/asset-groups/user',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://atman-iot.com/api/asset-groups/user', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/asset-groups/user");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://atman-iot.com/api/asset-groups/user", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://atman-iot.com/api/asset-groups/user', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /asset-groups/user

Example responses

200 Response

[
  {
    "id": 0,
    "name": "string",
    "description": "string",
    "userId": 0
  }
]

Responses

Status Meaning Description Schema
200 OK Returns Array of user's AssetGroup model instances Inline
401 Unauthorized User is not authorized None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [AssetGroup] false none none
» AssetGroup object false none none
»» id number false none Automatically generated ID
»» name string false none AssetGroup name
»» description string false none AssetGroup description
»» userId number true none ID of User that AssetGroup belongs to

DashboardElementController

DashboardElementController.moveElementDown

Code samples

# You can also use wget
curl -X PATCH https://atman-iot.com/api/dashboard-element/{id}/move-down \
  -H 'Authorization: Bearer {access-token}'

PATCH https://atman-iot.com/api/dashboard-element/{id}/move-down HTTP/1.1
Host: atman-iot.com


const headers = {
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/dashboard-element/{id}/move-down',
{
  method: 'PATCH',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/dashboard-element/{id}/move-down',
{
  method: 'PATCH',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.patch 'https://atman-iot.com/api/dashboard-element/{id}/move-down',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Authorization': 'Bearer {access-token}'
}

r = requests.patch('https://atman-iot.com/api/dashboard-element/{id}/move-down', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/dashboard-element/{id}/move-down");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PATCH");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PATCH", "https://atman-iot.com/api/dashboard-element/{id}/move-down", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PATCH','https://atman-iot.com/api/dashboard-element/{id}/move-down', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PATCH /dashboard-element/{id}/move-down

Parameters

Name In Type Required Description
id path number true none

Responses

Status Meaning Description Schema
204 No Content Move up Dashboard Element success None
401 Unauthorized User is not authorized None
406 Not Acceptable Request is not acceptable. Check response for help None

DashboardElementController.moveElementUp

Code samples

# You can also use wget
curl -X PATCH https://atman-iot.com/api/dashboard-element/{id}/move-up \
  -H 'Authorization: Bearer {access-token}'

PATCH https://atman-iot.com/api/dashboard-element/{id}/move-up HTTP/1.1
Host: atman-iot.com


const headers = {
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/dashboard-element/{id}/move-up',
{
  method: 'PATCH',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/dashboard-element/{id}/move-up',
{
  method: 'PATCH',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.patch 'https://atman-iot.com/api/dashboard-element/{id}/move-up',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Authorization': 'Bearer {access-token}'
}

r = requests.patch('https://atman-iot.com/api/dashboard-element/{id}/move-up', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/dashboard-element/{id}/move-up");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PATCH");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PATCH", "https://atman-iot.com/api/dashboard-element/{id}/move-up", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PATCH','https://atman-iot.com/api/dashboard-element/{id}/move-up', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PATCH /dashboard-element/{id}/move-up

Parameters

Name In Type Required Description
id path number true none

Responses

Status Meaning Description Schema
204 No Content Move up Dashboard Element success None
401 Unauthorized User is not authorized None
406 Not Acceptable Request is not acceptable. Check response for help None

DashboardElementController.deleteById

Code samples

# You can also use wget
curl -X DELETE https://atman-iot.com/api/dashboard-element/{id} \
  -H 'Authorization: Bearer {access-token}'

DELETE https://atman-iot.com/api/dashboard-element/{id} HTTP/1.1
Host: atman-iot.com


const headers = {
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/dashboard-element/{id}',
{
  method: 'DELETE',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/dashboard-element/{id}',
{
  method: 'DELETE',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.delete 'https://atman-iot.com/api/dashboard-element/{id}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Authorization': 'Bearer {access-token}'
}

r = requests.delete('https://atman-iot.com/api/dashboard-element/{id}', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/dashboard-element/{id}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("DELETE", "https://atman-iot.com/api/dashboard-element/{id}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('DELETE','https://atman-iot.com/api/dashboard-element/{id}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

DELETE /dashboard-element/{id}

Parameters

Name In Type Required Description
id path number true none

Responses

Status Meaning Description Schema
204 No Content DashboardElement DELETE success None

DashboardElementController.create

Code samples

# You can also use wget
curl -X POST https://atman-iot.com/api/dashboard-element \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

POST https://atman-iot.com/api/dashboard-element HTTP/1.1
Host: atman-iot.com
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "assetId": 0,
  "userId": 0,
  "deviceCategory": "string",
  "deviceCategoryB": "string",
  "channelCategory": "string",
  "channelCategoryB": "string",
  "elementType": "string",
  "location": "string",
  "timeWindow": 0,
  "operation": "string",
  "groupBy": "string",
  "title": "string",
  "xLabel": "string",
  "yLabel": "string",
  "yLabelB": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/dashboard-element',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = {
  "assetId": 0,
  "userId": 0,
  "deviceCategory": "string",
  "deviceCategoryB": "string",
  "channelCategory": "string",
  "channelCategoryB": "string",
  "elementType": "string",
  "location": "string",
  "timeWindow": 0,
  "operation": "string",
  "groupBy": "string",
  "title": "string",
  "xLabel": "string",
  "yLabel": "string",
  "yLabelB": "string"
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/dashboard-element',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.post 'https://atman-iot.com/api/dashboard-element',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.post('https://atman-iot.com/api/dashboard-element', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/dashboard-element");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://atman-iot.com/api/dashboard-element", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://atman-iot.com/api/dashboard-element', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST /dashboard-element

Body parameter

{
  "assetId": 0,
  "userId": 0,
  "deviceCategory": "string",
  "deviceCategoryB": "string",
  "channelCategory": "string",
  "channelCategoryB": "string",
  "elementType": "string",
  "location": "string",
  "timeWindow": 0,
  "operation": "string",
  "groupBy": "string",
  "title": "string",
  "xLabel": "string",
  "yLabel": "string",
  "yLabelB": "string"
}

Parameters

Name In Type Required Description
body body NewDashboardElement false none

Example responses

200 Response

{
  "id": 0,
  "assetId": 0,
  "userId": 0,
  "deviceCategory": "string",
  "deviceCategoryB": "string",
  "channelCategory": "string",
  "channelCategoryB": "string",
  "elementType": "string",
  "position": 0,
  "location": "string",
  "timeWindow": 0,
  "operation": "string",
  "groupBy": "string",
  "title": "string",
  "xLabel": "string",
  "yLabel": "string",
  "yLabelB": "string"
}

Responses

Status Meaning Description Schema
200 OK Create DashboardElement DashboardElement
401 Unauthorized User is not authorized None
406 Not Acceptable Request is not acceptable. Check response for help None

DashboardElementController.findByUserIdAssetIdLocation

Code samples

# You can also use wget
curl -X GET https://atman-iot.com/api/dashboard-elements/asset-id/{assetId}/user-id/{userId}/location/{location} \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://atman-iot.com/api/dashboard-elements/asset-id/{assetId}/user-id/{userId}/location/{location} HTTP/1.1
Host: atman-iot.com
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/dashboard-elements/asset-id/{assetId}/user-id/{userId}/location/{location}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/dashboard-elements/asset-id/{assetId}/user-id/{userId}/location/{location}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://atman-iot.com/api/dashboard-elements/asset-id/{assetId}/user-id/{userId}/location/{location}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://atman-iot.com/api/dashboard-elements/asset-id/{assetId}/user-id/{userId}/location/{location}', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/dashboard-elements/asset-id/{assetId}/user-id/{userId}/location/{location}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://atman-iot.com/api/dashboard-elements/asset-id/{assetId}/user-id/{userId}/location/{location}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://atman-iot.com/api/dashboard-elements/asset-id/{assetId}/user-id/{userId}/location/{location}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /dashboard-elements/asset-id/{assetId}/user-id/{userId}/location/{location}

Parameters

Name In Type Required Description
assetId path number true none
userId path number true none
location path string true none

Example responses

200 Response

[
  {
    "dashboardElement": {
      "id": 0,
      "assetId": 0,
      "userId": 0,
      "deviceCategory": "string",
      "deviceCategoryB": "string",
      "channelCategory": "string",
      "channelCategoryB": "string",
      "elementType": "string",
      "position": 0,
      "location": "string",
      "timeWindow": 0,
      "operation": "string",
      "groupBy": "string",
      "title": "string",
      "xLabel": "string",
      "yLabel": "string",
      "yLabelB": "string"
    },
    "scope": [
      {}
    ],
    "scopeB": [
      {}
    ]
  }
]

Responses

Status Meaning Description Schema
200 OK Array of DashboardElement model instances Inline
401 Unauthorized User is not authorized None
406 Not Acceptable Request is not acceptable. Check response for help None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [DashboardElementWithScope] false none none
» DashboardElementWithScope object false none none
»» dashboardElement object true none none
»»» id number false none Automatically generated ID
»»» assetId number true none ID of Asset that Dashboard Element belongs to
»»» userId number true none ID of User that Dashboard Element belongs to
»»» deviceCategory string true none Device A Category
»»» deviceCategoryB string false none Device B Category
»»» channelCategory string true none Channel A Category
»»» channelCategoryB string false none Channel B Category
»»» elementType string true none Element Type
»»» position number true none Element Position
»»» location string true none Element Location: mainDashboard / assetDashboard
»»» timeWindow number true none Time Window in seconds
»»» operation string true none Data Operation
»»» groupBy string true none Data group by
»»» title string false none Element Title
»»» xLabel string false none Element X Label
»»» yLabel string false none Element A Y Label
»»» yLabelB string false none Element B Y Label
»» scope [object] true none none
»» scopeB [object] false none none

DataLoggerController

DataLoggerController.postData

Code samples

# You can also use wget
curl -X POST https://atman-iot.com/api/data-logger/data/id/{id}/token/{dataLoggerToken} \
  -H 'Content-Type: application/json'

POST https://atman-iot.com/api/data-logger/data/id/{id}/token/{dataLoggerToken} HTTP/1.1
Host: atman-iot.com
Content-Type: application/json

const inputBody = '{
  "manufacturer": "string",
  "devices": [
    {
      "model": "string",
      "serialNo": "string",
      "channels": [
        {
          "name": "string",
          "unit": "string",
          "floatData": [
            {
              "period": 0,
              "measurement": 0,
              "timestamp": "2019-08-24T14:15:22Z"
            }
          ]
        }
      ]
    }
  ]
}';
const headers = {
  'Content-Type':'application/json'
};

fetch('https://atman-iot.com/api/data-logger/data/id/{id}/token/{dataLoggerToken}',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = {
  "manufacturer": "string",
  "devices": [
    {
      "model": "string",
      "serialNo": "string",
      "channels": [
        {
          "name": "string",
          "unit": "string",
          "floatData": [
            {
              "period": 0,
              "measurement": 0,
              "timestamp": "2019-08-24T14:15:22Z"
            }
          ]
        }
      ]
    }
  ]
};
const headers = {
  'Content-Type':'application/json'
};

fetch('https://atman-iot.com/api/data-logger/data/id/{id}/token/{dataLoggerToken}',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json'
}

result = RestClient.post 'https://atman-iot.com/api/data-logger/data/id/{id}/token/{dataLoggerToken}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json'
}

r = requests.post('https://atman-iot.com/api/data-logger/data/id/{id}/token/{dataLoggerToken}', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/data-logger/data/id/{id}/token/{dataLoggerToken}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://atman-iot.com/api/data-logger/data/id/{id}/token/{dataLoggerToken}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://atman-iot.com/api/data-logger/data/id/{id}/token/{dataLoggerToken}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST /data-logger/data/id/{id}/token/{dataLoggerToken}

Used for uploading data from a DataLogger identified by id dataLoggerToken

Body parameter

{
  "manufacturer": "string",
  "devices": [
    {
      "model": "string",
      "serialNo": "string",
      "channels": [
        {
          "name": "string",
          "unit": "string",
          "floatData": [
            {
              "period": 0,
              "measurement": 0,
              "timestamp": "2019-08-24T14:15:22Z"
            }
          ]
        }
      ]
    }
  ]
}

Parameters

Name In Type Required Description
id path number true none
dataLoggerToken path string true none
body body DataLoggerData false none

Responses

Status Meaning Description Schema
204 No Content Data uploaded successfully None
406 Not Acceptable Request is not acceptable. Check response for help None

DataLoggerController.uploadData_fromCsv

Code samples

# You can also use wget
curl -X POST https://atman-iot.com/api/data-logger/data-from-csv/{id}/{dataLoggerToken} \
  -H 'Content-Type: multipart/form-data'

POST https://atman-iot.com/api/data-logger/data-from-csv/{id}/{dataLoggerToken} HTTP/1.1
Host: atman-iot.com
Content-Type: multipart/form-data

const inputBody = '{}';
const headers = {
  'Content-Type':'multipart/form-data'
};

fetch('https://atman-iot.com/api/data-logger/data-from-csv/{id}/{dataLoggerToken}',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = {};
const headers = {
  'Content-Type':'multipart/form-data'
};

fetch('https://atman-iot.com/api/data-logger/data-from-csv/{id}/{dataLoggerToken}',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'multipart/form-data'
}

result = RestClient.post 'https://atman-iot.com/api/data-logger/data-from-csv/{id}/{dataLoggerToken}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'multipart/form-data'
}

r = requests.post('https://atman-iot.com/api/data-logger/data-from-csv/{id}/{dataLoggerToken}', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/data-logger/data-from-csv/{id}/{dataLoggerToken}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"multipart/form-data"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://atman-iot.com/api/data-logger/data-from-csv/{id}/{dataLoggerToken}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'multipart/form-data',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://atman-iot.com/api/data-logger/data-from-csv/{id}/{dataLoggerToken}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST /data-logger/data-from-csv/{id}/{dataLoggerToken}

Used for receiving data, sent in CSV format by a DataLogger identified by id and dataLoggerToken. If the DataLogger is sending data via FTP, endpoint is called internally.

References: DataLoggerModel

Body parameter

{}

Parameters

Name In Type Required Description
id path number true none
dataLoggerToken path string true none
body body object true multipart/form-data value.

Responses

Status Meaning Description Schema
204 No Content File upload verification None
406 Not Acceptable Request is not acceptable. Check response for help None

DataLoggerController.uploadData_fromXml

Code samples

# You can also use wget
curl -X POST https://atman-iot.com/api/data-logger/data-from-xml/{id}/{dataLoggerToken} \
  -H 'Content-Type: multipart/form-data'

POST https://atman-iot.com/api/data-logger/data-from-xml/{id}/{dataLoggerToken} HTTP/1.1
Host: atman-iot.com
Content-Type: multipart/form-data

const inputBody = '{}';
const headers = {
  'Content-Type':'multipart/form-data'
};

fetch('https://atman-iot.com/api/data-logger/data-from-xml/{id}/{dataLoggerToken}',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = {};
const headers = {
  'Content-Type':'multipart/form-data'
};

fetch('https://atman-iot.com/api/data-logger/data-from-xml/{id}/{dataLoggerToken}',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'multipart/form-data'
}

result = RestClient.post 'https://atman-iot.com/api/data-logger/data-from-xml/{id}/{dataLoggerToken}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'multipart/form-data'
}

r = requests.post('https://atman-iot.com/api/data-logger/data-from-xml/{id}/{dataLoggerToken}', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/data-logger/data-from-xml/{id}/{dataLoggerToken}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"multipart/form-data"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://atman-iot.com/api/data-logger/data-from-xml/{id}/{dataLoggerToken}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'multipart/form-data',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://atman-iot.com/api/data-logger/data-from-xml/{id}/{dataLoggerToken}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST /data-logger/data-from-xml/{id}/{dataLoggerToken}

Used for receiving data, sent in XML format by a DataLogger identified by id and dataLoggerToken. If the DataLogger is sending data via FTP, endpoint is called internally.

References: DataLoggerModel

Body parameter

{}

Parameters

Name In Type Required Description
id path number true none
dataLoggerToken path string true none
body body object true multipart/form-data value.

Responses

Status Meaning Description Schema
204 No Content File upload verification None
406 Not Acceptable Request is not acceptable. Check response for help None

DataLoggerController.setupFromFtp_1

Code samples

# You can also use wget
curl -X POST https://atman-iot.com/api/data-logger/setup-ftp/step1/{id}/{dataLoggerToken} \
  -H 'Content-Type: multipart/form-data'

POST https://atman-iot.com/api/data-logger/setup-ftp/step1/{id}/{dataLoggerToken} HTTP/1.1
Host: atman-iot.com
Content-Type: multipart/form-data

const inputBody = '{}';
const headers = {
  'Content-Type':'multipart/form-data'
};

fetch('https://atman-iot.com/api/data-logger/setup-ftp/step1/{id}/{dataLoggerToken}',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = {};
const headers = {
  'Content-Type':'multipart/form-data'
};

fetch('https://atman-iot.com/api/data-logger/setup-ftp/step1/{id}/{dataLoggerToken}',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'multipart/form-data'
}

result = RestClient.post 'https://atman-iot.com/api/data-logger/setup-ftp/step1/{id}/{dataLoggerToken}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'multipart/form-data'
}

r = requests.post('https://atman-iot.com/api/data-logger/setup-ftp/step1/{id}/{dataLoggerToken}', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/data-logger/setup-ftp/step1/{id}/{dataLoggerToken}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"multipart/form-data"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://atman-iot.com/api/data-logger/setup-ftp/step1/{id}/{dataLoggerToken}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'multipart/form-data',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://atman-iot.com/api/data-logger/setup-ftp/step1/{id}/{dataLoggerToken}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST /data-logger/setup-ftp/step1/{id}/{dataLoggerToken}

Step 1 of setup process of DataLoggers sending data via FTP. It is used for sending a sample uncompressed file containing raw data, as it was generated by the DataLogger (hardware) identified by dataLoggerToken.

References: DataLoggerModel

Body parameter

{}

Parameters

Name In Type Required Description
id path number true none
dataLoggerToken path string true none
body body object true multipart/form-data value.

Responses

Status Meaning Description Schema
204 No Content File upload verification None
406 Not Acceptable Request is not acceptable. Check response for help None

DataLoggerController.setupFromFtp_csv_2

Code samples

# You can also use wget
curl -X POST https://atman-iot.com/api/data-logger/setup-ftp/step2/csv/{id} \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

POST https://atman-iot.com/api/data-logger/setup-ftp/step2/csv/{id} HTTP/1.1
Host: atman-iot.com
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "delimiter": "string",
  "decimalPoint": "string",
  "timeData": {
    "column": 0,
    "firstItemRow": 0,
    "nextItemIteration": 0,
    "timezone": {
      "row": 0,
      "column": 0,
      "setManually": true,
      "manualValue": "string"
    },
    "format": {
      "row": 0,
      "column": 0,
      "setManually": true,
      "manualValue": "string"
    }
  },
  "data": {
    "header": {
      "firstItemCol": 0,
      "nextItemIteration": 0,
      "model": {
        "firstItemRow": 0,
        "setManually": true,
        "manualValue": "string"
      },
      "serialNo": {
        "firstItemRow": 0,
        "setManually": true,
        "manualValue": "string"
      },
      "channelName": {
        "firstItemRow": 0,
        "setManually": true,
        "manualValue": [
          "string"
        ]
      },
      "channelUnit": {
        "firstItemRow": 0,
        "setManually": true,
        "manualValue": [
          "string"
        ]
      },
      "period": {
        "firstItemRow": 0,
        "setManually": true,
        "manualValue": 0
      }
    },
    "value": {
      "firstItemRow": 0,
      "nextItemIteration": 0
    }
  },
  "confirm": true
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/data-logger/setup-ftp/step2/csv/{id}',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = {
  "delimiter": "string",
  "decimalPoint": "string",
  "timeData": {
    "column": 0,
    "firstItemRow": 0,
    "nextItemIteration": 0,
    "timezone": {
      "row": 0,
      "column": 0,
      "setManually": true,
      "manualValue": "string"
    },
    "format": {
      "row": 0,
      "column": 0,
      "setManually": true,
      "manualValue": "string"
    }
  },
  "data": {
    "header": {
      "firstItemCol": 0,
      "nextItemIteration": 0,
      "model": {
        "firstItemRow": 0,
        "setManually": true,
        "manualValue": "string"
      },
      "serialNo": {
        "firstItemRow": 0,
        "setManually": true,
        "manualValue": "string"
      },
      "channelName": {
        "firstItemRow": 0,
        "setManually": true,
        "manualValue": [
          "string"
        ]
      },
      "channelUnit": {
        "firstItemRow": 0,
        "setManually": true,
        "manualValue": [
          "string"
        ]
      },
      "period": {
        "firstItemRow": 0,
        "setManually": true,
        "manualValue": 0
      }
    },
    "value": {
      "firstItemRow": 0,
      "nextItemIteration": 0
    }
  },
  "confirm": true
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/data-logger/setup-ftp/step2/csv/{id}',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.post 'https://atman-iot.com/api/data-logger/setup-ftp/step2/csv/{id}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.post('https://atman-iot.com/api/data-logger/setup-ftp/step2/csv/{id}', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/data-logger/setup-ftp/step2/csv/{id}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://atman-iot.com/api/data-logger/setup-ftp/step2/csv/{id}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://atman-iot.com/api/data-logger/setup-ftp/step2/csv/{id}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST /data-logger/setup-ftp/step2/csv/{id}

Step 2 of setup process of DataLoggers sending CSV data via FTP. It is used for mapping properties of the sent file to properties of models in the system. DataLogger to be setup, is identified by id and User performing operation is identified by token. Endpoint response represents the results of the mapping (required in Step 3). If it is satisfactory, it is saved by setting the property confirm to true.

References: UserController, DataLoggerModel

Body parameter

{
  "delimiter": "string",
  "decimalPoint": "string",
  "timeData": {
    "column": 0,
    "firstItemRow": 0,
    "nextItemIteration": 0,
    "timezone": {
      "row": 0,
      "column": 0,
      "setManually": true,
      "manualValue": "string"
    },
    "format": {
      "row": 0,
      "column": 0,
      "setManually": true,
      "manualValue": "string"
    }
  },
  "data": {
    "header": {
      "firstItemCol": 0,
      "nextItemIteration": 0,
      "model": {
        "firstItemRow": 0,
        "setManually": true,
        "manualValue": "string"
      },
      "serialNo": {
        "firstItemRow": 0,
        "setManually": true,
        "manualValue": "string"
      },
      "channelName": {
        "firstItemRow": 0,
        "setManually": true,
        "manualValue": [
          "string"
        ]
      },
      "channelUnit": {
        "firstItemRow": 0,
        "setManually": true,
        "manualValue": [
          "string"
        ]
      },
      "period": {
        "firstItemRow": 0,
        "setManually": true,
        "manualValue": 0
      }
    },
    "value": {
      "firstItemRow": 0,
      "nextItemIteration": 0
    }
  },
  "confirm": true
}

Parameters

Name In Type Required Description
id path number true none
body body RequestDataLoggerSetupCsv2Excluding_fileFormat_ false none

Example responses

200 Response

{
  "deviceTypes": [
    {
      "id": 0,
      "model": "string",
      "description": "string",
      "manufacturer": "string",
      "category": "string",
      "error": true,
      "channelTypes": [
        {
          "id": 0,
          "name": "string",
          "category": "string",
          "description": "string",
          "unit": "string",
          "channelType": "string",
          "deviceTypeId": 0,
          "error": true
        }
      ]
    }
  ],
  "devices": [
    {
      "id": 0,
      "description": "string",
      "serialNo": "string",
      "dataLoggerId": 0,
      "deviceTypeId": 0
    }
  ],
  "sample": {
    "value": {},
    "period": 0,
    "timestamp": {
      "value": "2019-08-24T14:15:22Z",
      "format": "string",
      "timezone": "string"
    },
    "scope": "string"
  },
  "errorCount": 0,
  "errors": [
    "string"
  ]
}

Responses

Status Meaning Description Schema
200 OK Data logger configuration file ResponseDataLoggerSetupStep2
401 Unauthorized User is not authorized None
406 Not Acceptable Request is not acceptable. Check response for help None

DataLoggerController.setupFromFtp_Xml_2

Code samples

# You can also use wget
curl -X POST https://atman-iot.com/api/data-logger/setup-ftp/step2/xml/{id} \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

POST https://atman-iot.com/api/data-logger/setup-ftp/step2/xml/{id} HTTP/1.1
Host: atman-iot.com
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "objectListKey": "string",
  "model": {
    "key": "string",
    "isString": true,
    "performSplit": [
      {
        "delimiter": "string",
        "location": 0
      }
    ]
  },
  "serialNo": {
    "key": "string",
    "isString": true,
    "performSplit": [
      {
        "delimiter": "string",
        "location": 0
      }
    ]
  },
  "channelName": {
    "key": "string",
    "isString": true,
    "performSplit": [
      {
        "delimiter": "string",
        "location": 0
      }
    ]
  },
  "channelUnit": {
    "key": "string",
    "isString": true,
    "performSplit": [
      {
        "delimiter": "string",
        "location": 0
      }
    ]
  },
  "value": {
    "key": "string",
    "isString": true,
    "performSplit": [
      {
        "delimiter": "string",
        "location": 0
      }
    ]
  },
  "period": {
    "key": "string",
    "isString": true,
    "performSplit": [
      {
        "delimiter": "string",
        "location": 0
      }
    ]
  },
  "timestamp": {
    "key": "string",
    "isString": true,
    "performSplit": [
      {
        "delimiter": "string",
        "location": 0
      }
    ]
  },
  "confirm": true
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/data-logger/setup-ftp/step2/xml/{id}',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = {
  "objectListKey": "string",
  "model": {
    "key": "string",
    "isString": true,
    "performSplit": [
      {
        "delimiter": "string",
        "location": 0
      }
    ]
  },
  "serialNo": {
    "key": "string",
    "isString": true,
    "performSplit": [
      {
        "delimiter": "string",
        "location": 0
      }
    ]
  },
  "channelName": {
    "key": "string",
    "isString": true,
    "performSplit": [
      {
        "delimiter": "string",
        "location": 0
      }
    ]
  },
  "channelUnit": {
    "key": "string",
    "isString": true,
    "performSplit": [
      {
        "delimiter": "string",
        "location": 0
      }
    ]
  },
  "value": {
    "key": "string",
    "isString": true,
    "performSplit": [
      {
        "delimiter": "string",
        "location": 0
      }
    ]
  },
  "period": {
    "key": "string",
    "isString": true,
    "performSplit": [
      {
        "delimiter": "string",
        "location": 0
      }
    ]
  },
  "timestamp": {
    "key": "string",
    "isString": true,
    "performSplit": [
      {
        "delimiter": "string",
        "location": 0
      }
    ]
  },
  "confirm": true
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/data-logger/setup-ftp/step2/xml/{id}',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.post 'https://atman-iot.com/api/data-logger/setup-ftp/step2/xml/{id}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.post('https://atman-iot.com/api/data-logger/setup-ftp/step2/xml/{id}', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/data-logger/setup-ftp/step2/xml/{id}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://atman-iot.com/api/data-logger/setup-ftp/step2/xml/{id}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://atman-iot.com/api/data-logger/setup-ftp/step2/xml/{id}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST /data-logger/setup-ftp/step2/xml/{id}

Step 2 of setup process of DataLoggers sending XML data via FTP. It is used for mapping properties of the sent file to properties of models in the system. DataLogger to be setup, is identified by id and User performing operation is identified by token. Endpoint response represents the results of the mapping (required in Step 3). If it is satisfactory, it is saved by setting the property confirm to true.

References: UserController, DataLoggerModel

Body parameter

{
  "objectListKey": "string",
  "model": {
    "key": "string",
    "isString": true,
    "performSplit": [
      {
        "delimiter": "string",
        "location": 0
      }
    ]
  },
  "serialNo": {
    "key": "string",
    "isString": true,
    "performSplit": [
      {
        "delimiter": "string",
        "location": 0
      }
    ]
  },
  "channelName": {
    "key": "string",
    "isString": true,
    "performSplit": [
      {
        "delimiter": "string",
        "location": 0
      }
    ]
  },
  "channelUnit": {
    "key": "string",
    "isString": true,
    "performSplit": [
      {
        "delimiter": "string",
        "location": 0
      }
    ]
  },
  "value": {
    "key": "string",
    "isString": true,
    "performSplit": [
      {
        "delimiter": "string",
        "location": 0
      }
    ]
  },
  "period": {
    "key": "string",
    "isString": true,
    "performSplit": [
      {
        "delimiter": "string",
        "location": 0
      }
    ]
  },
  "timestamp": {
    "key": "string",
    "isString": true,
    "performSplit": [
      {
        "delimiter": "string",
        "location": 0
      }
    ]
  },
  "confirm": true
}

Parameters

Name In Type Required Description
id path number true none
body body RequestDataLoggerSetupXml2Excluding_fileFormat_ false none

Example responses

200 Response

{
  "deviceTypes": [
    {
      "id": 0,
      "model": "string",
      "description": "string",
      "manufacturer": "string",
      "category": "string",
      "error": true,
      "channelTypes": [
        {
          "id": 0,
          "name": "string",
          "category": "string",
          "description": "string",
          "unit": "string",
          "channelType": "string",
          "deviceTypeId": 0,
          "error": true
        }
      ]
    }
  ],
  "devices": [
    {
      "id": 0,
      "description": "string",
      "serialNo": "string",
      "dataLoggerId": 0,
      "deviceTypeId": 0
    }
  ],
  "sample": {
    "value": {},
    "period": 0,
    "timestamp": {
      "value": "2019-08-24T14:15:22Z",
      "format": "string",
      "timezone": "string"
    },
    "scope": "string"
  },
  "errorCount": 0,
  "errors": [
    "string"
  ]
}

Responses

Status Meaning Description Schema
200 OK Data logger configuration JSON ResponseDataLoggerSetupStep2
401 Unauthorized User is not authorized None
406 Not Acceptable Request is not acceptable. Check response for help None

DataLoggerController.setupFromFtp_3

Code samples

# You can also use wget
curl -X POST https://atman-iot.com/api/data-logger/setup-ftp/step3/{id} \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer {access-token}'

POST https://atman-iot.com/api/data-logger/setup-ftp/step3/{id} HTTP/1.1
Host: atman-iot.com
Content-Type: application/json

const inputBody = '{
  "deviceTypes": [
    {
      "id": 0,
      "model": "string",
      "description": "string",
      "manufacturer": "string",
      "category": "string",
      "error": true,
      "channelTypes": [
        {
          "id": 0,
          "name": "string",
          "category": "string",
          "description": "string",
          "unit": "string",
          "channelType": "string",
          "deviceTypeId": 0,
          "error": true
        }
      ]
    }
  ],
  "devices": [
    {
      "id": 0,
      "description": "string",
      "serialNo": "string",
      "dataLoggerId": 0,
      "deviceTypeId": 0
    }
  ],
  "sample": {
    "value": {},
    "period": 0,
    "timestamp": {
      "value": "2019-08-24T14:15:22Z",
      "format": "string",
      "timezone": "string"
    },
    "scope": "string"
  },
  "errorCount": 0,
  "errors": [
    "string"
  ]
}';
const headers = {
  'Content-Type':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/data-logger/setup-ftp/step3/{id}',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = {
  "deviceTypes": [
    {
      "id": 0,
      "model": "string",
      "description": "string",
      "manufacturer": "string",
      "category": "string",
      "error": true,
      "channelTypes": [
        {
          "id": 0,
          "name": "string",
          "category": "string",
          "description": "string",
          "unit": "string",
          "channelType": "string",
          "deviceTypeId": 0,
          "error": true
        }
      ]
    }
  ],
  "devices": [
    {
      "id": 0,
      "description": "string",
      "serialNo": "string",
      "dataLoggerId": 0,
      "deviceTypeId": 0
    }
  ],
  "sample": {
    "value": {},
    "period": 0,
    "timestamp": {
      "value": "2019-08-24T14:15:22Z",
      "format": "string",
      "timezone": "string"
    },
    "scope": "string"
  },
  "errorCount": 0,
  "errors": [
    "string"
  ]
};
const headers = {
  'Content-Type':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/data-logger/setup-ftp/step3/{id}',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.post 'https://atman-iot.com/api/data-logger/setup-ftp/step3/{id}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.post('https://atman-iot.com/api/data-logger/setup-ftp/step3/{id}', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/data-logger/setup-ftp/step3/{id}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://atman-iot.com/api/data-logger/setup-ftp/step3/{id}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://atman-iot.com/api/data-logger/setup-ftp/step3/{id}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST /data-logger/setup-ftp/step3/{id}

Step 3 of setup process of DataLoggers sending data via FTP. It is used for initiating DeviceTypes, ChannelTypes and Devices. Accepts as input the output of Step 2. Make sure that the manufacturer property is added.

References: DeviceController, DeviceTypeController, DeviceTypeChannelTypeController, UserController, DataLoggerModel

Body parameter

{
  "deviceTypes": [
    {
      "id": 0,
      "model": "string",
      "description": "string",
      "manufacturer": "string",
      "category": "string",
      "error": true,
      "channelTypes": [
        {
          "id": 0,
          "name": "string",
          "category": "string",
          "description": "string",
          "unit": "string",
          "channelType": "string",
          "deviceTypeId": 0,
          "error": true
        }
      ]
    }
  ],
  "devices": [
    {
      "id": 0,
      "description": "string",
      "serialNo": "string",
      "dataLoggerId": 0,
      "deviceTypeId": 0
    }
  ],
  "sample": {
    "value": {},
    "period": 0,
    "timestamp": {
      "value": "2019-08-24T14:15:22Z",
      "format": "string",
      "timezone": "string"
    },
    "scope": "string"
  },
  "errorCount": 0,
  "errors": [
    "string"
  ]
}

Parameters

Name In Type Required Description
id path number true none
body body ResponseDataLoggerSetupStep2 false none

Responses

Status Meaning Description Schema
204 No Content Data logger devices initiation verification None
401 Unauthorized User is not authorized None
406 Not Acceptable Request is not acceptable. Check response for help None

DataLoggerController.deleteById

Code samples

# You can also use wget
curl -X DELETE https://atman-iot.com/api/data-logger/{id} \
  -H 'Authorization: Bearer {access-token}'

DELETE https://atman-iot.com/api/data-logger/{id} HTTP/1.1
Host: atman-iot.com


const headers = {
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/data-logger/{id}',
{
  method: 'DELETE',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/data-logger/{id}',
{
  method: 'DELETE',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.delete 'https://atman-iot.com/api/data-logger/{id}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Authorization': 'Bearer {access-token}'
}

r = requests.delete('https://atman-iot.com/api/data-logger/{id}', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/data-logger/{id}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("DELETE", "https://atman-iot.com/api/data-logger/{id}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('DELETE','https://atman-iot.com/api/data-logger/{id}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

DELETE /data-logger/{id}

Deletes a DataLogger identified by id, owned by a User identified by the provided token.

References: UserController, DataLoggerModel

Parameters

Name In Type Required Description
id path number true none

Responses

Status Meaning Description Schema
204 No Content DataLogger model instance deletion verification None
401 Unauthorized User is not authorized None
406 Not Acceptable Request is not acceptable. Check response for help None

DataLoggerController.create

Code samples

# You can also use wget
curl -X POST https://atman-iot.com/api/data-logger \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

POST https://atman-iot.com/api/data-logger HTTP/1.1
Host: atman-iot.com
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "description": "string",
  "connectionType": "string",
  "fileFormat": "string",
  "username": "string",
  "passwd": "string",
  "autoInit": true,
  "dataCompressed": true
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/data-logger',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = {
  "description": "string",
  "connectionType": "string",
  "fileFormat": "string",
  "username": "string",
  "passwd": "string",
  "autoInit": true,
  "dataCompressed": true
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/data-logger',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.post 'https://atman-iot.com/api/data-logger',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.post('https://atman-iot.com/api/data-logger', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/data-logger");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://atman-iot.com/api/data-logger", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://atman-iot.com/api/data-logger', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST /data-logger

Used for creating a new DataLogger by and authorized User, identified by the provided token.

References: UserController, DataLoggerModel

Body parameter

{
  "description": "string",
  "connectionType": "string",
  "fileFormat": "string",
  "username": "string",
  "passwd": "string",
  "autoInit": true,
  "dataCompressed": true
}

Parameters

Name In Type Required Description
body body DataLoggerExcluding_id-authToken-config-userId_ false none

Example responses

200 Response

{
  "id": 0,
  "description": "string",
  "connectionType": "string",
  "fileFormat": "string",
  "username": "string",
  "passwd": "string",
  "authToken": "string",
  "config": "string",
  "autoInit": true,
  "dataCompressed": true,
  "userId": 0
}

Responses

Status Meaning Description Schema
200 OK Returns created DataLogger model instance DataLogger
401 Unauthorized User is not authorized None
406 Not Acceptable Request is not acceptable. Check response for help None

DataLoggerController.find

Code samples

# You can also use wget
curl -X GET https://atman-iot.com/api/data-loggers \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://atman-iot.com/api/data-loggers HTTP/1.1
Host: atman-iot.com
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/data-loggers',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/data-loggers',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://atman-iot.com/api/data-loggers',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://atman-iot.com/api/data-loggers', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/data-loggers");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://atman-iot.com/api/data-loggers", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://atman-iot.com/api/data-loggers', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /data-loggers

Returns an array of DataLoggers owned by a User identified by the provided token.

References: UserController, DataLoggerModel

Example responses

200 Response

[
  {
    "id": 0,
    "description": "string",
    "connectionType": "string",
    "fileFormat": "string",
    "username": "string",
    "passwd": "string",
    "authToken": "string",
    "config": "string",
    "autoInit": true,
    "dataCompressed": true,
    "userId": 0
  }
]

Responses

Status Meaning Description Schema
200 OK Returns Array of DataLogger model instances Inline
401 Unauthorized User is not authorized None
406 Not Acceptable Request is not acceptable. Check response for help None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [DataLogger] false none none
» DataLogger object false none none
»» id number false none Automatically generated ID
»» description string false none Datalogger description
»» connectionType string true none Method used by DataLogger to send data to the system. At present only FTP implemented
»» fileFormat string true none Format of the files uploaded to the system DataLogger. At present system supports CSV and XML formats
»» username string false none Username of system FTP account, where the DataLogger sends the data (if applicable)
»» passwd string false none Password of system FTP account, where the DataLogger sends the data (if applicable)
»» authToken string false none Authentication token of DataLogger
»» config string false none JSON configuration file for DataLogger
»» autoInit boolean true none Flag for selecting if DataLogger is to be initiated automatically from preexisting configuration
»» dataCompressed boolean true none Flag for selecting if DataLogger sends compressed files
»» userId number true none ID of User that DataLogger belongs to

DeviceController

DeviceController.disableChannelMonitoring

Code samples

# You can also use wget
curl -X GET https://atman-iot.com/api/device/{deviceId}/channel/{channelId}/disable-monitoring/all/{all} \
  -H 'Authorization: Bearer {access-token}'

GET https://atman-iot.com/api/device/{deviceId}/channel/{channelId}/disable-monitoring/all/{all} HTTP/1.1
Host: atman-iot.com


const headers = {
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/device/{deviceId}/channel/{channelId}/disable-monitoring/all/{all}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/device/{deviceId}/channel/{channelId}/disable-monitoring/all/{all}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://atman-iot.com/api/device/{deviceId}/channel/{channelId}/disable-monitoring/all/{all}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://atman-iot.com/api/device/{deviceId}/channel/{channelId}/disable-monitoring/all/{all}', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/device/{deviceId}/channel/{channelId}/disable-monitoring/all/{all}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://atman-iot.com/api/device/{deviceId}/channel/{channelId}/disable-monitoring/all/{all}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://atman-iot.com/api/device/{deviceId}/channel/{channelId}/disable-monitoring/all/{all}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /device/{deviceId}/channel/{channelId}/disable-monitoring/all/{all}

Disable monitoring of Channel identified by channelId, in Device identified by deviceId, owned by User authorized by token.

References: UserController, ChannelModel, DeviceModel

Parameters

Name In Type Required Description
deviceId path number true none
channelId path number true none
all path boolean true none

Responses

Status Meaning Description Schema
204 No Content Monitoring disabled None
401 Unauthorized User is not authorized None
406 Not Acceptable Request is not acceptable. Check response for help None

DeviceController.enableChannelMonitoring

Code samples

# You can also use wget
curl -X GET https://atman-iot.com/api/device/{deviceId}/channel/{channelId}/enable-monitoring/all/{all} \
  -H 'Authorization: Bearer {access-token}'

GET https://atman-iot.com/api/device/{deviceId}/channel/{channelId}/enable-monitoring/all/{all} HTTP/1.1
Host: atman-iot.com


const headers = {
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/device/{deviceId}/channel/{channelId}/enable-monitoring/all/{all}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/device/{deviceId}/channel/{channelId}/enable-monitoring/all/{all}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://atman-iot.com/api/device/{deviceId}/channel/{channelId}/enable-monitoring/all/{all}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://atman-iot.com/api/device/{deviceId}/channel/{channelId}/enable-monitoring/all/{all}', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/device/{deviceId}/channel/{channelId}/enable-monitoring/all/{all}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://atman-iot.com/api/device/{deviceId}/channel/{channelId}/enable-monitoring/all/{all}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://atman-iot.com/api/device/{deviceId}/channel/{channelId}/enable-monitoring/all/{all}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /device/{deviceId}/channel/{channelId}/enable-monitoring/all/{all}

Enable monitoring of Channel identified by channelId, in Device identified by deviceId, owned by User authorized by token.

References: UserController, ChannelModel, DeviceModel

Parameters

Name In Type Required Description
deviceId path number true none
channelId path number true none
all path boolean true none

Responses

Status Meaning Description Schema
204 No Content Monitoring enabled None
401 Unauthorized User is not authorized None
406 Not Acceptable Request is not acceptable. Check response for help None

DeviceController.createChannel

Code samples

# You can also use wget
curl -X POST https://atman-iot.com/api/device/{deviceId}/channel \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

POST https://atman-iot.com/api/device/{deviceId}/channel HTTP/1.1
Host: atman-iot.com
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "monitor": true,
  "lastTimestamp": "2019-08-24T14:15:22Z",
  "status": "string",
  "channelTypeId": 0
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/device/{deviceId}/channel',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = {
  "monitor": true,
  "lastTimestamp": "2019-08-24T14:15:22Z",
  "status": "string",
  "channelTypeId": 0
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/device/{deviceId}/channel',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.post 'https://atman-iot.com/api/device/{deviceId}/channel',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.post('https://atman-iot.com/api/device/{deviceId}/channel', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/device/{deviceId}/channel");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://atman-iot.com/api/device/{deviceId}/channel", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://atman-iot.com/api/device/{deviceId}/channel', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST /device/{deviceId}/channel

Used for creating a new Channel, belonging to a Device with id deviceId by an authorized User identified by the provided token.

References: UserController, ChannelModel, DeviceModel

Body parameter

{
  "monitor": true,
  "lastTimestamp": "2019-08-24T14:15:22Z",
  "status": "string",
  "channelTypeId": 0
}

Parameters

Name In Type Required Description
deviceId path number true none
body body ChannelExcluding_id-deviceId_ false none

Example responses

200 Response

{
  "id": 0,
  "monitor": true,
  "lastTimestamp": "2019-08-24T14:15:22Z",
  "status": "string",
  "deviceId": 0,
  "channelTypeId": 0
}

Responses

Status Meaning Description Schema
200 OK Returns created Channel model instance in Device with provided id Channel
401 Unauthorized User is not authorized None
406 Not Acceptable Request is not acceptable. Check response for help None

DeviceController.findChannelTypes

Code samples

# You can also use wget
curl -X GET https://atman-iot.com/api/device/{deviceId}/channelTypes \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://atman-iot.com/api/device/{deviceId}/channelTypes HTTP/1.1
Host: atman-iot.com
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/device/{deviceId}/channelTypes',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/device/{deviceId}/channelTypes',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://atman-iot.com/api/device/{deviceId}/channelTypes',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://atman-iot.com/api/device/{deviceId}/channelTypes', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/device/{deviceId}/channelTypes");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://atman-iot.com/api/device/{deviceId}/channelTypes", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://atman-iot.com/api/device/{deviceId}/channelTypes', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /device/{deviceId}/channelTypes

Used for getting the ChannelTypes of Channels belonging to a Device with id deviceId, by an authorized User identified by the provided token.

References: UserController, ChannelModel, ChannelTypeModel, DeviceModel

Parameters

Name In Type Required Description
deviceId path number true none

Example responses

200 Response

[
  {
    "id": 0,
    "name": "string",
    "category": "string",
    "description": "string",
    "unit": "string",
    "channelType": "string",
    "deviceTypeId": 0
  }
]

Responses

Status Meaning Description Schema
200 OK Returns Array of ChannelType model instances in Device with provided id Inline
401 Unauthorized User is not authorized None
406 Not Acceptable Request is not acceptable. Check response for help None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [ChannelType] false none none
» ChannelType object false none none
»» id number false none Automatically generated ID
»» name string true none ChannelType name
»» category string false none ChannelType category
»» description string false none ChannelType description
»» unit string false none Unit of measurement
»» channelType string true none Type of data: UNDEFINED / SPOT_VALUE / COUNTER / TEXT
»» deviceTypeId number true none ID of DeviceType that ChannelType belongs to

DeviceController.findChannels

Code samples

# You can also use wget
curl -X GET https://atman-iot.com/api/device/{deviceId}/channels \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://atman-iot.com/api/device/{deviceId}/channels HTTP/1.1
Host: atman-iot.com
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/device/{deviceId}/channels',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/device/{deviceId}/channels',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://atman-iot.com/api/device/{deviceId}/channels',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://atman-iot.com/api/device/{deviceId}/channels', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/device/{deviceId}/channels");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://atman-iot.com/api/device/{deviceId}/channels", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://atman-iot.com/api/device/{deviceId}/channels', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /device/{deviceId}/channels

Used for getting Channels, belonging to a Device with id deviceId, by an authorized User identified by the provided token.

References: UserController, ChannelModel, DeviceModel

Parameters

Name In Type Required Description
deviceId path number true none

Example responses

200 Response

[
  {
    "id": 0,
    "monitor": true,
    "lastTimestamp": "2019-08-24T14:15:22Z",
    "status": "string",
    "deviceId": 0,
    "channelTypeId": 0
  }
]

Responses

Status Meaning Description Schema
200 OK Returns Array of Channel model instances in Device with provided id Inline
401 Unauthorized User is not authorized None
406 Not Acceptable Request is not acceptable. Check response for help None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [Channel] false none none
» Channel object false none none
»» id number false none Automatically generated ID
»» monitor boolean true none Enable channel monitoring - data recording - by setting to true
»» lastTimestamp string(date-time) false none Timestamp
»» status string false none Channel Status
»» deviceId number true none ID of Device that Channel belongs to
»» channelTypeId number true none ID of ChannelType associated with Channel

DeviceController.create

Code samples

# You can also use wget
curl -X POST https://atman-iot.com/api/device/{dataLoggerId} \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

POST https://atman-iot.com/api/device/{dataLoggerId} HTTP/1.1
Host: atman-iot.com
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "description": "string",
  "serialNo": "string",
  "deviceTypeId": 0
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/device/{dataLoggerId}',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = {
  "description": "string",
  "serialNo": "string",
  "deviceTypeId": 0
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/device/{dataLoggerId}',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.post 'https://atman-iot.com/api/device/{dataLoggerId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.post('https://atman-iot.com/api/device/{dataLoggerId}', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/device/{dataLoggerId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://atman-iot.com/api/device/{dataLoggerId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://atman-iot.com/api/device/{dataLoggerId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST /device/{dataLoggerId}

Used for creating a new Device, belonging to a DataLogger with id dataLoggerId by an authorized User identified by the provided token.

References: DataLoggerController, UserController, DeviceModel

Body parameter

{
  "description": "string",
  "serialNo": "string",
  "deviceTypeId": 0
}

Parameters

Name In Type Required Description
dataLoggerId path number true none
body body DeviceExcluding_id-dataLoggerId_ false none

Example responses

200 Response

{
  "id": 0,
  "description": "string",
  "serialNo": "string",
  "dataLoggerId": 0,
  "deviceTypeId": 0
}

Responses

Status Meaning Description Schema
200 OK Returns created Device model instance Device
401 Unauthorized User is not authorized None
406 Not Acceptable Request is not acceptable. Check response for help None

DeviceController.updateById

Code samples

# You can also use wget
curl -X PATCH https://atman-iot.com/api/device/{id} \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer {access-token}'

PATCH https://atman-iot.com/api/device/{id} HTTP/1.1
Host: atman-iot.com
Content-Type: application/json

const inputBody = '{
  "description": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/device/{id}',
{
  method: 'PATCH',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = {
  "description": "string"
};
const headers = {
  'Content-Type':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/device/{id}',
{
  method: 'PATCH',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.patch 'https://atman-iot.com/api/device/{id}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.patch('https://atman-iot.com/api/device/{id}', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/device/{id}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PATCH");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PATCH", "https://atman-iot.com/api/device/{id}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PATCH','https://atman-iot.com/api/device/{id}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PATCH /device/{id}

Body parameter

{
  "description": "string"
}

Parameters

Name In Type Required Description
id path number true none
body body DeviceExcluding_id-serialNo-dataLoggerId-deviceTypeId_ false none

Responses

Status Meaning Description Schema
204 No Content Device PATCH success None

DeviceController.getDevicesWithType

Code samples

# You can also use wget
curl -X POST https://atman-iot.com/api/devices/with-device-type \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

POST https://atman-iot.com/api/devices/with-device-type HTTP/1.1
Host: atman-iot.com
Content-Type: application/json
Accept: application/json

const inputBody = '[
  {
    "id": 0
  }
]';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/devices/with-device-type',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = [
  {
    "id": 0
  }
];
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/devices/with-device-type',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.post 'https://atman-iot.com/api/devices/with-device-type',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.post('https://atman-iot.com/api/devices/with-device-type', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/devices/with-device-type");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://atman-iot.com/api/devices/with-device-type", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://atman-iot.com/api/devices/with-device-type', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST /devices/with-device-type

Returns array of devices with their device types

Body parameter

[
  {
    "id": 0
  }
]

Parameters

Name In Type Required Description
body body DeviceExcluding_description-serialNo-dataLoggerId-deviceTypeId_ false none

Example responses

200 Response

[
  {
    "deviceType": {
      "id": 0,
      "model": "string",
      "description": "string",
      "manufacturer": "string",
      "category": "string"
    },
    "device": {
      "id": 0,
      "description": "string",
      "serialNo": "string",
      "dataLoggerId": 0,
      "deviceTypeId": 0
    }
  }
]

Responses

Status Meaning Description Schema
200 OK DeviceType belonging to Device Inline
401 Unauthorized User is not authorized None
404 Not Found Device Not Found None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [DeviceWithType] false none none
» DeviceWithType object false none none
»» deviceType object true none none
»»» id number false none Automatically generated ID
»»» model string true none DeviceType model
»»» description string false none DeviceType description
»»» manufacturer string true none DeviceType manufacturer
»»» category string false none DeviceType category
»» device object true none none
»»» id number false none Automatically generated ID
»»» description string false none Device description
»»» serialNo string true none Device serial number
»»» dataLoggerId number true none ID of DataLogger that Device belongs to
»»» deviceTypeId number false none none

DeviceController.find

Code samples

# You can also use wget
curl -X GET https://atman-iot.com/api/devices/{dataLoggerId} \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://atman-iot.com/api/devices/{dataLoggerId} HTTP/1.1
Host: atman-iot.com
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/devices/{dataLoggerId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/devices/{dataLoggerId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://atman-iot.com/api/devices/{dataLoggerId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://atman-iot.com/api/devices/{dataLoggerId}', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/devices/{dataLoggerId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://atman-iot.com/api/devices/{dataLoggerId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://atman-iot.com/api/devices/{dataLoggerId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /devices/{dataLoggerId}

Used for getting the Devices, belonging to a DataLogger with id dataLoggerId by an authorized User identified by the provided token.

References: DataLoggerController, UserController, DeviceModel

Parameters

Name In Type Required Description
dataLoggerId path number true none

Example responses

200 Response

[
  {
    "id": 0,
    "description": "string",
    "serialNo": "string",
    "dataLoggerId": 0,
    "deviceTypeId": 0
  }
]

Responses

Status Meaning Description Schema
200 OK Returns Array of Device model in DataLogger with provided id Inline
401 Unauthorized User is not authorized None
406 Not Acceptable Request is not acceptable. Check response for help None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [Device] false none none
» Device object false none none
»» id number false none Automatically generated ID
»» description string false none Device description
»» serialNo string true none Device serial number
»» dataLoggerId number true none ID of DataLogger that Device belongs to
»» deviceTypeId number false none none

DeviceChannelController

DeviceChannelController.find_by_period

Code samples

# You can also use wget
curl -X GET https://atman-iot.com/api/device-channel/data-by-period/{deviceId}/{channelId}/from/{fromTS}/to/{toTs}/page/{page}/count/{count}/groupBy/{groupBy}/operation/{operation} \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://atman-iot.com/api/device-channel/data-by-period/{deviceId}/{channelId}/from/{fromTS}/to/{toTs}/page/{page}/count/{count}/groupBy/{groupBy}/operation/{operation} HTTP/1.1
Host: atman-iot.com
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/device-channel/data-by-period/{deviceId}/{channelId}/from/{fromTS}/to/{toTs}/page/{page}/count/{count}/groupBy/{groupBy}/operation/{operation}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/device-channel/data-by-period/{deviceId}/{channelId}/from/{fromTS}/to/{toTs}/page/{page}/count/{count}/groupBy/{groupBy}/operation/{operation}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://atman-iot.com/api/device-channel/data-by-period/{deviceId}/{channelId}/from/{fromTS}/to/{toTs}/page/{page}/count/{count}/groupBy/{groupBy}/operation/{operation}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://atman-iot.com/api/device-channel/data-by-period/{deviceId}/{channelId}/from/{fromTS}/to/{toTs}/page/{page}/count/{count}/groupBy/{groupBy}/operation/{operation}', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/device-channel/data-by-period/{deviceId}/{channelId}/from/{fromTS}/to/{toTs}/page/{page}/count/{count}/groupBy/{groupBy}/operation/{operation}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://atman-iot.com/api/device-channel/data-by-period/{deviceId}/{channelId}/from/{fromTS}/to/{toTs}/page/{page}/count/{count}/groupBy/{groupBy}/operation/{operation}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://atman-iot.com/api/device-channel/data-by-period/{deviceId}/{channelId}/from/{fromTS}/to/{toTs}/page/{page}/count/{count}/groupBy/{groupBy}/operation/{operation}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /device-channel/data-by-period/{deviceId}/{channelId}/from/{fromTS}/to/{toTs}/page/{page}/count/{count}/groupBy/{groupBy}/operation/{operation}

Parameters

Name In Type Required Description
deviceId path number true none
channelId path number true none
fromTS path string true none
toTs path string true none
page path number true none
count path number true none
groupBy path string true none
operation path string true none

Example responses

200 Response

{
  "channelType": {
    "id": 0,
    "name": "string",
    "category": "string",
    "description": "string",
    "unit": "string",
    "channelType": "string",
    "deviceTypeId": 0
  },
  "dataFloat": [
    {
      "id": 0,
      "period": 0,
      "measurement": 0,
      "timestamp": "2019-08-24T14:15:22Z",
      "channelId": 0
    }
  ],
  "dataText": [
    {
      "id": 0,
      "period": 0,
      "measurement": "string",
      "timestamp": "2019-08-24T14:15:22Z",
      "channelId": 0
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Device Channel Data by time window. ResponseDeviceChannelData
401 Unauthorized User is not authorized None
406 Not Acceptable Request is not acceptable. Check response for help None

DeviceChannelController.findDeviceAllLastTS

Code samples

# You can also use wget
curl -X GET https://atman-iot.com/api/device-channel/data-last-timestamp/all-channels/{deviceId} \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://atman-iot.com/api/device-channel/data-last-timestamp/all-channels/{deviceId} HTTP/1.1
Host: atman-iot.com
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/device-channel/data-last-timestamp/all-channels/{deviceId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/device-channel/data-last-timestamp/all-channels/{deviceId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://atman-iot.com/api/device-channel/data-last-timestamp/all-channels/{deviceId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://atman-iot.com/api/device-channel/data-last-timestamp/all-channels/{deviceId}', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/device-channel/data-last-timestamp/all-channels/{deviceId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://atman-iot.com/api/device-channel/data-last-timestamp/all-channels/{deviceId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://atman-iot.com/api/device-channel/data-last-timestamp/all-channels/{deviceId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /device-channel/data-last-timestamp/all-channels/{deviceId}

Parameters

Name In Type Required Description
deviceId path number true none

Example responses

200 Response

[
  {
    "channelType": {
      "id": 0,
      "name": "string",
      "category": "string",
      "description": "string",
      "unit": "string",
      "channelType": "string",
      "deviceTypeId": 0
    },
    "dataFloat": [
      {
        "id": 0,
        "period": 0,
        "measurement": 0,
        "timestamp": "2019-08-24T14:15:22Z",
        "channelId": 0
      }
    ],
    "dataText": [
      {
        "id": 0,
        "period": 0,
        "measurement": "string",
        "timestamp": "2019-08-24T14:15:22Z",
        "channelId": 0
      }
    ]
  }
]

Responses

Status Meaning Description Schema
200 OK Device Channel Data at the last available timestamp (All channels). Inline
401 Unauthorized User is not authorized None
406 Not Acceptable Request is not acceptable. Check response for help None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [ResponseDeviceChannelData] false none none
» ResponseDeviceChannelData object false none none
»» channelType object true none none
»»» id number false none Automatically generated ID
»»» name string true none ChannelType name
»»» category string false none ChannelType category
»»» description string false none ChannelType description
»»» unit string false none Unit of measurement
»»» channelType string true none Type of data: UNDEFINED / SPOT_VALUE / COUNTER / TEXT
»»» deviceTypeId number true none ID of DeviceType that ChannelType belongs to
»» dataFloat [DataFloat] false none none
»»» DataFloat object false none none
»»»» id number false none Automatically generated ID
»»»» period number true none Recording period - seconds
»»»» measurement number true none Recorded measurement
»»»» timestamp string(date-time) true none Timestamp
»»»» channelId number true none ID of Channel that DataFloat belongs to
»» dataText [DataText] false none none
»»» DataText object false none none
»»»» id number false none Automatically generated ID
»»»» period number true none Recording period - seconds
»»»» measurement string true none Recorded data
»»»» timestamp string(date-time) true none Timestamp
»»»» channelId number true none ID of Channel that DataFloat belongs to

DeviceChannelController.findDeviceChannelLastTS

Code samples

# You can also use wget
curl -X GET https://atman-iot.com/api/device-channel/data-last-timestamp/{deviceId}/{channelId} \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://atman-iot.com/api/device-channel/data-last-timestamp/{deviceId}/{channelId} HTTP/1.1
Host: atman-iot.com
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/device-channel/data-last-timestamp/{deviceId}/{channelId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/device-channel/data-last-timestamp/{deviceId}/{channelId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://atman-iot.com/api/device-channel/data-last-timestamp/{deviceId}/{channelId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://atman-iot.com/api/device-channel/data-last-timestamp/{deviceId}/{channelId}', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/device-channel/data-last-timestamp/{deviceId}/{channelId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://atman-iot.com/api/device-channel/data-last-timestamp/{deviceId}/{channelId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://atman-iot.com/api/device-channel/data-last-timestamp/{deviceId}/{channelId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /device-channel/data-last-timestamp/{deviceId}/{channelId}

Parameters

Name In Type Required Description
deviceId path number true none
channelId path number true none

Example responses

200 Response

{
  "channelType": {
    "id": 0,
    "name": "string",
    "category": "string",
    "description": "string",
    "unit": "string",
    "channelType": "string",
    "deviceTypeId": 0
  },
  "dataFloat": [
    {
      "id": 0,
      "period": 0,
      "measurement": 0,
      "timestamp": "2019-08-24T14:15:22Z",
      "channelId": 0
    }
  ],
  "dataText": [
    {
      "id": 0,
      "period": 0,
      "measurement": "string",
      "timestamp": "2019-08-24T14:15:22Z",
      "channelId": 0
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Channel Data of last available timestmp ResponseDeviceChannelData
401 Unauthorized User is not authorized None
406 Not Acceptable Request is not acceptable. Check response for help None

DeviceChannelController.findDeviceChannelLastTS_sn_ch_name

Code samples

# You can also use wget
curl -X POST https://atman-iot.com/api/device-channel/data-last-timestamp-by-name/{serialNo}/{channelName} \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

POST https://atman-iot.com/api/device-channel/data-last-timestamp-by-name/{serialNo}/{channelName} HTTP/1.1
Host: atman-iot.com
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/device-channel/data-last-timestamp-by-name/{serialNo}/{channelName}',
{
  method: 'POST',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/device-channel/data-last-timestamp-by-name/{serialNo}/{channelName}',
{
  method: 'POST',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.post 'https://atman-iot.com/api/device-channel/data-last-timestamp-by-name/{serialNo}/{channelName}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.post('https://atman-iot.com/api/device-channel/data-last-timestamp-by-name/{serialNo}/{channelName}', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/device-channel/data-last-timestamp-by-name/{serialNo}/{channelName}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://atman-iot.com/api/device-channel/data-last-timestamp-by-name/{serialNo}/{channelName}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://atman-iot.com/api/device-channel/data-last-timestamp-by-name/{serialNo}/{channelName}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST /device-channel/data-last-timestamp-by-name/{serialNo}/{channelName}

Parameters

Name In Type Required Description
serialNo path string true none
channelName path string true none

Example responses

200 Response

{
  "channelType": {
    "id": 0,
    "name": "string",
    "category": "string",
    "description": "string",
    "unit": "string",
    "channelType": "string",
    "deviceTypeId": 0
  },
  "dataFloat": [
    {
      "id": 0,
      "period": 0,
      "measurement": 0,
      "timestamp": "2019-08-24T14:15:22Z",
      "channelId": 0
    }
  ],
  "dataText": [
    {
      "id": 0,
      "period": 0,
      "measurement": "string",
      "timestamp": "2019-08-24T14:15:22Z",
      "channelId": 0
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Channel Data of last available timestmp, queried by device SN and channel name. ResponseDeviceChannelData
401 Unauthorized User is not authorized None
406 Not Acceptable Request is not acceptable. Check response for help None

DeviceChannelController.findDeviceAllLastRecordedTS

Code samples

# You can also use wget
curl -X GET https://atman-iot.com/api/device-channel/last-timestamp-in-device/{deviceId} \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://atman-iot.com/api/device-channel/last-timestamp-in-device/{deviceId} HTTP/1.1
Host: atman-iot.com
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/device-channel/last-timestamp-in-device/{deviceId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/device-channel/last-timestamp-in-device/{deviceId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://atman-iot.com/api/device-channel/last-timestamp-in-device/{deviceId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://atman-iot.com/api/device-channel/last-timestamp-in-device/{deviceId}', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/device-channel/last-timestamp-in-device/{deviceId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://atman-iot.com/api/device-channel/last-timestamp-in-device/{deviceId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://atman-iot.com/api/device-channel/last-timestamp-in-device/{deviceId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /device-channel/last-timestamp-in-device/{deviceId}

Parameters

Name In Type Required Description
deviceId path number true none

Example responses

200 Response

{
  "value": "2019-08-24T14:15:22Z",
  "format": "string",
  "timezone": "string"
}

Responses

Status Meaning Description Schema
200 OK Last recorded timestamp in device Timestamp
401 Unauthorized User is not authorized None
406 Not Acceptable Request is not acceptable. Check response for help None

DeviceEventController

DeviceEventController.find

Code samples

# You can also use wget
curl -X GET https://atman-iot.com/api/device-events/assetId/{assetId}/page/{page}/count/{count} \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://atman-iot.com/api/device-events/assetId/{assetId}/page/{page}/count/{count} HTTP/1.1
Host: atman-iot.com
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/device-events/assetId/{assetId}/page/{page}/count/{count}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/device-events/assetId/{assetId}/page/{page}/count/{count}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://atman-iot.com/api/device-events/assetId/{assetId}/page/{page}/count/{count}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://atman-iot.com/api/device-events/assetId/{assetId}/page/{page}/count/{count}', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/device-events/assetId/{assetId}/page/{page}/count/{count}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://atman-iot.com/api/device-events/assetId/{assetId}/page/{page}/count/{count}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://atman-iot.com/api/device-events/assetId/{assetId}/page/{page}/count/{count}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /device-events/assetId/{assetId}/page/{page}/count/{count}

Parameters

Name In Type Required Description
assetId path number true none
page path number true none
count path number true none

Example responses

200 Response

[
  {
    "id": 0,
    "deviceId": 0,
    "channelId": 0,
    "eventRuleId": 0,
    "severity": "string",
    "description": "string",
    "resolved": true,
    "viewedBy": "string",
    "timestamp": "2019-08-24T14:15:22Z",
    "resolutionTimestamp": "2019-08-24T14:15:22Z",
    "device": {
      "id": 0,
      "description": "string",
      "serialNo": "string",
      "dataLoggerId": 0,
      "deviceTypeId": 0,
      "dataLogger": {
        "id": 0,
        "description": "string",
        "connectionType": "string",
        "fileFormat": "string",
        "username": "string",
        "passwd": "string",
        "authToken": "string",
        "config": "string",
        "autoInit": true,
        "dataCompressed": true,
        "userId": 0,
        "user": {
          "id": 0,
          "username": "string",
          "passwd": "string",
          "email": "string",
          "roles": [
            "string"
          ],
          "isVirtual": true,
          "subscriptionReferenceCode": "string",
          "userCredentials": {
            "id": 0,
            "passwd": "string",
            "userId": 0
          }
        }
      },
      "deviceType": {
        "id": 0,
        "model": "string",
        "description": "string",
        "manufacturer": "string",
        "category": "string",
        "channelTypes": [
          {
            "id": 0,
            "name": "string",
            "category": "string",
            "description": "string",
            "unit": "string",
            "channelType": "string",
            "deviceTypeId": 0,
            "deviceType": {}
          }
        ]
      }
    },
    "channel": {
      "id": 0,
      "monitor": true,
      "lastTimestamp": "2019-08-24T14:15:22Z",
      "status": "string",
      "deviceId": 0,
      "channelTypeId": 0,
      "device": {
        "id": 0,
        "description": "string",
        "serialNo": "string",
        "dataLoggerId": 0,
        "deviceTypeId": 0,
        "dataLogger": {
          "id": 0,
          "description": "string",
          "connectionType": "string",
          "fileFormat": "string",
          "username": "string",
          "passwd": "string",
          "authToken": "string",
          "config": "string",
          "autoInit": true,
          "dataCompressed": true,
          "userId": 0,
          "user": {
            "id": 0,
            "username": "string",
            "passwd": "string",
            "email": "string",
            "roles": [
              "string"
            ],
            "isVirtual": true,
            "subscriptionReferenceCode": "string",
            "userCredentials": {
              "id": 0,
              "passwd": "string",
              "userId": 0
            }
          }
        },
        "deviceType": {
          "id": 0,
          "model": "string",
          "description": "string",
          "manufacturer": "string",
          "category": "string",
          "channelTypes": [
            {
              "id": 0,
              "name": "string",
              "category": "string",
              "description": "string",
              "unit": "string",
              "channelType": "string",
              "deviceTypeId": 0,
              "deviceType": {}
            }
          ]
        }
      },
      "channelType": {
        "id": 0,
        "name": "string",
        "category": "string",
        "description": "string",
        "unit": "string",
        "channelType": "string",
        "deviceTypeId": 0,
        "deviceType": {
          "id": 0,
          "model": "string",
          "description": "string",
          "manufacturer": "string",
          "category": "string",
          "channelTypes": [
            {}
          ]
        }
      }
    },
    "eventRule": {
      "id": 0,
      "description": "string",
      "scope": "string",
      "algorithm": "string",
      "action": "string",
      "actionParameters": "string",
      "rule": "string",
      "executionPeriod": 0,
      "lastExecTimestamp": "2019-08-24T14:15:22Z",
      "activated": true,
      "inProgress": true
    }
  }
]

Responses

Status Meaning Description Schema
200 OK Array of DeviceEvents in asset Inline
401 Unauthorized User is not authorized None
406 Not Acceptable Request is not acceptable. Check response for help None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [DeviceEventWithRelations] false none [(Schema options: { includeRelations: true })]
» DeviceEventWithRelations object false none (Schema options: { includeRelations: true })
»» id number false none Automatically generated ID
»» deviceId number true none ID of Device associated with Event
»» channelId number true none ID of Device associated with Event
»» eventRuleId number true none ID of EventRule triggered
»» severity string true none Event severity - Can be LOW / MEDIUM / HIGH
»» description string false none Event description
»» resolved boolean true none Set to true if Event has been resolved
»» viewedBy string true none Set to true if Event has been resolved
»» timestamp string(date-time) true none Event creation timestamp
»» resolutionTimestamp string(date-time) false none Event resolution timestamp
»» device object false none (Schema options: { includeRelations: true })
»»» id number false none Automatically generated ID
»»» description string false none Device description
»»» serialNo string true none Device serial number
»»» dataLoggerId number true none ID of DataLogger that Device belongs to
»»» deviceTypeId number false none none
»»» dataLogger object false none (Schema options: { includeRelations: true })
»»»» id number false none Automatically generated ID
»»»» description string false none Datalogger description
»»»» connectionType string true none Method used by DataLogger to send data to the system. At present only FTP implemented
»»»» fileFormat string true none Format of the files uploaded to the system DataLogger. At present system supports CSV and XML formats
»»»» username string false none Username of system FTP account, where the DataLogger sends the data (if applicable)
»»»» passwd string false none Password of system FTP account, where the DataLogger sends the data (if applicable)
»»»» authToken string false none Authentication token of DataLogger
»»»» config string false none JSON configuration file for DataLogger
»»»» autoInit boolean true none Flag for selecting if DataLogger is to be initiated automatically from preexisting configuration
»»»» dataCompressed boolean true none Flag for selecting if DataLogger sends compressed files
»»»» userId number true none ID of User that DataLogger belongs to
»»»» user object false none (Schema options: { includeRelations: true })
»»»»» id number false none Automatically generated ID
»»»»» username string true none Username
»»»»» passwd string false none Password
»»»»» email string true none Email
»»»»» roles [string] false none none
»»»»» isVirtual boolean true none Automatically assigned flag to select if User is virtual or not
»»»»» subscriptionReferenceCode string false none none
»»»»» userCredentials object false none (Schema options: { includeRelations: true })
»»»»»» id number false none none
»»»»»» passwd string true none none
»»»»»» userId number true none none
»»» deviceType object false none (Schema options: { includeRelations: true })
»»»» id number false none Automatically generated ID
»»»» model string true none DeviceType model
»»»» description string false none DeviceType description
»»»» manufacturer string true none DeviceType manufacturer
»»»» category string false none DeviceType category
»»»» channelTypes [ChannelTypeWithRelations] false none (Schema options: { includeRelations: true })
»»»»» ChannelTypeWithRelations object false none (Schema options: { includeRelations: true })
»»»»»» id number false none Automatically generated ID
»»»»»» name string true none ChannelType name
»»»»»» category string false none ChannelType category
»»»»»» description string false none ChannelType description
»»»»»» unit string false none Unit of measurement
»»»»»» channelType string true none Type of data: UNDEFINED / SPOT_VALUE / COUNTER / TEXT
»»»»»» deviceTypeId number true none ID of DeviceType that ChannelType belongs to
»»»»»» deviceType object false none (Schema options: { includeRelations: true })
»» channel object false none (Schema options: { includeRelations: true })
»»» id number false none Automatically generated ID
»»» monitor boolean true none Enable channel monitoring - data recording - by setting to true
»»» lastTimestamp string(date-time) false none Timestamp
»»» status string false none Channel Status
»»» deviceId number true none ID of Device that Channel belongs to
»»» channelTypeId number true none ID of ChannelType associated with Channel
»»» device object false none (Schema options: { includeRelations: true })
»»» channelType object false none (Schema options: { includeRelations: true })
»» eventRule object false none (Schema options: { includeRelations: true })
»»» id number false none Automatically generated ID
»»» description string false none Rule description
»»» scope string true none Rule scope
»»» algorithm string false none Event Detection Algorithm
»»» action string true none Rule action
»»» actionParameters string false none Rule action parameters
»»» rule string false none JSON Rule
»»» executionPeriod number false none EventRule execution period - seconds
»»» lastExecTimestamp string(date-time) false none Last execution timestamp
»»» activated boolean false none Is set to true when EventRule has been activated
»»» inProgress boolean false none Is automaticaly set to true when EventRule is being processed

DeviceEventController.countNotViewed

Code samples

# You can also use wget
curl -X GET https://atman-iot.com/api/device-events/by-asset/count-not-viewed/{assetId} \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://atman-iot.com/api/device-events/by-asset/count-not-viewed/{assetId} HTTP/1.1
Host: atman-iot.com
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/device-events/by-asset/count-not-viewed/{assetId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/device-events/by-asset/count-not-viewed/{assetId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://atman-iot.com/api/device-events/by-asset/count-not-viewed/{assetId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://atman-iot.com/api/device-events/by-asset/count-not-viewed/{assetId}', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/device-events/by-asset/count-not-viewed/{assetId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://atman-iot.com/api/device-events/by-asset/count-not-viewed/{assetId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://atman-iot.com/api/device-events/by-asset/count-not-viewed/{assetId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /device-events/by-asset/count-not-viewed/{assetId}

Parameters

Name In Type Required Description
assetId path number true none

Example responses

200 Response

{
  "count": 0
}

Responses

Status Meaning Description Schema
200 OK Count of not viewed Device Events in asset Inline
401 Unauthorized User is not authorized None
406 Not Acceptable Request is not acceptable. Check response for help None

Response Schema

Status Code 200

loopback.Count

Name Type Required Restrictions Description
» count number false none none

DeviceEventController.updateViewedBy

Code samples

# You can also use wget
curl -X GET https://atman-iot.com/api/device-events/mark-read/{eventId} \
  -H 'Authorization: Bearer {access-token}'

GET https://atman-iot.com/api/device-events/mark-read/{eventId} HTTP/1.1
Host: atman-iot.com


const headers = {
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/device-events/mark-read/{eventId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/device-events/mark-read/{eventId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://atman-iot.com/api/device-events/mark-read/{eventId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://atman-iot.com/api/device-events/mark-read/{eventId}', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/device-events/mark-read/{eventId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://atman-iot.com/api/device-events/mark-read/{eventId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://atman-iot.com/api/device-events/mark-read/{eventId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /device-events/mark-read/{eventId}

Parameters

Name In Type Required Description
eventId path number true none

Responses

Status Meaning Description Schema
204 No Content DeviceEvent updated None
401 Unauthorized User is not authorized None
406 Not Acceptable Request is not acceptable. Check response for help None

DeviceGroupMembershipController

DeviceGroupMembershipController.findByAssetId

Code samples

# You can also use wget
curl -X GET https://atman-iot.com/api/device-group-memberships/by-asset/{assetId} \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://atman-iot.com/api/device-group-memberships/by-asset/{assetId} HTTP/1.1
Host: atman-iot.com
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/device-group-memberships/by-asset/{assetId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/device-group-memberships/by-asset/{assetId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://atman-iot.com/api/device-group-memberships/by-asset/{assetId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://atman-iot.com/api/device-group-memberships/by-asset/{assetId}', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/device-group-memberships/by-asset/{assetId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://atman-iot.com/api/device-group-memberships/by-asset/{assetId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://atman-iot.com/api/device-group-memberships/by-asset/{assetId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /device-group-memberships/by-asset/{assetId}

Parameters

Name In Type Required Description
assetId path number true none

Example responses

200 Response

[
  {
    "id": 0,
    "assetId": 0,
    "deviceId": 0
  }
]

Responses

Status Meaning Description Schema
200 OK Array of DeviceGroupMembership model instances Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [DeviceGroupMembership] false none none
» DeviceGroupMembership object false none none
»» id number false none Automatically generated ID
»» assetId number true none ID of Device associated with Asset
»» deviceId number true none ID of Device associated with Asset

DeviceGroupMembershipController.findByDeviceId

Code samples

# You can also use wget
curl -X GET https://atman-iot.com/api/device-group-memberships/by-device/{deviceId} \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://atman-iot.com/api/device-group-memberships/by-device/{deviceId} HTTP/1.1
Host: atman-iot.com
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/device-group-memberships/by-device/{deviceId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/device-group-memberships/by-device/{deviceId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://atman-iot.com/api/device-group-memberships/by-device/{deviceId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://atman-iot.com/api/device-group-memberships/by-device/{deviceId}', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/device-group-memberships/by-device/{deviceId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://atman-iot.com/api/device-group-memberships/by-device/{deviceId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://atman-iot.com/api/device-group-memberships/by-device/{deviceId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /device-group-memberships/by-device/{deviceId}

Parameters

Name In Type Required Description
deviceId path number true none

Example responses

200 Response

[
  {
    "id": 0,
    "assetId": 0,
    "deviceId": 0
  }
]

Responses

Status Meaning Description Schema
200 OK Array of DeviceGroupMembership model instances Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [DeviceGroupMembership] false none none
» DeviceGroupMembership object false none none
»» id number false none Automatically generated ID
»» assetId number true none ID of Device associated with Asset
»» deviceId number true none ID of Device associated with Asset

DeviceGroupMembershipController.deleteById

Code samples

# You can also use wget
curl -X DELETE https://atman-iot.com/api/device-group-memberships/{id} \
  -H 'Authorization: Bearer {access-token}'

DELETE https://atman-iot.com/api/device-group-memberships/{id} HTTP/1.1
Host: atman-iot.com


const headers = {
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/device-group-memberships/{id}',
{
  method: 'DELETE',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/device-group-memberships/{id}',
{
  method: 'DELETE',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.delete 'https://atman-iot.com/api/device-group-memberships/{id}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Authorization': 'Bearer {access-token}'
}

r = requests.delete('https://atman-iot.com/api/device-group-memberships/{id}', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/device-group-memberships/{id}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("DELETE", "https://atman-iot.com/api/device-group-memberships/{id}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('DELETE','https://atman-iot.com/api/device-group-memberships/{id}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

DELETE /device-group-memberships/{id}

Parameters

Name In Type Required Description
id path number true none

Responses

Status Meaning Description Schema
204 No Content DeviceGroupMembership DELETE success None

DeviceGroupMembershipController.create

Code samples

# You can also use wget
curl -X POST https://atman-iot.com/api/device-group-memberships \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

POST https://atman-iot.com/api/device-group-memberships HTTP/1.1
Host: atman-iot.com
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "assetId": 0,
  "deviceId": 0
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/device-group-memberships',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = {
  "assetId": 0,
  "deviceId": 0
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/device-group-memberships',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.post 'https://atman-iot.com/api/device-group-memberships',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.post('https://atman-iot.com/api/device-group-memberships', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/device-group-memberships");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://atman-iot.com/api/device-group-memberships", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://atman-iot.com/api/device-group-memberships', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST /device-group-memberships

Body parameter

{
  "assetId": 0,
  "deviceId": 0
}

Parameters

Name In Type Required Description
body body DeviceGroupMembershipExcluding_id_ false none

Example responses

200 Response

{
  "id": 0,
  "assetId": 0,
  "deviceId": 0
}

Responses

Status Meaning Description Schema
200 OK DeviceGroupMembership model instance DeviceGroupMembership

DeviceTypeController

DeviceTypeController.count

Code samples

# You can also use wget
curl -X GET https://atman-iot.com/api/device-type/count \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://atman-iot.com/api/device-type/count HTTP/1.1
Host: atman-iot.com
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/device-type/count',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/device-type/count',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://atman-iot.com/api/device-type/count',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://atman-iot.com/api/device-type/count', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/device-type/count");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://atman-iot.com/api/device-type/count", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://atman-iot.com/api/device-type/count', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /device-type/count

Example responses

200 Response

{
  "count": 0
}

Responses

Status Meaning Description Schema
200 OK DeviceType model count Inline

Response Schema

Status Code 200

loopback.Count

Name Type Required Restrictions Description
» count number false none none

DeviceTypeController.getAssetDeviceCategories

Code samples

# You can also use wget
curl -X GET https://atman-iot.com/api/device-type/device-categories-in-asset/{assetId} \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://atman-iot.com/api/device-type/device-categories-in-asset/{assetId} HTTP/1.1
Host: atman-iot.com
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/device-type/device-categories-in-asset/{assetId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/device-type/device-categories-in-asset/{assetId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://atman-iot.com/api/device-type/device-categories-in-asset/{assetId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://atman-iot.com/api/device-type/device-categories-in-asset/{assetId}', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/device-type/device-categories-in-asset/{assetId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://atman-iot.com/api/device-type/device-categories-in-asset/{assetId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://atman-iot.com/api/device-type/device-categories-in-asset/{assetId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /device-type/device-categories-in-asset/{assetId}

Parameters

Name In Type Required Description
assetId path number true none

Example responses

200 Response

[
  {
    "id": 0,
    "category": "string"
  }
]

Responses

Status Meaning Description Schema
200 OK Array of DeviceType model instances Inline
401 Unauthorized User is not authorized None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [DeviceTypeExcluding_model-description-manufacturer_] false none [(Schema options: { exclude: [ 'model', 'description', 'manufacturer' ] })]
» DeviceTypeExcluding_model-description-manufacturer_ object false none (Schema options: { exclude: [ 'model', 'description', 'manufacturer' ] })
»» id number false none Automatically generated ID
»» category string false none DeviceType category

DeviceTypeController.find

Code samples

# You can also use wget
curl -X GET https://atman-iot.com/api/device-type/get-all/page/{page}/count/{count} \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://atman-iot.com/api/device-type/get-all/page/{page}/count/{count} HTTP/1.1
Host: atman-iot.com
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/device-type/get-all/page/{page}/count/{count}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/device-type/get-all/page/{page}/count/{count}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://atman-iot.com/api/device-type/get-all/page/{page}/count/{count}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://atman-iot.com/api/device-type/get-all/page/{page}/count/{count}', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/device-type/get-all/page/{page}/count/{count}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://atman-iot.com/api/device-type/get-all/page/{page}/count/{count}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://atman-iot.com/api/device-type/get-all/page/{page}/count/{count}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /device-type/get-all/page/{page}/count/{count}

Parameters

Name In Type Required Description
page path number true none
count path number true none

Example responses

200 Response

[
  {
    "id": 0,
    "model": "string",
    "description": "string",
    "manufacturer": "string",
    "category": "string"
  }
]

Responses

Status Meaning Description Schema
200 OK Array of DeviceType model instances Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [DeviceType] false none none
» DeviceType object false none none
»» id number false none Automatically generated ID
»» model string true none DeviceType model
»» description string false none DeviceType description
»» manufacturer string true none DeviceType manufacturer
»» category string false none DeviceType category

DeviceTypeController.updateById

Code samples

# You can also use wget
curl -X PATCH https://atman-iot.com/api/device-type/{id} \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer {access-token}'

PATCH https://atman-iot.com/api/device-type/{id} HTTP/1.1
Host: atman-iot.com
Content-Type: application/json

const inputBody = '{
  "description": "string",
  "category": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/device-type/{id}',
{
  method: 'PATCH',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = {
  "description": "string",
  "category": "string"
};
const headers = {
  'Content-Type':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/device-type/{id}',
{
  method: 'PATCH',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.patch 'https://atman-iot.com/api/device-type/{id}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.patch('https://atman-iot.com/api/device-type/{id}', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/device-type/{id}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PATCH");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PATCH", "https://atman-iot.com/api/device-type/{id}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PATCH','https://atman-iot.com/api/device-type/{id}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PATCH /device-type/{id}

Body parameter

{
  "description": "string",
  "category": "string"
}

Parameters

Name In Type Required Description
id path number true none
body body DeviceTypeExcluding_id-model-manufacturer_ false none

Responses

Status Meaning Description Schema
204 No Content DeviceType PATCH success None

DeviceTypeController.create

Code samples

# You can also use wget
curl -X POST https://atman-iot.com/api/device-type \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

POST https://atman-iot.com/api/device-type HTTP/1.1
Host: atman-iot.com
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "id": 0,
  "model": "string",
  "description": "string",
  "manufacturer": "string",
  "category": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/device-type',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = {
  "id": 0,
  "model": "string",
  "description": "string",
  "manufacturer": "string",
  "category": "string"
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/device-type',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.post 'https://atman-iot.com/api/device-type',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.post('https://atman-iot.com/api/device-type', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/device-type");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://atman-iot.com/api/device-type", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://atman-iot.com/api/device-type', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST /device-type

Body parameter

{
  "id": 0,
  "model": "string",
  "description": "string",
  "manufacturer": "string",
  "category": "string"
}

Parameters

Name In Type Required Description
body body DeviceType false none

Example responses

200 Response

{
  "id": 0,
  "model": "string",
  "description": "string",
  "manufacturer": "string",
  "category": "string"
}

Responses

Status Meaning Description Schema
200 OK DeviceType model instance DeviceType

DeviceTypeChannelTypeController

DeviceTypeChannelTypeController.deviceTypeCategoryChannelCategories

Code samples

# You can also use wget
curl -X GET https://atman-iot.com/api/device-type-channel-type/asset-id/{assetId}/device-type-category/{deviceTypeCategory}/channel-categories \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://atman-iot.com/api/device-type-channel-type/asset-id/{assetId}/device-type-category/{deviceTypeCategory}/channel-categories HTTP/1.1
Host: atman-iot.com
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/device-type-channel-type/asset-id/{assetId}/device-type-category/{deviceTypeCategory}/channel-categories',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/device-type-channel-type/asset-id/{assetId}/device-type-category/{deviceTypeCategory}/channel-categories',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://atman-iot.com/api/device-type-channel-type/asset-id/{assetId}/device-type-category/{deviceTypeCategory}/channel-categories',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://atman-iot.com/api/device-type-channel-type/asset-id/{assetId}/device-type-category/{deviceTypeCategory}/channel-categories', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/device-type-channel-type/asset-id/{assetId}/device-type-category/{deviceTypeCategory}/channel-categories");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://atman-iot.com/api/device-type-channel-type/asset-id/{assetId}/device-type-category/{deviceTypeCategory}/channel-categories", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://atman-iot.com/api/device-type-channel-type/asset-id/{assetId}/device-type-category/{deviceTypeCategory}/channel-categories', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /device-type-channel-type/asset-id/{assetId}/device-type-category/{deviceTypeCategory}/channel-categories

Parameters

Name In Type Required Description
deviceTypeCategory path string true none
assetId path number true none

Example responses

200 Response

[
  {
    "id": 0,
    "category": "string"
  }
]

Responses

Status Meaning Description Schema
200 OK ChannelType model count Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [ChannelTypeExcluding_name-description-unit-channelType-deviceTypeId_] false none [(Schema options: { exclude: [ 'name', 'description', 'unit', 'channelType', 'deviceTypeId' ] })]
» ChannelTypeExcluding_name-description-unit-channelType-deviceTypeId_ object false none (Schema options: { exclude: [ 'name', 'description', 'unit', 'channelType', 'deviceTypeId' ] })
»» id number false none Automatically generated ID
»» category string false none ChannelType category

DeviceTypeChannelTypeController.updateById

Code samples

# You can also use wget
curl -X PATCH https://atman-iot.com/api/device-type-channel-type/channel-type/{channelTypeId} \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer {access-token}'

PATCH https://atman-iot.com/api/device-type-channel-type/channel-type/{channelTypeId} HTTP/1.1
Host: atman-iot.com
Content-Type: application/json

const inputBody = '{
  "category": "string",
  "description": "string",
  "unit": "string",
  "channelType": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/device-type-channel-type/channel-type/{channelTypeId}',
{
  method: 'PATCH',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = {
  "category": "string",
  "description": "string",
  "unit": "string",
  "channelType": "string"
};
const headers = {
  'Content-Type':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/device-type-channel-type/channel-type/{channelTypeId}',
{
  method: 'PATCH',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.patch 'https://atman-iot.com/api/device-type-channel-type/channel-type/{channelTypeId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.patch('https://atman-iot.com/api/device-type-channel-type/channel-type/{channelTypeId}', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/device-type-channel-type/channel-type/{channelTypeId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PATCH");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PATCH", "https://atman-iot.com/api/device-type-channel-type/channel-type/{channelTypeId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PATCH','https://atman-iot.com/api/device-type-channel-type/channel-type/{channelTypeId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PATCH /device-type-channel-type/channel-type/{channelTypeId}

Body parameter

{
  "category": "string",
  "description": "string",
  "unit": "string",
  "channelType": "string"
}

Parameters

Name In Type Required Description
channelTypeId path number true none
body body ChannelTypeExcluding_id-name-deviceTypeId_ false none

Responses

Status Meaning Description Schema
204 No Content ChannelType PATCH success None

DeviceTypeChannelTypeController.deviceTypeChannelCategories

Code samples

# You can also use wget
curl -X GET https://atman-iot.com/api/device-type-channel-type/{deviceTypeId}/channel-categories \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://atman-iot.com/api/device-type-channel-type/{deviceTypeId}/channel-categories HTTP/1.1
Host: atman-iot.com
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/device-type-channel-type/{deviceTypeId}/channel-categories',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/device-type-channel-type/{deviceTypeId}/channel-categories',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://atman-iot.com/api/device-type-channel-type/{deviceTypeId}/channel-categories',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://atman-iot.com/api/device-type-channel-type/{deviceTypeId}/channel-categories', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/device-type-channel-type/{deviceTypeId}/channel-categories");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://atman-iot.com/api/device-type-channel-type/{deviceTypeId}/channel-categories", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://atman-iot.com/api/device-type-channel-type/{deviceTypeId}/channel-categories', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /device-type-channel-type/{deviceTypeId}/channel-categories

Parameters

Name In Type Required Description
deviceTypeId path number true none

Example responses

200 Response

[
  {
    "id": 0,
    "category": "string"
  }
]

Responses

Status Meaning Description Schema
200 OK ChannelType model count Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [ChannelTypeExcluding_name-description-unit-channelType-deviceTypeId_] false none [(Schema options: { exclude: [ 'name', 'description', 'unit', 'channelType', 'deviceTypeId' ] })]
» ChannelTypeExcluding_name-description-unit-channelType-deviceTypeId_ object false none (Schema options: { exclude: [ 'name', 'description', 'unit', 'channelType', 'deviceTypeId' ] })
»» id number false none Automatically generated ID
»» category string false none ChannelType category

DeviceTypeChannelTypeController.count

Code samples

# You can also use wget
curl -X GET https://atman-iot.com/api/device-type-channel-type/{deviceTypeId}/count \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://atman-iot.com/api/device-type-channel-type/{deviceTypeId}/count HTTP/1.1
Host: atman-iot.com
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/device-type-channel-type/{deviceTypeId}/count',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/device-type-channel-type/{deviceTypeId}/count',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://atman-iot.com/api/device-type-channel-type/{deviceTypeId}/count',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://atman-iot.com/api/device-type-channel-type/{deviceTypeId}/count', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/device-type-channel-type/{deviceTypeId}/count");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://atman-iot.com/api/device-type-channel-type/{deviceTypeId}/count", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://atman-iot.com/api/device-type-channel-type/{deviceTypeId}/count', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /device-type-channel-type/{deviceTypeId}/count

Parameters

Name In Type Required Description
deviceTypeId path number true none

Example responses

200 Response

{
  "count": 0
}

Responses

Status Meaning Description Schema
200 OK ChannelType model count Inline

Response Schema

Status Code 200

loopback.Count

Name Type Required Restrictions Description
» count number false none none

DeviceTypeChannelTypeController.find

Code samples

# You can also use wget
curl -X GET https://atman-iot.com/api/device-type-channel-type/{deviceTypeId}/page/{page}/count/{count} \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://atman-iot.com/api/device-type-channel-type/{deviceTypeId}/page/{page}/count/{count} HTTP/1.1
Host: atman-iot.com
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/device-type-channel-type/{deviceTypeId}/page/{page}/count/{count}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/device-type-channel-type/{deviceTypeId}/page/{page}/count/{count}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://atman-iot.com/api/device-type-channel-type/{deviceTypeId}/page/{page}/count/{count}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://atman-iot.com/api/device-type-channel-type/{deviceTypeId}/page/{page}/count/{count}', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/device-type-channel-type/{deviceTypeId}/page/{page}/count/{count}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://atman-iot.com/api/device-type-channel-type/{deviceTypeId}/page/{page}/count/{count}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://atman-iot.com/api/device-type-channel-type/{deviceTypeId}/page/{page}/count/{count}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /device-type-channel-type/{deviceTypeId}/page/{page}/count/{count}

Parameters

Name In Type Required Description
deviceTypeId path number true none
page path number true none
count path number true none

Example responses

200 Response

[
  {
    "id": 0,
    "name": "string",
    "category": "string",
    "description": "string",
    "unit": "string",
    "channelType": "string",
    "deviceTypeId": 0
  }
]

Responses

Status Meaning Description Schema
200 OK Array of ChannelType model instances Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [ChannelType] false none none
» ChannelType object false none none
»» id number false none Automatically generated ID
»» name string true none ChannelType name
»» category string false none ChannelType category
»» description string false none ChannelType description
»» unit string false none Unit of measurement
»» channelType string true none Type of data: UNDEFINED / SPOT_VALUE / COUNTER / TEXT
»» deviceTypeId number true none ID of DeviceType that ChannelType belongs to

DeviceTypeChannelTypeController.create

Code samples

# You can also use wget
curl -X POST https://atman-iot.com/api/device-type-channel-type/{deviceTypeId} \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

POST https://atman-iot.com/api/device-type-channel-type/{deviceTypeId} HTTP/1.1
Host: atman-iot.com
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "name": "string",
  "category": "string",
  "description": "string",
  "unit": "string",
  "channelType": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/device-type-channel-type/{deviceTypeId}',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = {
  "name": "string",
  "category": "string",
  "description": "string",
  "unit": "string",
  "channelType": "string"
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/device-type-channel-type/{deviceTypeId}',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.post 'https://atman-iot.com/api/device-type-channel-type/{deviceTypeId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.post('https://atman-iot.com/api/device-type-channel-type/{deviceTypeId}', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/device-type-channel-type/{deviceTypeId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://atman-iot.com/api/device-type-channel-type/{deviceTypeId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://atman-iot.com/api/device-type-channel-type/{deviceTypeId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST /device-type-channel-type/{deviceTypeId}

Body parameter

{
  "name": "string",
  "category": "string",
  "description": "string",
  "unit": "string",
  "channelType": "string"
}

Parameters

Name In Type Required Description
deviceTypeId path number true none
body body ChannelTypeExcluding_id-deviceTypeId_ false none

Example responses

200 Response

{
  "id": 0,
  "name": "string",
  "category": "string",
  "description": "string",
  "unit": "string",
  "channelType": "string",
  "deviceTypeId": 0
}

Responses

Status Meaning Description Schema
200 OK ChannelType model instance ChannelType

EventController

EventController.process_subscriptions

Code samples

# You can also use wget
curl -X GET https://atman-iot.com/api/event/process \
  -H 'Authorization: Bearer {access-token}'

GET https://atman-iot.com/api/event/process HTTP/1.1
Host: atman-iot.com


const headers = {
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/event/process',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/event/process',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://atman-iot.com/api/event/process',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://atman-iot.com/api/event/process', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/event/process");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://atman-iot.com/api/event/process", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://atman-iot.com/api/event/process', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /event/process

Responses

Status Meaning Description Schema
204 No Content Event Processing finished None

Code samples

# You can also use wget
curl -X POST https://atman-iot.com/api/event/related-device \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

POST https://atman-iot.com/api/event/related-device HTTP/1.1
Host: atman-iot.com
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "deviceId": 0,
  "eventId": 0
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/event/related-device',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = {
  "deviceId": 0,
  "eventId": 0
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/event/related-device',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.post 'https://atman-iot.com/api/event/related-device',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.post('https://atman-iot.com/api/event/related-device', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/event/related-device");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://atman-iot.com/api/event/related-device", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://atman-iot.com/api/event/related-device', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST /event/related-device

Body parameter

{
  "deviceId": 0,
  "eventId": 0
}
Name In Type Required Description
body body EventRelatedDeviceExcluding_id_ false none

Example responses

200 Response

{
  "id": 0,
  "deviceId": 0,
  "eventId": 0
}
Status Meaning Description Schema
200 OK Event Related Device model instance EventRelatedDevice

EventController.updateById

Code samples

# You can also use wget
curl -X PATCH https://atman-iot.com/api/event/resolve/{id} \
  -H 'Authorization: Bearer {access-token}'

PATCH https://atman-iot.com/api/event/resolve/{id} HTTP/1.1
Host: atman-iot.com


const headers = {
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/event/resolve/{id}',
{
  method: 'PATCH',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/event/resolve/{id}',
{
  method: 'PATCH',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.patch 'https://atman-iot.com/api/event/resolve/{id}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Authorization': 'Bearer {access-token}'
}

r = requests.patch('https://atman-iot.com/api/event/resolve/{id}', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/event/resolve/{id}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PATCH");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PATCH", "https://atman-iot.com/api/event/resolve/{id}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PATCH','https://atman-iot.com/api/event/resolve/{id}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PATCH /event/resolve/{id}

Parameters

Name In Type Required Description
id path number true none

Responses

Status Meaning Description Schema
204 No Content Event resolved None

EventController.create_rule_subscription

Code samples

# You can also use wget
curl -X POST https://atman-iot.com/api/event/rule/subscription \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

POST https://atman-iot.com/api/event/rule/subscription HTTP/1.1
Host: atman-iot.com
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "executionPeriod": 0,
  "assetId": 0,
  "eventRuleId": 0,
  "ruleActivated": true
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/event/rule/subscription',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = {
  "executionPeriod": 0,
  "assetId": 0,
  "eventRuleId": 0,
  "ruleActivated": true
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/event/rule/subscription',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.post 'https://atman-iot.com/api/event/rule/subscription',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.post('https://atman-iot.com/api/event/rule/subscription', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/event/rule/subscription");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://atman-iot.com/api/event/rule/subscription", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://atman-iot.com/api/event/rule/subscription', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST /event/rule/subscription

Body parameter

{
  "executionPeriod": 0,
  "assetId": 0,
  "eventRuleId": 0,
  "ruleActivated": true
}

Parameters

Name In Type Required Description
body body EventRuleSubscriptionExcluding_id-lastExecTimestamp_ false none

Example responses

200 Response

{
  "id": 0,
  "executionPeriod": 0,
  "lastExecTimestamp": "string",
  "assetId": 0,
  "eventRuleId": 0,
  "ruleActivated": true
}

Responses

Status Meaning Description Schema
200 OK Event Rule Subscription model instance EventRuleSubscription

EventController.create_rule

Code samples

# You can also use wget
curl -X POST https://atman-iot.com/api/event/rule \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

POST https://atman-iot.com/api/event/rule HTTP/1.1
Host: atman-iot.com
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "description": "string",
  "scope": [
    {
      "deviceTypeCategory": "string",
      "channelTypeCategory": "string"
    }
  ],
  "action": "string",
  "actionParameters": {}
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/event/rule',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = {
  "description": "string",
  "scope": [
    {
      "deviceTypeCategory": "string",
      "channelTypeCategory": "string"
    }
  ],
  "action": "string",
  "actionParameters": {}
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/event/rule',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.post 'https://atman-iot.com/api/event/rule',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.post('https://atman-iot.com/api/event/rule', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/event/rule");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://atman-iot.com/api/event/rule", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://atman-iot.com/api/event/rule', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST /event/rule

Body parameter

{
  "description": "string",
  "scope": [
    {
      "deviceTypeCategory": "string",
      "channelTypeCategory": "string"
    }
  ],
  "action": "string",
  "actionParameters": {}
}

Parameters

Name In Type Required Description
body body RequestEventCreateRule false none

Example responses

200 Response

{
  "id": 0,
  "description": "string",
  "scope": "string",
  "algorithm": "string",
  "action": "string",
  "actionParameters": "string",
  "rule": "string",
  "executionPeriod": 0,
  "lastExecTimestamp": "2019-08-24T14:15:22Z",
  "activated": true,
  "inProgress": true
}

Responses

Status Meaning Description Schema
200 OK Event Rule model instance EventRule

EventController.create_now

Code samples

# You can also use wget
curl -X POST https://atman-iot.com/api/event \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

POST https://atman-iot.com/api/event HTTP/1.1
Host: atman-iot.com
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "assetId": 0,
  "eventRuleId": 0,
  "severity": "string",
  "description": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/event',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = {
  "assetId": 0,
  "eventRuleId": 0,
  "severity": "string",
  "description": "string"
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/event',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.post 'https://atman-iot.com/api/event',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.post('https://atman-iot.com/api/event', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/event");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://atman-iot.com/api/event", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://atman-iot.com/api/event', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST /event

Body parameter

{
  "assetId": 0,
  "eventRuleId": 0,
  "severity": "string",
  "description": "string"
}

Parameters

Name In Type Required Description
body body EventExcluding_id-resolved-timestamp-resolutionTimestamp_ false none

Example responses

200 Response

{
  "id": 0,
  "assetId": 0,
  "eventRuleId": 0,
  "severity": "string",
  "description": "string",
  "resolved": true,
  "timestamp": "2019-08-24T14:15:22Z",
  "resolutionTimestamp": "2019-08-24T14:15:22Z"
}

Responses

Status Meaning Description Schema
200 OK Event model instance Event

EventController.find

Code samples

# You can also use wget
curl -X GET https://atman-iot.com/api/events/all/{assetId} \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://atman-iot.com/api/events/all/{assetId} HTTP/1.1
Host: atman-iot.com
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/events/all/{assetId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/events/all/{assetId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://atman-iot.com/api/events/all/{assetId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://atman-iot.com/api/events/all/{assetId}', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/events/all/{assetId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://atman-iot.com/api/events/all/{assetId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://atman-iot.com/api/events/all/{assetId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /events/all/{assetId}

Parameters

Name In Type Required Description
assetId path number true none

Example responses

200 Response

[
  {
    "event": {
      "id": 0,
      "assetId": 0,
      "eventRuleId": 0,
      "severity": "string",
      "description": "string",
      "resolved": true,
      "timestamp": "2019-08-24T14:15:22Z",
      "resolutionTimestamp": "2019-08-24T14:15:22Z"
    },
    "eventRelatedDevice": [
      {
        "id": 0,
        "deviceId": 0,
        "eventId": 0
      }
    ]
  }
]

Responses

Status Meaning Description Schema
200 OK Array of all Asset Events Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [ResponseEventAssetEvents] false none none
» ResponseEventAssetEvents object false none none
»» event object true none none
»»» id number false none Automatically generated ID
»»» assetId number true none ID of Asset associated with Event
»»» eventRuleId number true none ID of EventRule triggered
»»» severity string true none Event severity - Can be LOW / MEDIUM / HIGH
»»» description string false none Event description
»»» resolved boolean true none Set to true if Event has been resolved
»»» timestamp string(date-time) true none Event creation timestamp
»»» resolutionTimestamp string(date-time) false none Event resolution timestamp
»» eventRelatedDevice [EventRelatedDevice] true none none
»»» EventRelatedDevice object false none none
»»»» id number false none Automatically generated ID
»»»» deviceId number true none ID of Device associated with Event
»»»» eventId number true none ID of Event

EventController.find_unresolved

Code samples

# You can also use wget
curl -X GET https://atman-iot.com/api/events/unresolved/{assetId} \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://atman-iot.com/api/events/unresolved/{assetId} HTTP/1.1
Host: atman-iot.com
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/events/unresolved/{assetId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/events/unresolved/{assetId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://atman-iot.com/api/events/unresolved/{assetId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://atman-iot.com/api/events/unresolved/{assetId}', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/events/unresolved/{assetId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://atman-iot.com/api/events/unresolved/{assetId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://atman-iot.com/api/events/unresolved/{assetId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /events/unresolved/{assetId}

Parameters

Name In Type Required Description
assetId path number true none

Example responses

200 Response

[
  {
    "event": {
      "id": 0,
      "assetId": 0,
      "eventRuleId": 0,
      "severity": "string",
      "description": "string",
      "resolved": true,
      "timestamp": "2019-08-24T14:15:22Z",
      "resolutionTimestamp": "2019-08-24T14:15:22Z"
    },
    "eventRelatedDevice": [
      {
        "id": 0,
        "deviceId": 0,
        "eventId": 0
      }
    ]
  }
]

Responses

Status Meaning Description Schema
200 OK Array of unresolved Asset Events Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [ResponseEventAssetEvents] false none none
» ResponseEventAssetEvents object false none none
»» event object true none none
»»» id number false none Automatically generated ID
»»» assetId number true none ID of Asset associated with Event
»»» eventRuleId number true none ID of EventRule triggered
»»» severity string true none Event severity - Can be LOW / MEDIUM / HIGH
»»» description string false none Event description
»»» resolved boolean true none Set to true if Event has been resolved
»»» timestamp string(date-time) true none Event creation timestamp
»»» resolutionTimestamp string(date-time) false none Event resolution timestamp
»» eventRelatedDevice [EventRelatedDevice] true none none
»»» EventRelatedDevice object false none none
»»»» id number false none Automatically generated ID
»»»» deviceId number true none ID of Device associated with Event
»»»» eventId number true none ID of Event

PingController

PingController.ping

Code samples

# You can also use wget
curl -X GET https://atman-iot.com/api/ping \
  -H 'Accept: application/json'

GET https://atman-iot.com/api/ping HTTP/1.1
Host: atman-iot.com
Accept: application/json


const headers = {
  'Accept':'application/json'
};

fetch('https://atman-iot.com/api/ping',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json'
};

fetch('https://atman-iot.com/api/ping',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.get 'https://atman-iot.com/api/ping',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://atman-iot.com/api/ping', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/ping");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://atman-iot.com/api/ping", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://atman-iot.com/api/ping', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /ping

Ping the server

Example responses

200 Response

{
  "greeting": "string",
  "date": "string",
  "url": "string",
  "headers": {
    "Content-Type": "string"
  }
}

Responses

Status Meaning Description Schema
200 OK Ping Response Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
» greeting string false none none
» date string false none none
» url string false none none
» headers object false none none
»» Content-Type string false none none

SchedulerController

SchedulerController.process_events

Code samples

# You can also use wget
curl -X GET https://atman-iot.com/api/scheduler/process/events/{attempt}/{serverKey}

GET https://atman-iot.com/api/scheduler/process/events/{attempt}/{serverKey} HTTP/1.1
Host: atman-iot.com


fetch('https://atman-iot.com/api/scheduler/process/events/{attempt}/{serverKey}',
{
  method: 'GET'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

fetch('https://atman-iot.com/api/scheduler/process/events/{attempt}/{serverKey}',
{
  method: 'GET'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

result = RestClient.get 'https://atman-iot.com/api/scheduler/process/events/{attempt}/{serverKey}',
  params: {
  }

p JSON.parse(result)

import requests

r = requests.get('https://atman-iot.com/api/scheduler/process/events/{attempt}/{serverKey}')

print(r.json())

URL obj = new URL("https://atman-iot.com/api/scheduler/process/events/{attempt}/{serverKey}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://atman-iot.com/api/scheduler/process/events/{attempt}/{serverKey}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

request('GET','https://atman-iot.com/api/scheduler/process/events/{attempt}/{serverKey}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /scheduler/process/events/{attempt}/{serverKey}

Parameters

Name In Type Required Description
attempt path number true none
serverKey path string true none

Responses

Status Meaning Description Schema
204 No Content Scheduler Processing finished None

SchedulerController.process_ftp_rejected

Code samples

# You can also use wget
curl -X GET https://atman-iot.com/api/scheduler/process/ftp-rejected/{serverKey}

GET https://atman-iot.com/api/scheduler/process/ftp-rejected/{serverKey} HTTP/1.1
Host: atman-iot.com


fetch('https://atman-iot.com/api/scheduler/process/ftp-rejected/{serverKey}',
{
  method: 'GET'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

fetch('https://atman-iot.com/api/scheduler/process/ftp-rejected/{serverKey}',
{
  method: 'GET'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

result = RestClient.get 'https://atman-iot.com/api/scheduler/process/ftp-rejected/{serverKey}',
  params: {
  }

p JSON.parse(result)

import requests

r = requests.get('https://atman-iot.com/api/scheduler/process/ftp-rejected/{serverKey}')

print(r.json())

URL obj = new URL("https://atman-iot.com/api/scheduler/process/ftp-rejected/{serverKey}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://atman-iot.com/api/scheduler/process/ftp-rejected/{serverKey}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

request('GET','https://atman-iot.com/api/scheduler/process/ftp-rejected/{serverKey}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /scheduler/process/ftp-rejected/{serverKey}

Parameters

Name In Type Required Description
serverKey path string true none

Responses

Status Meaning Description Schema
204 No Content Scheduler Processing finished None

UserController

UserController.getVirtualUsers

Code samples

# You can also use wget
curl -X GET https://atman-iot.com/api/user/getVirtualUsers \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://atman-iot.com/api/user/getVirtualUsers HTTP/1.1
Host: atman-iot.com
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/user/getVirtualUsers',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/user/getVirtualUsers',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://atman-iot.com/api/user/getVirtualUsers',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://atman-iot.com/api/user/getVirtualUsers', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/user/getVirtualUsers");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://atman-iot.com/api/user/getVirtualUsers", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://atman-iot.com/api/user/getVirtualUsers', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /user/getVirtualUsers

Returns users under administrator account

Example responses

200 Response

[
  {
    "id": 0,
    "username": "string"
  }
]

Responses

Status Meaning Description Schema
200 OK Array of virtual users Inline
401 Unauthorized User is not authorized None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [UserExcluding_passwd-email-roles-isVirtual-subscriptionReferenceCode_] false none [(Schema options: { exclude: [ 'passwd', 'email', 'roles', 'isVirtual', 'subscriptionReferenceCode' ] })]
» UserExcluding_passwd-email-roles-isVirtual-subscriptionReferenceCode_ object false none (Schema options: { exclude: [ 'passwd', 'email', 'roles', 'isVirtual', 'subscriptionReferenceCode' ] })
»» id number false none Automatically generated ID
»» username string true none Username

UserController.login

Code samples

# You can also use wget
curl -X POST https://atman-iot.com/api/user/login \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

POST https://atman-iot.com/api/user/login HTTP/1.1
Host: atman-iot.com
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "username": "string",
  "passwd": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://atman-iot.com/api/user/login',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = {
  "username": "string",
  "passwd": "string"
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://atman-iot.com/api/user/login',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json'
}

result = RestClient.post 'https://atman-iot.com/api/user/login',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

r = requests.post('https://atman-iot.com/api/user/login', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/user/login");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://atman-iot.com/api/user/login", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://atman-iot.com/api/user/login', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST /user/login

Used for User and Virtual User login. Exchanges username/password with an authorization token. Please enter the email provided durring registration in the username field.

References: UserModel

Body parameter

{
  "username": "string",
  "passwd": "string"
}

Parameters

Name In Type Required Description
body body UserExcluding_id-email-isVirtual-roles-subscriptionReferenceCode_ false none

Example responses

200 Response

{
  "token": "string"
}

Responses

Status Meaning Description Schema
200 OK Login User - Get Access Token Token
401 Unauthorized User is not authorized None

UserController.createVirtual

Code samples

# You can also use wget
curl -X POST https://atman-iot.com/api/user/register/virtual \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

POST https://atman-iot.com/api/user/register/virtual HTTP/1.1
Host: atman-iot.com
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "passwd": "string",
  "email": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/user/register/virtual',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = {
  "passwd": "string",
  "email": "string"
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/user/register/virtual',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.post 'https://atman-iot.com/api/user/register/virtual',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.post('https://atman-iot.com/api/user/register/virtual', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/user/register/virtual");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://atman-iot.com/api/user/register/virtual", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://atman-iot.com/api/user/register/virtual', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST /user/register/virtual

Used for registering a new Virtual User by a User, identified by the provided token.

References: UserModel

Body parameter

{
  "passwd": "string",
  "email": "string"
}

Parameters

Name In Type Required Description
body body UserExcluding_id-username-isVirtual-roles-subscriptionReferenceCode_ false none

Example responses

200 Response

{
  "id": 0,
  "username": "string",
  "passwd": "string",
  "email": "string",
  "roles": [
    "string"
  ],
  "isVirtual": true,
  "subscriptionReferenceCode": "string"
}

Responses

Status Meaning Description Schema
200 OK User model instance User
406 Not Acceptable Cannot register virtual user None
422 Unprocessable Entity User already exists None

UserController.create

Code samples

# You can also use wget
curl -X POST https://atman-iot.com/api/user/register/{referenceCode} \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

POST https://atman-iot.com/api/user/register/{referenceCode} HTTP/1.1
Host: atman-iot.com
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "passwd": "string",
  "email": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://atman-iot.com/api/user/register/{referenceCode}',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = {
  "passwd": "string",
  "email": "string"
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://atman-iot.com/api/user/register/{referenceCode}',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json'
}

result = RestClient.post 'https://atman-iot.com/api/user/register/{referenceCode}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

r = requests.post('https://atman-iot.com/api/user/register/{referenceCode}', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/user/register/{referenceCode}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://atman-iot.com/api/user/register/{referenceCode}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://atman-iot.com/api/user/register/{referenceCode}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST /user/register/{referenceCode}

Used for registering a new User.

References: UserModel

Body parameter

{
  "passwd": "string",
  "email": "string"
}

Parameters

Name In Type Required Description
referenceCode path string true none
body body UserExcluding_id-username-isVirtual-roles-subscriptionReferenceCode_ false none

Example responses

200 Response

{
  "id": 0,
  "username": "string",
  "passwd": "string",
  "email": "string",
  "roles": [
    "string"
  ],
  "isVirtual": true,
  "subscriptionReferenceCode": "string"
}

Responses

Status Meaning Description Schema
200 OK User model instance User
422 Unprocessable Entity User already exists None

UserController.deleteVirtualUserById

Code samples

# You can also use wget
curl -X DELETE https://atman-iot.com/api/users/virtualUser/{id} \
  -H 'Authorization: Bearer {access-token}'

DELETE https://atman-iot.com/api/users/virtualUser/{id} HTTP/1.1
Host: atman-iot.com


const headers = {
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/users/virtualUser/{id}',
{
  method: 'DELETE',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/users/virtualUser/{id}',
{
  method: 'DELETE',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.delete 'https://atman-iot.com/api/users/virtualUser/{id}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Authorization': 'Bearer {access-token}'
}

r = requests.delete('https://atman-iot.com/api/users/virtualUser/{id}', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/users/virtualUser/{id}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("DELETE", "https://atman-iot.com/api/users/virtualUser/{id}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('DELETE','https://atman-iot.com/api/users/virtualUser/{id}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

DELETE /users/virtualUser/{id}

Deletes Virtual User by Id

Parameters

Name In Type Required Description
id path number true none

Responses

Status Meaning Description Schema
204 No Content User DELETE success None
401 Unauthorized User is not authorized None

UserSubscriptionController

UserSubscriptionController.getByRefferenceCode

Code samples

# You can also use wget
curl -X GET https://atman-iot.com/api/user-subscription/get-by-reference-code/{referenceCode} \
  -H 'Accept: application/json'

GET https://atman-iot.com/api/user-subscription/get-by-reference-code/{referenceCode} HTTP/1.1
Host: atman-iot.com
Accept: application/json


const headers = {
  'Accept':'application/json'
};

fetch('https://atman-iot.com/api/user-subscription/get-by-reference-code/{referenceCode}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json'
};

fetch('https://atman-iot.com/api/user-subscription/get-by-reference-code/{referenceCode}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.get 'https://atman-iot.com/api/user-subscription/get-by-reference-code/{referenceCode}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://atman-iot.com/api/user-subscription/get-by-reference-code/{referenceCode}', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/user-subscription/get-by-reference-code/{referenceCode}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://atman-iot.com/api/user-subscription/get-by-reference-code/{referenceCode}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://atman-iot.com/api/user-subscription/get-by-reference-code/{referenceCode}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /user-subscription/get-by-reference-code/{referenceCode}

Parameters

Name In Type Required Description
referenceCode path string true none

Example responses

200 Response

{
  "id": 0,
  "referenceCode": "string",
  "email": "string",
  "discount": 0,
  "creationTimestamp": "2019-08-24T14:15:22Z",
  "activationTimestamp": "2019-08-24T14:15:22Z",
  "endTimestamp": "2019-08-24T14:15:22Z",
  "hasRegistered": true,
  "externalId": "string",
  "subscriptionId": 0,
  "subscription": {
    "id": 0,
    "product": "string",
    "type": "string",
    "description": "string",
    "duration": 0,
    "monthlyPrice": 0,
    "yearlyPrice": 0,
    "active": true,
    "externalId": "string",
    "featureList": "string",
    "userSubscriptions": [
      {
        "id": 0,
        "referenceCode": "string",
        "email": "string",
        "discount": 0,
        "creationTimestamp": "2019-08-24T14:15:22Z",
        "activationTimestamp": "2019-08-24T14:15:22Z",
        "endTimestamp": "2019-08-24T14:15:22Z",
        "hasRegistered": true,
        "externalId": "string",
        "subscriptionId": 0,
        "subscription": {}
      }
    ]
  }
}

Responses

Status Meaning Description Schema
200 OK UserSubscription model instance UserSubscriptionWithRelations

UserSubscriptionController.createUserSubscriptionBySubId

Code samples

# You can also use wget
curl -X GET https://atman-iot.com/api/user-subscription/get-new/{subscriptionId} \
  -H 'Accept: application/json'

GET https://atman-iot.com/api/user-subscription/get-new/{subscriptionId} HTTP/1.1
Host: atman-iot.com
Accept: application/json


const headers = {
  'Accept':'application/json'
};

fetch('https://atman-iot.com/api/user-subscription/get-new/{subscriptionId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json'
};

fetch('https://atman-iot.com/api/user-subscription/get-new/{subscriptionId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.get 'https://atman-iot.com/api/user-subscription/get-new/{subscriptionId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://atman-iot.com/api/user-subscription/get-new/{subscriptionId}', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/user-subscription/get-new/{subscriptionId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://atman-iot.com/api/user-subscription/get-new/{subscriptionId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://atman-iot.com/api/user-subscription/get-new/{subscriptionId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /user-subscription/get-new/{subscriptionId}

Parameters

Name In Type Required Description
subscriptionId path number true none

Example responses

200 Response

{
  "id": 0,
  "referenceCode": "string",
  "email": "string",
  "discount": 0,
  "creationTimestamp": "2019-08-24T14:15:22Z",
  "activationTimestamp": "2019-08-24T14:15:22Z",
  "endTimestamp": "2019-08-24T14:15:22Z",
  "hasRegistered": true,
  "externalId": "string",
  "subscriptionId": 0
}

Responses

Status Meaning Description Schema
200 OK UserSubscription model instance UserSubscription

UserSubscriptionController.findSubscriptionsByCategory

Code samples

# You can also use wget
curl -X GET https://atman-iot.com/api/user-subscription/subscriptions/{product} \
  -H 'Accept: application/json'

GET https://atman-iot.com/api/user-subscription/subscriptions/{product} HTTP/1.1
Host: atman-iot.com
Accept: application/json


const headers = {
  'Accept':'application/json'
};

fetch('https://atman-iot.com/api/user-subscription/subscriptions/{product}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json'
};

fetch('https://atman-iot.com/api/user-subscription/subscriptions/{product}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.get 'https://atman-iot.com/api/user-subscription/subscriptions/{product}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://atman-iot.com/api/user-subscription/subscriptions/{product}', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/user-subscription/subscriptions/{product}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://atman-iot.com/api/user-subscription/subscriptions/{product}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://atman-iot.com/api/user-subscription/subscriptions/{product}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /user-subscription/subscriptions/{product}

Parameters

Name In Type Required Description
product path string true none

Example responses

200 Response

[
  {
    "id": 0,
    "product": "string",
    "type": "string",
    "description": "string",
    "duration": 0,
    "monthlyPrice": 0,
    "yearlyPrice": 0,
    "active": true,
    "externalId": "string",
    "featureList": "string"
  }
]

Responses

Status Meaning Description Schema
200 OK Available subscriptions for product Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [Subscription] false none none
» Subscription Subscription false none none
»» id number false none none
»» product string true none none
»» type string false none none
»» description string true none none
»» duration number true none none
»» monthlyPrice number true none none
»» yearlyPrice number true none none
»» active boolean true none none
»» externalId string false none none
»» featureList string false none none

UserSubscriptionController.updateExternal

Code samples

# You can also use wget
curl -X GET https://atman-iot.com/api/user-subscription/update-external/{referenceCode}/{externalId}

GET https://atman-iot.com/api/user-subscription/update-external/{referenceCode}/{externalId} HTTP/1.1
Host: atman-iot.com


fetch('https://atman-iot.com/api/user-subscription/update-external/{referenceCode}/{externalId}',
{
  method: 'GET'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

fetch('https://atman-iot.com/api/user-subscription/update-external/{referenceCode}/{externalId}',
{
  method: 'GET'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

result = RestClient.get 'https://atman-iot.com/api/user-subscription/update-external/{referenceCode}/{externalId}',
  params: {
  }

p JSON.parse(result)

import requests

r = requests.get('https://atman-iot.com/api/user-subscription/update-external/{referenceCode}/{externalId}')

print(r.json())

URL obj = new URL("https://atman-iot.com/api/user-subscription/update-external/{referenceCode}/{externalId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://atman-iot.com/api/user-subscription/update-external/{referenceCode}/{externalId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

request('GET','https://atman-iot.com/api/user-subscription/update-external/{referenceCode}/{externalId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /user-subscription/update-external/{referenceCode}/{externalId}

Parameters

Name In Type Required Description
referenceCode path string true none
externalId path string true none

Responses

Status Meaning Description Schema
204 No Content Success None

UserSubscriptionController.create

Code samples

# You can also use wget
curl -X POST https://atman-iot.com/api/user-subscriptions/paypal/callback \
  -H 'Content-Type: application/json'

POST https://atman-iot.com/api/user-subscriptions/paypal/callback HTTP/1.1
Host: atman-iot.com
Content-Type: application/json

const inputBody = '{}';
const headers = {
  'Content-Type':'application/json'
};

fetch('https://atman-iot.com/api/user-subscriptions/paypal/callback',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = {};
const headers = {
  'Content-Type':'application/json'
};

fetch('https://atman-iot.com/api/user-subscriptions/paypal/callback',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json'
}

result = RestClient.post 'https://atman-iot.com/api/user-subscriptions/paypal/callback',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json'
}

r = requests.post('https://atman-iot.com/api/user-subscriptions/paypal/callback', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/user-subscriptions/paypal/callback");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://atman-iot.com/api/user-subscriptions/paypal/callback", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://atman-iot.com/api/user-subscriptions/paypal/callback', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST /user-subscriptions/paypal/callback

Body parameter

{}

Parameters

Name In Type Required Description
body body object false none

Responses

Status Meaning Description Schema
204 No Content Success None

UserSubscriptionController.verifyCode

Code samples

# You can also use wget
curl -X POST https://atman-iot.com/api/user-subscriptions/verify-reference-code \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

POST https://atman-iot.com/api/user-subscriptions/verify-reference-code HTTP/1.1
Host: atman-iot.com
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "apiKey": "string",
  "referenceCode": "string",
  "userEmail": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://atman-iot.com/api/user-subscriptions/verify-reference-code',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = {
  "apiKey": "string",
  "referenceCode": "string",
  "userEmail": "string"
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://atman-iot.com/api/user-subscriptions/verify-reference-code',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json'
}

result = RestClient.post 'https://atman-iot.com/api/user-subscriptions/verify-reference-code',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

r = requests.post('https://atman-iot.com/api/user-subscriptions/verify-reference-code', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/user-subscriptions/verify-reference-code");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://atman-iot.com/api/user-subscriptions/verify-reference-code", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://atman-iot.com/api/user-subscriptions/verify-reference-code', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST /user-subscriptions/verify-reference-code

Body parameter

{
  "apiKey": "string",
  "referenceCode": "string",
  "userEmail": "string"
}

Parameters

Name In Type Required Description
body body CodeVerificationRequest false none

Example responses

200 Response

{
  "id": 0,
  "referenceCode": "string",
  "email": "string",
  "discount": 0,
  "creationTimestamp": "2019-08-24T14:15:22Z",
  "activationTimestamp": "2019-08-24T14:15:22Z",
  "endTimestamp": "2019-08-24T14:15:22Z",
  "hasRegistered": true,
  "externalId": "string",
  "subscriptionId": 0
}

Responses

Status Meaning Description Schema
200 OK User Subscription UserSubscription
401 Unauthorized Unauthorized None

VirtualAccessController

VirtualAccessController.createAccessByRight

Code samples

# You can also use wget
curl -X POST https://atman-iot.com/api/virtual-access/by-asset \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

POST https://atman-iot.com/api/virtual-access/by-asset HTTP/1.1
Host: atman-iot.com
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "userId": 0,
  "assetId": 0
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/virtual-access/by-asset',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = {
  "userId": 0,
  "assetId": 0
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/virtual-access/by-asset',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.post 'https://atman-iot.com/api/virtual-access/by-asset',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.post('https://atman-iot.com/api/virtual-access/by-asset', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/virtual-access/by-asset");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://atman-iot.com/api/virtual-access/by-asset", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://atman-iot.com/api/virtual-access/by-asset', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST /virtual-access/by-asset

Body parameter

{
  "userId": 0,
  "assetId": 0
}

Parameters

Name In Type Required Description
body body RequestVirtualAccessRightExcluding_assetGroupId_ false none

Example responses

200 Response

{
  "id": 0,
  "virtualRelationId": 0,
  "assetId": 0
}

Responses

Status Meaning Description Schema
200 OK VirtualAccess model instance VirtualAccess

VirtualAccessController.createAccessByGroup

Code samples

# You can also use wget
curl -X POST https://atman-iot.com/api/virtual-access/by-asset-group \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

POST https://atman-iot.com/api/virtual-access/by-asset-group HTTP/1.1
Host: atman-iot.com
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "userId": 0,
  "assetGroupId": 0
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/virtual-access/by-asset-group',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = {
  "userId": 0,
  "assetGroupId": 0
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/virtual-access/by-asset-group',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.post 'https://atman-iot.com/api/virtual-access/by-asset-group',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.post('https://atman-iot.com/api/virtual-access/by-asset-group', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/virtual-access/by-asset-group");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://atman-iot.com/api/virtual-access/by-asset-group", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://atman-iot.com/api/virtual-access/by-asset-group', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST /virtual-access/by-asset-group

Body parameter

{
  "userId": 0,
  "assetGroupId": 0
}

Parameters

Name In Type Required Description
body body RequestVirtualAccessRightExcluding_assetId_ false none

Example responses

200 Response

[
  {
    "id": 0,
    "virtualRelationId": 0,
    "assetId": 0
  }
]

Responses

Status Meaning Description Schema
200 OK VirtualAccess model instance Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [VirtualAccess] false none none
» VirtualAccess object false none none
»» id number false none Automatically generated ID
»» virtualRelationId number true none ID of VirtualRelation
»» assetId number true none ID of Asset associated with VirtualRelation

VirtualAccessController.findByUserId

Code samples

# You can also use wget
curl -X GET https://atman-iot.com/api/virtual-access/by-userId/{userId} \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://atman-iot.com/api/virtual-access/by-userId/{userId} HTTP/1.1
Host: atman-iot.com
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/virtual-access/by-userId/{userId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/virtual-access/by-userId/{userId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://atman-iot.com/api/virtual-access/by-userId/{userId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://atman-iot.com/api/virtual-access/by-userId/{userId}', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/virtual-access/by-userId/{userId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://atman-iot.com/api/virtual-access/by-userId/{userId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'application/json',
    'Authorization' => 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://atman-iot.com/api/virtual-access/by-userId/{userId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /virtual-access/by-userId/{userId}

Parameters

Name In Type Required Description
userId path number true none

Example responses

200 Response

[
  {
    "id": 0,
    "virtualRelationId": 0,
    "assetId": 0
  }
]

Responses

Status Meaning Description Schema
200 OK Array of VirtualAccess model instances Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [VirtualAccess] false none none
» VirtualAccess object false none none
»» id number false none Automatically generated ID
»» virtualRelationId number true none ID of VirtualRelation
»» assetId number true none ID of Asset associated with VirtualRelation

VirtualAccessController.deleteById

Code samples

# You can also use wget
curl -X DELETE https://atman-iot.com/api/virtual-access/{id} \
  -H 'Authorization: Bearer {access-token}'

DELETE https://atman-iot.com/api/virtual-access/{id} HTTP/1.1
Host: atman-iot.com


const headers = {
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/virtual-access/{id}',
{
  method: 'DELETE',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Authorization':'Bearer {access-token}'
};

fetch('https://atman-iot.com/api/virtual-access/{id}',
{
  method: 'DELETE',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.delete 'https://atman-iot.com/api/virtual-access/{id}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Authorization': 'Bearer {access-token}'
}

r = requests.delete('https://atman-iot.com/api/virtual-access/{id}', headers = headers)

print(r.json())

URL obj = new URL("https://atman-iot.com/api/virtual-access/{id}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("DELETE", "https://atman-iot.com/api/virtual-access/{id}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

 'Bearer {access-token}',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('DELETE','https://atman-iot.com/api/virtual-access/{id}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

DELETE /virtual-access/{id}

Parameters

Name In Type Required Description
id path number true none

Responses

Status Meaning Description Schema
204 No Content VirtualAccess DELETE success None

Schemas

AssetGroup

{
  "id": 0,
  "name": "string",
  "description": "string",
  "userId": 0
}

AssetGroup

Properties

Name Type Required Restrictions Description
id number false none Automatically generated ID
name string false none AssetGroup name
description string false none AssetGroup description
userId number true none ID of User that AssetGroup belongs to

AssetGroupExcluding_id-userId_

{
  "name": "string",
  "description": "string"
}

AssetGroupExcluding_id-userId_

Properties

Name Type Required Restrictions Description
name string false none AssetGroup name
description string false none AssetGroup description

Asset

{
  "id": 0,
  "name": "string",
  "description": "string",
  "assetGroupId": 0
}

Asset

Properties

Name Type Required Restrictions Description
id number false none Automatically generated ID
name string false none Asset name
description string false none Asset description
assetGroupId number true none ID of AssetGroup that Asset belongs to

AssetExcluding_id_

{
  "name": "string",
  "description": "string",
  "assetGroupId": 0
}

AssetExcluding_id_

Properties

Name Type Required Restrictions Description
name string false none Asset name
description string false none Asset description
assetGroupId number true none ID of AssetGroup that Asset belongs to

AssetExcluding_id-assetGroupId_

{
  "name": "string",
  "description": "string"
}

AssetExcluding_id-assetGroupId_

Properties

Name Type Required Restrictions Description
name string false none Asset name
description string false none Asset description

DashboardElement

{
  "id": 0,
  "assetId": 0,
  "userId": 0,
  "deviceCategory": "string",
  "deviceCategoryB": "string",
  "channelCategory": "string",
  "channelCategoryB": "string",
  "elementType": "string",
  "position": 0,
  "location": "string",
  "timeWindow": 0,
  "operation": "string",
  "groupBy": "string",
  "title": "string",
  "xLabel": "string",
  "yLabel": "string",
  "yLabelB": "string"
}

DashboardElement

Properties

Name Type Required Restrictions Description
id number false none Automatically generated ID
assetId number true none ID of Asset that Dashboard Element belongs to
userId number true none ID of User that Dashboard Element belongs to
deviceCategory string true none Device A Category
deviceCategoryB string false none Device B Category
channelCategory string true none Channel A Category
channelCategoryB string false none Channel B Category
elementType string true none Element Type
position number true none Element Position
location string true none Element Location: mainDashboard / assetDashboard
timeWindow number true none Time Window in seconds
operation string true none Data Operation
groupBy string true none Data group by
title string false none Element Title
xLabel string false none Element X Label
yLabel string false none Element A Y Label
yLabelB string false none Element B Y Label

NewDashboardElement

{
  "assetId": 0,
  "userId": 0,
  "deviceCategory": "string",
  "deviceCategoryB": "string",
  "channelCategory": "string",
  "channelCategoryB": "string",
  "elementType": "string",
  "location": "string",
  "timeWindow": 0,
  "operation": "string",
  "groupBy": "string",
  "title": "string",
  "xLabel": "string",
  "yLabel": "string",
  "yLabelB": "string"
}

NewDashboardElement

Properties

Name Type Required Restrictions Description
assetId number true none ID of Asset that Dashboard Element belongs to
userId number true none ID of User that Dashboard Element belongs to
deviceCategory string true none Device A Category
deviceCategoryB string false none Device B Category
channelCategory string true none Channel A Category
channelCategoryB string false none Channel B Category
elementType string true none Element Type
location string true none Element Location: mainDashboard / assetDashboard
timeWindow number true none Time Window in seconds
operation string true none Data Operation
groupBy string true none Data group by
title string false none Element Title
xLabel string false none Element X Label
yLabel string false none Element A Y Label
yLabelB string false none Element B Y Label

DashboardElementWithScope

{
  "dashboardElement": {
    "id": 0,
    "assetId": 0,
    "userId": 0,
    "deviceCategory": "string",
    "deviceCategoryB": "string",
    "channelCategory": "string",
    "channelCategoryB": "string",
    "elementType": "string",
    "position": 0,
    "location": "string",
    "timeWindow": 0,
    "operation": "string",
    "groupBy": "string",
    "title": "string",
    "xLabel": "string",
    "yLabel": "string",
    "yLabelB": "string"
  },
  "scope": [
    {}
  ],
  "scopeB": [
    {}
  ]
}

DashboardElementWithScope

Properties

Name Type Required Restrictions Description
dashboardElement DashboardElement true none none
scope [object] true none none
scopeB [object] false none none

DataLogger

{
  "id": 0,
  "description": "string",
  "connectionType": "string",
  "fileFormat": "string",
  "username": "string",
  "passwd": "string",
  "authToken": "string",
  "config": "string",
  "autoInit": true,
  "dataCompressed": true,
  "userId": 0
}

DataLogger

Properties

Name Type Required Restrictions Description
id number false none Automatically generated ID
description string false none Datalogger description
connectionType string true none Method used by DataLogger to send data to the system. At present only FTP implemented
fileFormat string true none Format of the files uploaded to the system DataLogger. At present system supports CSV and XML formats
username string false none Username of system FTP account, where the DataLogger sends the data (if applicable)
passwd string false none Password of system FTP account, where the DataLogger sends the data (if applicable)
authToken string false none Authentication token of DataLogger
config string false none JSON configuration file for DataLogger
autoInit boolean true none Flag for selecting if DataLogger is to be initiated automatically from preexisting configuration
dataCompressed boolean true none Flag for selecting if DataLogger sends compressed files
userId number true none ID of User that DataLogger belongs to

DataLoggerExcluding_id-authToken-config-userId_

{
  "description": "string",
  "connectionType": "string",
  "fileFormat": "string",
  "username": "string",
  "passwd": "string",
  "autoInit": true,
  "dataCompressed": true
}

DataLoggerExcluding_id-authToken-config-userId_

Properties

Name Type Required Restrictions Description
description string false none Datalogger description
connectionType string true none Method used by DataLogger to send data to the system. At present only FTP implemented
fileFormat string true none Format of the files uploaded to the system DataLogger. At present system supports CSV and XML formats
username string false none Username of system FTP account, where the DataLogger sends the data (if applicable)
passwd string false none Password of system FTP account, where the DataLogger sends the data (if applicable)
autoInit boolean true none Flag for selecting if DataLogger is to be initiated automatically from preexisting configuration
dataCompressed boolean true none Flag for selecting if DataLogger sends compressed files

FloatData

{
  "period": 0,
  "measurement": 0,
  "timestamp": "2019-08-24T14:15:22Z"
}

FloatData

Properties

Name Type Required Restrictions Description
period number true none Recording period - seconds
measurement number true none Recorded measurement
timestamp string(date-time) true none UTC Timestamp

DeviceChannel

{
  "name": "string",
  "unit": "string",
  "floatData": [
    {
      "period": 0,
      "measurement": 0,
      "timestamp": "2019-08-24T14:15:22Z"
    }
  ]
}

DeviceChannel

Properties

Name Type Required Restrictions Description
name string true none Channel Name
unit string true none none
floatData [FloatData] false none none

DataLoggerDevice

{
  "model": "string",
  "serialNo": "string",
  "channels": [
    {
      "name": "string",
      "unit": "string",
      "floatData": [
        {
          "period": 0,
          "measurement": 0,
          "timestamp": "2019-08-24T14:15:22Z"
        }
      ]
    }
  ]
}

DataLoggerDevice

Properties

Name Type Required Restrictions Description
model string true none Device Model
serialNo string true none Device serial number
channels [DeviceChannel] false none none

DataLoggerData

{
  "manufacturer": "string",
  "devices": [
    {
      "model": "string",
      "serialNo": "string",
      "channels": [
        {
          "name": "string",
          "unit": "string",
          "floatData": [
            {
              "period": 0,
              "measurement": 0,
              "timestamp": "2019-08-24T14:15:22Z"
            }
          ]
        }
      ]
    }
  ]
}

DataLoggerData

Properties

Name Type Required Restrictions Description
manufacturer string true none Data Logger Manufacturer
devices [DataLoggerDevice] false none none

ChannelTypeExtended

{
  "id": 0,
  "name": "string",
  "category": "string",
  "description": "string",
  "unit": "string",
  "channelType": "string",
  "deviceTypeId": 0,
  "error": true
}

ChannelTypeExtended

Properties

Name Type Required Restrictions Description
id number false none Automatically generated ID
name string true none ChannelType name
category string false none ChannelType category
description string false none ChannelType description
unit string false none Unit of measurement
channelType string true none Type of data: UNDEFINED / SPOT_VALUE / COUNTER / TEXT
deviceTypeId number true none ID of DeviceType that ChannelType belongs to
error boolean true none Error status of channel type

DeviceTypeExtended

{
  "id": 0,
  "model": "string",
  "description": "string",
  "manufacturer": "string",
  "category": "string",
  "error": true,
  "channelTypes": [
    {
      "id": 0,
      "name": "string",
      "category": "string",
      "description": "string",
      "unit": "string",
      "channelType": "string",
      "deviceTypeId": 0,
      "error": true
    }
  ]
}

DeviceTypeExtended

Properties

Name Type Required Restrictions Description
id number false none Automatically generated ID
model string true none DeviceType model
description string false none DeviceType description
manufacturer string true none DeviceType manufacturer
category string false none DeviceType category
error boolean true none Error status of device type
channelTypes [ChannelTypeExtended] true none none

Device

{
  "id": 0,
  "description": "string",
  "serialNo": "string",
  "dataLoggerId": 0,
  "deviceTypeId": 0
}

Device

Properties

Name Type Required Restrictions Description
id number false none Automatically generated ID
description string false none Device description
serialNo string true none Device serial number
dataLoggerId number true none ID of DataLogger that Device belongs to
deviceTypeId number false none none

Timestamp

{
  "value": "2019-08-24T14:15:22Z",
  "format": "string",
  "timezone": "string"
}

Timestamp

Properties

Name Type Required Restrictions Description
value string(date-time) false none Timestamp (same as timestamp property)
format string false none Timestamp format
timezone string false none Timestamp time zone

MeasurementSample

{
  "value": {},
  "period": 0,
  "timestamp": {
    "value": "2019-08-24T14:15:22Z",
    "format": "string",
    "timezone": "string"
  },
  "scope": "string"
}

MeasurementSample

Properties

Name Type Required Restrictions Description
value object true none measurement: string / number
period number true none none
timestamp Timestamp true none Timestamp object
scope string true none Scope

ResponseDataLoggerSetupStep2

{
  "deviceTypes": [
    {
      "id": 0,
      "model": "string",
      "description": "string",
      "manufacturer": "string",
      "category": "string",
      "error": true,
      "channelTypes": [
        {
          "id": 0,
          "name": "string",
          "category": "string",
          "description": "string",
          "unit": "string",
          "channelType": "string",
          "deviceTypeId": 0,
          "error": true
        }
      ]
    }
  ],
  "devices": [
    {
      "id": 0,
      "description": "string",
      "serialNo": "string",
      "dataLoggerId": 0,
      "deviceTypeId": 0
    }
  ],
  "sample": {
    "value": {},
    "period": 0,
    "timestamp": {
      "value": "2019-08-24T14:15:22Z",
      "format": "string",
      "timezone": "string"
    },
    "scope": "string"
  },
  "errorCount": 0,
  "errors": [
    "string"
  ]
}

ResponseDataLoggerSetupStep2

Properties

Name Type Required Restrictions Description
deviceTypes [DeviceTypeExtended] true none none
devices [Device] true none none
sample MeasurementSample false none Sample Value
errorCount number true none Sample Value
errors [string] false none none

RequestDataLoggerSetupXml2SearchStringStructureSplit

{
  "delimiter": "string",
  "location": 0
}

RequestDataLoggerSetupXml2SearchStringStructureSplitExcluding_fileFormat_

Properties

Name Type Required Restrictions Description
delimiter string true none Delimiter used to split the string in the provided XML Key
location number true none Location of the required value in string split using delimmiter

RequestDataLoggerSetupXml2SearchStringStructure

{
  "key": "string",
  "isString": true,
  "performSplit": [
    {
      "delimiter": "string",
      "location": 0
    }
  ]
}

RequestDataLoggerSetupXml2SearchStringStructureExcluding_fileFormat_

Properties

Name Type Required Restrictions Description
key string true none XML key containing parent attribute
isString boolean true none Flag for selecting if parent value is the entire string contained in the provided XML Key. If set to true performSplit must be defined
performSplit [RequestDataLoggerSetupXml2SearchStringStructureSplit] true none [(Schema options: { exclude: [ 'fileFormat' ] })]

RequestDataLoggerSetupXml2Excluding_fileFormat_

{
  "objectListKey": "string",
  "model": {
    "key": "string",
    "isString": true,
    "performSplit": [
      {
        "delimiter": "string",
        "location": 0
      }
    ]
  },
  "serialNo": {
    "key": "string",
    "isString": true,
    "performSplit": [
      {
        "delimiter": "string",
        "location": 0
      }
    ]
  },
  "channelName": {
    "key": "string",
    "isString": true,
    "performSplit": [
      {
        "delimiter": "string",
        "location": 0
      }
    ]
  },
  "channelUnit": {
    "key": "string",
    "isString": true,
    "performSplit": [
      {
        "delimiter": "string",
        "location": 0
      }
    ]
  },
  "value": {
    "key": "string",
    "isString": true,
    "performSplit": [
      {
        "delimiter": "string",
        "location": 0
      }
    ]
  },
  "period": {
    "key": "string",
    "isString": true,
    "performSplit": [
      {
        "delimiter": "string",
        "location": 0
      }
    ]
  },
  "timestamp": {
    "key": "string",
    "isString": true,
    "performSplit": [
      {
        "delimiter": "string",
        "location": 0
      }
    ]
  },
  "confirm": true
}

RequestDataLoggerSetupXml2Excluding_fileFormat_

Properties

Name Type Required Restrictions Description
objectListKey string true none XML key of list containing the the measurements
model RequestDataLoggerSetupXml2SearchStringStructure true none Location of Device Model in XML
serialNo RequestDataLoggerSetupXml2SearchStringStructure true none Location of Device Serial Number in XML
channelName RequestDataLoggerSetupXml2SearchStringStructure true none Location of Channel Name in XML
channelUnit RequestDataLoggerSetupXml2SearchStringStructure true none Location of Channel Unit in XML
value RequestDataLoggerSetupXml2SearchStringStructure true none Location of Measurement Value in XML
period RequestDataLoggerSetupXml2SearchStringStructure true none Location of Measurement Period in XML
timestamp RequestDataLoggerSetupXml2SearchStringStructure true none Location of Measurement Timestamp in XML
confirm boolean true none Provided Configuration Confirmation. Set to true to save current configuration

RequestDataLoggerSetupXml2

{
  "objectListKey": "string",
  "model": {
    "key": "string",
    "isString": true,
    "performSplit": [
      {
        "delimiter": "string",
        "location": 0
      }
    ]
  },
  "serialNo": {
    "key": "string",
    "isString": true,
    "performSplit": [
      {
        "delimiter": "string",
        "location": 0
      }
    ]
  },
  "channelName": {
    "key": "string",
    "isString": true,
    "performSplit": [
      {
        "delimiter": "string",
        "location": 0
      }
    ]
  },
  "channelUnit": {
    "key": "string",
    "isString": true,
    "performSplit": [
      {
        "delimiter": "string",
        "location": 0
      }
    ]
  },
  "value": {
    "key": "string",
    "isString": true,
    "performSplit": [
      {
        "delimiter": "string",
        "location": 0
      }
    ]
  },
  "period": {
    "key": "string",
    "isString": true,
    "performSplit": [
      {
        "delimiter": "string",
        "location": 0
      }
    ]
  },
  "timestamp": {
    "key": "string",
    "isString": true,
    "performSplit": [
      {
        "delimiter": "string",
        "location": 0
      }
    ]
  },
  "confirm": true,
  "fileFormat": "string"
}

RequestDataLoggerSetupXml2

Properties

Name Type Required Restrictions Description
objectListKey string true none XML key of list containing the the measurements
model RequestDataLoggerSetupXml2SearchStringStructure true none Location of Device Model in XML
serialNo RequestDataLoggerSetupXml2SearchStringStructure true none Location of Device Serial Number in XML
channelName RequestDataLoggerSetupXml2SearchStringStructure true none Location of Channel Name in XML
channelUnit RequestDataLoggerSetupXml2SearchStringStructure true none Location of Channel Unit in XML
value RequestDataLoggerSetupXml2SearchStringStructure true none Location of Measurement Value in XML
period RequestDataLoggerSetupXml2SearchStringStructure true none Location of Measurement Period in XML
timestamp RequestDataLoggerSetupXml2SearchStringStructure true none Location of Measurement Timestamp in XML
confirm boolean true none Provided Configuration Confirmation. Set to true to save current configuration
fileFormat string true none Data File Format

RequestDataLoggerSetupCsv2LocationSpec

{
  "row": 0,
  "column": 0,
  "setManually": true,
  "manualValue": "string"
}

RequestDataLoggerSetupCsv2LocationSpecExcluding_fileFormat_

Properties

Name Type Required Restrictions Description
row number true none Row containing parent info
column number true none Row containing parent info
setManually boolean true none Flag to enable setting parent manually
manualValue string true none Manual value for parent

RequestDataLoggerSetupCsv2TimeData

{
  "column": 0,
  "firstItemRow": 0,
  "nextItemIteration": 0,
  "timezone": {
    "row": 0,
    "column": 0,
    "setManually": true,
    "manualValue": "string"
  },
  "format": {
    "row": 0,
    "column": 0,
    "setManually": true,
    "manualValue": "string"
  }
}

RequestDataLoggerSetupCsv2TimeDataExcluding_fileFormat_

Properties

Name Type Required Restrictions Description
column number true none Column containing time data
firstItemRow number true none Row containing first value of time data in the CSV file
nextItemIteration number true none Relevant row location of next item
timezone RequestDataLoggerSetupCsv2LocationSpec true none Location of Timezone information
format RequestDataLoggerSetupCsv2LocationSpec true none Location of Timezone format information

RequestDataLoggerSetupCsv2DataHeaderLocationKeys_Array

{
  "firstItemRow": 0,
  "setManually": true,
  "manualValue": "string"
}

RequestDataLoggerSetupCsv2DataHeaderLocationKeys_ArrayExcluding_fileFormat_

Properties

Name Type Required Restrictions Description
firstItemRow number true none First row containing parent
setManually boolean false none Flag to enable setting parent manually
manualValue string false none Manual value for parent (string)

RequestDataLoggerSetupCsv2DataHeaderLocationKeys_Str_Array

{
  "firstItemRow": 0,
  "setManually": true,
  "manualValue": [
    "string"
  ]
}

RequestDataLoggerSetupCsv2DataHeaderLocationKeys_Str_ArrayExcluding_fileFormat_

Properties

Name Type Required Restrictions Description
firstItemRow number true none First row containing parent
setManually boolean false none Flag to enable setting parent manually
manualValue [string] false none none

RequestDataLoggerSetupCsv2DataHeaderLocationKeys_Number

{
  "firstItemRow": 0,
  "setManually": true,
  "manualValue": 0
}

RequestDataLoggerSetupCsv2DataHeaderLocationKeys_NumberExcluding_fileFormat_

Properties

Name Type Required Restrictions Description
firstItemRow number true none First row containing parent
setManually boolean false none Flag to enable setting parent manually
manualValue number false none Manual value for parent (number)

RequestDataLoggerSetupCsv2DataHeaderLocation

{
  "firstItemCol": 0,
  "nextItemIteration": 0,
  "model": {
    "firstItemRow": 0,
    "setManually": true,
    "manualValue": "string"
  },
  "serialNo": {
    "firstItemRow": 0,
    "setManually": true,
    "manualValue": "string"
  },
  "channelName": {
    "firstItemRow": 0,
    "setManually": true,
    "manualValue": [
      "string"
    ]
  },
  "channelUnit": {
    "firstItemRow": 0,
    "setManually": true,
    "manualValue": [
      "string"
    ]
  },
  "period": {
    "firstItemRow": 0,
    "setManually": true,
    "manualValue": 0
  }
}

RequestDataLoggerSetupCsv2DataHeaderLocationExcluding_fileFormat_

Properties

Name Type Required Restrictions Description
firstItemCol number true none First column of header
nextItemIteration number true none Relevant row location of next item
model RequestDataLoggerSetupCsv2DataHeaderLocationKeys_Array true none Specification of device model attribute
serialNo RequestDataLoggerSetupCsv2DataHeaderLocationKeys_Array true none Specification of device serial number attribute
channelName RequestDataLoggerSetupCsv2DataHeaderLocationKeys_Str_Array true none Specification of device channel name attribute
channelUnit RequestDataLoggerSetupCsv2DataHeaderLocationKeys_Str_Array true none Specification of device channel unit attribute
period RequestDataLoggerSetupCsv2DataHeaderLocationKeys_Number true none Specification of recording period attribute

RequestDataLoggerSetupCsv2DataValueLocation

{
  "firstItemRow": 0,
  "nextItemIteration": 0
}

RequestDataLoggerSetupCsv2DataValueLocationExcluding_fileFormat_

Properties

Name Type Required Restrictions Description
firstItemRow number true none First row containing a measurement
nextItemIteration number true none Relevant row location of next item

RequestDataLoggerSetupCsv2Data

{
  "header": {
    "firstItemCol": 0,
    "nextItemIteration": 0,
    "model": {
      "firstItemRow": 0,
      "setManually": true,
      "manualValue": "string"
    },
    "serialNo": {
      "firstItemRow": 0,
      "setManually": true,
      "manualValue": "string"
    },
    "channelName": {
      "firstItemRow": 0,
      "setManually": true,
      "manualValue": [
        "string"
      ]
    },
    "channelUnit": {
      "firstItemRow": 0,
      "setManually": true,
      "manualValue": [
        "string"
      ]
    },
    "period": {
      "firstItemRow": 0,
      "setManually": true,
      "manualValue": 0
    }
  },
  "value": {
    "firstItemRow": 0,
    "nextItemIteration": 0
  }
}

RequestDataLoggerSetupCsv2DataExcluding_fileFormat_

Properties

Name Type Required Restrictions Description
header RequestDataLoggerSetupCsv2DataHeaderLocation true none Specification of Data header locations
value RequestDataLoggerSetupCsv2DataValueLocation true none Specification of measurement value locations

RequestDataLoggerSetupCsv2Excluding_fileFormat_

{
  "delimiter": "string",
  "decimalPoint": "string",
  "timeData": {
    "column": 0,
    "firstItemRow": 0,
    "nextItemIteration": 0,
    "timezone": {
      "row": 0,
      "column": 0,
      "setManually": true,
      "manualValue": "string"
    },
    "format": {
      "row": 0,
      "column": 0,
      "setManually": true,
      "manualValue": "string"
    }
  },
  "data": {
    "header": {
      "firstItemCol": 0,
      "nextItemIteration": 0,
      "model": {
        "firstItemRow": 0,
        "setManually": true,
        "manualValue": "string"
      },
      "serialNo": {
        "firstItemRow": 0,
        "setManually": true,
        "manualValue": "string"
      },
      "channelName": {
        "firstItemRow": 0,
        "setManually": true,
        "manualValue": [
          "string"
        ]
      },
      "channelUnit": {
        "firstItemRow": 0,
        "setManually": true,
        "manualValue": [
          "string"
        ]
      },
      "period": {
        "firstItemRow": 0,
        "setManually": true,
        "manualValue": 0
      }
    },
    "value": {
      "firstItemRow": 0,
      "nextItemIteration": 0
    }
  },
  "confirm": true
}

RequestDataLoggerSetupCsv2Excluding_fileFormat_

Properties

Name Type Required Restrictions Description
delimiter string true none Delimiter used in CSV file
decimalPoint string true none Decimal Point of values in CSV file
timeData RequestDataLoggerSetupCsv2TimeData true none Specification of time data in the CSV file
data RequestDataLoggerSetupCsv2Data true none Specification of data in the CSV file
confirm boolean true none Provided Configuration Confirmation. Set to true to save current configuration

RequestDataLoggerSetupCsv2

{
  "delimiter": "string",
  "decimalPoint": "string",
  "timeData": {
    "column": 0,
    "firstItemRow": 0,
    "nextItemIteration": 0,
    "timezone": {
      "row": 0,
      "column": 0,
      "setManually": true,
      "manualValue": "string"
    },
    "format": {
      "row": 0,
      "column": 0,
      "setManually": true,
      "manualValue": "string"
    }
  },
  "data": {
    "header": {
      "firstItemCol": 0,
      "nextItemIteration": 0,
      "model": {
        "firstItemRow": 0,
        "setManually": true,
        "manualValue": "string"
      },
      "serialNo": {
        "firstItemRow": 0,
        "setManually": true,
        "manualValue": "string"
      },
      "channelName": {
        "firstItemRow": 0,
        "setManually": true,
        "manualValue": [
          "string"
        ]
      },
      "channelUnit": {
        "firstItemRow": 0,
        "setManually": true,
        "manualValue": [
          "string"
        ]
      },
      "period": {
        "firstItemRow": 0,
        "setManually": true,
        "manualValue": 0
      }
    },
    "value": {
      "firstItemRow": 0,
      "nextItemIteration": 0
    }
  },
  "confirm": true,
  "fileFormat": "string"
}

RequestDataLoggerSetupCsv2

Properties

Name Type Required Restrictions Description
delimiter string true none Delimiter used in CSV file
decimalPoint string true none Decimal Point of values in CSV file
timeData RequestDataLoggerSetupCsv2TimeData true none Specification of time data in the CSV file
data RequestDataLoggerSetupCsv2Data true none Specification of data in the CSV file
confirm boolean true none Provided Configuration Confirmation. Set to true to save current configuration
fileFormat string true none Data File Format

ChannelType

{
  "id": 0,
  "name": "string",
  "category": "string",
  "description": "string",
  "unit": "string",
  "channelType": "string",
  "deviceTypeId": 0
}

ChannelType

Properties

Name Type Required Restrictions Description
id number false none Automatically generated ID
name string true none ChannelType name
category string false none ChannelType category
description string false none ChannelType description
unit string false none Unit of measurement
channelType string true none Type of data: UNDEFINED / SPOT_VALUE / COUNTER / TEXT
deviceTypeId number true none ID of DeviceType that ChannelType belongs to

DataFloat

{
  "id": 0,
  "period": 0,
  "measurement": 0,
  "timestamp": "2019-08-24T14:15:22Z",
  "channelId": 0
}

DataFloat

Properties

Name Type Required Restrictions Description
id number false none Automatically generated ID
period number true none Recording period - seconds
measurement number true none Recorded measurement
timestamp string(date-time) true none Timestamp
channelId number true none ID of Channel that DataFloat belongs to

DataText

{
  "id": 0,
  "period": 0,
  "measurement": "string",
  "timestamp": "2019-08-24T14:15:22Z",
  "channelId": 0
}

DataText

Properties

Name Type Required Restrictions Description
id number false none Automatically generated ID
period number true none Recording period - seconds
measurement string true none Recorded data
timestamp string(date-time) true none Timestamp
channelId number true none ID of Channel that DataFloat belongs to

ResponseDeviceChannelData

{
  "channelType": {
    "id": 0,
    "name": "string",
    "category": "string",
    "description": "string",
    "unit": "string",
    "channelType": "string",
    "deviceTypeId": 0
  },
  "dataFloat": [
    {
      "id": 0,
      "period": 0,
      "measurement": 0,
      "timestamp": "2019-08-24T14:15:22Z",
      "channelId": 0
    }
  ],
  "dataText": [
    {
      "id": 0,
      "period": 0,
      "measurement": "string",
      "timestamp": "2019-08-24T14:15:22Z",
      "channelId": 0
    }
  ]
}

ResponseDeviceChannelData

Properties

Name Type Required Restrictions Description
channelType ChannelType true none none
dataFloat [DataFloat] false none none
dataText [DataText] false none none

UserCredentialsWithRelations

{
  "id": 0,
  "passwd": "string",
  "userId": 0
}

UserCredentialsWithRelations

Properties

Name Type Required Restrictions Description
id number false none none
passwd string true none none
userId number true none none

UserWithRelations

{
  "id": 0,
  "username": "string",
  "passwd": "string",
  "email": "string",
  "roles": [
    "string"
  ],
  "isVirtual": true,
  "subscriptionReferenceCode": "string",
  "userCredentials": {
    "id": 0,
    "passwd": "string",
    "userId": 0
  }
}

UserWithRelations

Properties

Name Type Required Restrictions Description
id number false none Automatically generated ID
username string true none Username
passwd string false none Password
email string true none Email
roles [string] false none none
isVirtual boolean true none Automatically assigned flag to select if User is virtual or not
subscriptionReferenceCode string false none none
userCredentials UserCredentialsWithRelations false none (Schema options: { includeRelations: true })

DataLoggerWithRelations

{
  "id": 0,
  "description": "string",
  "connectionType": "string",
  "fileFormat": "string",
  "username": "string",
  "passwd": "string",
  "authToken": "string",
  "config": "string",
  "autoInit": true,
  "dataCompressed": true,
  "userId": 0,
  "user": {
    "id": 0,
    "username": "string",
    "passwd": "string",
    "email": "string",
    "roles": [
      "string"
    ],
    "isVirtual": true,
    "subscriptionReferenceCode": "string",
    "userCredentials": {
      "id": 0,
      "passwd": "string",
      "userId": 0
    }
  }
}

DataLoggerWithRelations

Properties

Name Type Required Restrictions Description
id number false none Automatically generated ID
description string false none Datalogger description
connectionType string true none Method used by DataLogger to send data to the system. At present only FTP implemented
fileFormat string true none Format of the files uploaded to the system DataLogger. At present system supports CSV and XML formats
username string false none Username of system FTP account, where the DataLogger sends the data (if applicable)
passwd string false none Password of system FTP account, where the DataLogger sends the data (if applicable)
authToken string false none Authentication token of DataLogger
config string false none JSON configuration file for DataLogger
autoInit boolean true none Flag for selecting if DataLogger is to be initiated automatically from preexisting configuration
dataCompressed boolean true none Flag for selecting if DataLogger sends compressed files
userId number true none ID of User that DataLogger belongs to
user UserWithRelations false none (Schema options: { includeRelations: true })

ChannelTypeWithRelations

{
  "id": 0,
  "name": "string",
  "category": "string",
  "description": "string",
  "unit": "string",
  "channelType": "string",
  "deviceTypeId": 0,
  "deviceType": {
    "id": 0,
    "model": "string",
    "description": "string",
    "manufacturer": "string",
    "category": "string",
    "channelTypes": [
      {
        "id": 0,
        "name": "string",
        "category": "string",
        "description": "string",
        "unit": "string",
        "channelType": "string",
        "deviceTypeId": 0,
        "deviceType": {}
      }
    ]
  }
}

ChannelTypeWithRelations

Properties

Name Type Required Restrictions Description
id number false none Automatically generated ID
name string true none ChannelType name
category string false none ChannelType category
description string false none ChannelType description
unit string false none Unit of measurement
channelType string true none Type of data: UNDEFINED / SPOT_VALUE / COUNTER / TEXT
deviceTypeId number true none ID of DeviceType that ChannelType belongs to
deviceType DeviceTypeWithRelations false none (Schema options: { includeRelations: true })

DeviceTypeWithRelations

{
  "id": 0,
  "model": "string",
  "description": "string",
  "manufacturer": "string",
  "category": "string",
  "channelTypes": [
    {
      "id": 0,
      "name": "string",
      "category": "string",
      "description": "string",
      "unit": "string",
      "channelType": "string",
      "deviceTypeId": 0,
      "deviceType": {
        "id": 0,
        "model": "string",
        "description": "string",
        "manufacturer": "string",
        "category": "string",
        "channelTypes": []
      }
    }
  ]
}

DeviceTypeWithRelations

Properties

Name Type Required Restrictions Description
id number false none Automatically generated ID
model string true none DeviceType model
description string false none DeviceType description
manufacturer string true none DeviceType manufacturer
category string false none DeviceType category
channelTypes [ChannelTypeWithRelations] false none [(Schema options: { includeRelations: true })]

DeviceWithRelations

{
  "id": 0,
  "description": "string",
  "serialNo": "string",
  "dataLoggerId": 0,
  "deviceTypeId": 0,
  "dataLogger": {
    "id": 0,
    "description": "string",
    "connectionType": "string",
    "fileFormat": "string",
    "username": "string",
    "passwd": "string",
    "authToken": "string",
    "config": "string",
    "autoInit": true,
    "dataCompressed": true,
    "userId": 0,
    "user": {
      "id": 0,
      "username": "string",
      "passwd": "string",
      "email": "string",
      "roles": [
        "string"
      ],
      "isVirtual": true,
      "subscriptionReferenceCode": "string",
      "userCredentials": {
        "id": 0,
        "passwd": "string",
        "userId": 0
      }
    }
  },
  "deviceType": {
    "id": 0,
    "model": "string",
    "description": "string",
    "manufacturer": "string",
    "category": "string",
    "channelTypes": [
      {
        "id": 0,
        "name": "string",
        "category": "string",
        "description": "string",
        "unit": "string",
        "channelType": "string",
        "deviceTypeId": 0,
        "deviceType": {}
      }
    ]
  }
}

DeviceWithRelations

Properties

Name Type Required Restrictions Description
id number false none Automatically generated ID
description string false none Device description
serialNo string true none Device serial number
dataLoggerId number true none ID of DataLogger that Device belongs to
deviceTypeId number false none none
dataLogger DataLoggerWithRelations false none (Schema options: { includeRelations: true })
deviceType DeviceTypeWithRelations false none (Schema options: { includeRelations: true })

ChannelWithRelations

{
  "id": 0,
  "monitor": true,
  "lastTimestamp": "2019-08-24T14:15:22Z",
  "status": "string",
  "deviceId": 0,
  "channelTypeId": 0,
  "device": {
    "id": 0,
    "description": "string",
    "serialNo": "string",
    "dataLoggerId": 0,
    "deviceTypeId": 0,
    "dataLogger": {
      "id": 0,
      "description": "string",
      "connectionType": "string",
      "fileFormat": "string",
      "username": "string",
      "passwd": "string",
      "authToken": "string",
      "config": "string",
      "autoInit": true,
      "dataCompressed": true,
      "userId": 0,
      "user": {
        "id": 0,
        "username": "string",
        "passwd": "string",
        "email": "string",
        "roles": [
          "string"
        ],
        "isVirtual": true,
        "subscriptionReferenceCode": "string",
        "userCredentials": {
          "id": 0,
          "passwd": "string",
          "userId": 0
        }
      }
    },
    "deviceType": {
      "id": 0,
      "model": "string",
      "description": "string",
      "manufacturer": "string",
      "category": "string",
      "channelTypes": [
        {
          "id": 0,
          "name": "string",
          "category": "string",
          "description": "string",
          "unit": "string",
          "channelType": "string",
          "deviceTypeId": 0,
          "deviceType": {}
        }
      ]
    }
  },
  "channelType": {
    "id": 0,
    "name": "string",
    "category": "string",
    "description": "string",
    "unit": "string",
    "channelType": "string",
    "deviceTypeId": 0,
    "deviceType": {
      "id": 0,
      "model": "string",
      "description": "string",
      "manufacturer": "string",
      "category": "string",
      "channelTypes": [
        {}
      ]
    }
  }
}

ChannelWithRelations

Properties

Name Type Required Restrictions Description
id number false none Automatically generated ID
monitor boolean true none Enable channel monitoring - data recording - by setting to true
lastTimestamp string(date-time) false none Timestamp
status string false none Channel Status
deviceId number true none ID of Device that Channel belongs to
channelTypeId number true none ID of ChannelType associated with Channel
device DeviceWithRelations false none (Schema options: { includeRelations: true })
channelType ChannelTypeWithRelations false none (Schema options: { includeRelations: true })

EventRuleWithRelations

{
  "id": 0,
  "description": "string",
  "scope": "string",
  "algorithm": "string",
  "action": "string",
  "actionParameters": "string",
  "rule": "string",
  "executionPeriod": 0,
  "lastExecTimestamp": "2019-08-24T14:15:22Z",
  "activated": true,
  "inProgress": true
}

EventRuleWithRelations

Properties

Name Type Required Restrictions Description
id number false none Automatically generated ID
description string false none Rule description
scope string true none Rule scope
algorithm string false none Event Detection Algorithm
action string true none Rule action
actionParameters string false none Rule action parameters
rule string false none JSON Rule
executionPeriod number false none EventRule execution period - seconds
lastExecTimestamp string(date-time) false none Last execution timestamp
activated boolean false none Is set to true when EventRule has been activated
inProgress boolean false none Is automaticaly set to true when EventRule is being processed

DeviceEventWithRelations

{
  "id": 0,
  "deviceId": 0,
  "channelId": 0,
  "eventRuleId": 0,
  "severity": "string",
  "description": "string",
  "resolved": true,
  "viewedBy": "string",
  "timestamp": "2019-08-24T14:15:22Z",
  "resolutionTimestamp": "2019-08-24T14:15:22Z",
  "device": {
    "id": 0,
    "description": "string",
    "serialNo": "string",
    "dataLoggerId": 0,
    "deviceTypeId": 0,
    "dataLogger": {
      "id": 0,
      "description": "string",
      "connectionType": "string",
      "fileFormat": "string",
      "username": "string",
      "passwd": "string",
      "authToken": "string",
      "config": "string",
      "autoInit": true,
      "dataCompressed": true,
      "userId": 0,
      "user": {
        "id": 0,
        "username": "string",
        "passwd": "string",
        "email": "string",
        "roles": [
          "string"
        ],
        "isVirtual": true,
        "subscriptionReferenceCode": "string",
        "userCredentials": {
          "id": 0,
          "passwd": "string",
          "userId": 0
        }
      }
    },
    "deviceType": {
      "id": 0,
      "model": "string",
      "description": "string",
      "manufacturer": "string",
      "category": "string",
      "channelTypes": [
        {
          "id": 0,
          "name": "string",
          "category": "string",
          "description": "string",
          "unit": "string",
          "channelType": "string",
          "deviceTypeId": 0,
          "deviceType": {}
        }
      ]
    }
  },
  "channel": {
    "id": 0,
    "monitor": true,
    "lastTimestamp": "2019-08-24T14:15:22Z",
    "status": "string",
    "deviceId": 0,
    "channelTypeId": 0,
    "device": {
      "id": 0,
      "description": "string",
      "serialNo": "string",
      "dataLoggerId": 0,
      "deviceTypeId": 0,
      "dataLogger": {
        "id": 0,
        "description": "string",
        "connectionType": "string",
        "fileFormat": "string",
        "username": "string",
        "passwd": "string",
        "authToken": "string",
        "config": "string",
        "autoInit": true,
        "dataCompressed": true,
        "userId": 0,
        "user": {
          "id": 0,
          "username": "string",
          "passwd": "string",
          "email": "string",
          "roles": [
            "string"
          ],
          "isVirtual": true,
          "subscriptionReferenceCode": "string",
          "userCredentials": {
            "id": 0,
            "passwd": "string",
            "userId": 0
          }
        }
      },
      "deviceType": {
        "id": 0,
        "model": "string",
        "description": "string",
        "manufacturer": "string",
        "category": "string",
        "channelTypes": [
          {
            "id": 0,
            "name": "string",
            "category": "string",
            "description": "string",
            "unit": "string",
            "channelType": "string",
            "deviceTypeId": 0,
            "deviceType": {}
          }
        ]
      }
    },
    "channelType": {
      "id": 0,
      "name": "string",
      "category": "string",
      "description": "string",
      "unit": "string",
      "channelType": "string",
      "deviceTypeId": 0,
      "deviceType": {
        "id": 0,
        "model": "string",
        "description": "string",
        "manufacturer": "string",
        "category": "string",
        "channelTypes": [
          {}
        ]
      }
    }
  },
  "eventRule": {
    "id": 0,
    "description": "string",
    "scope": "string",
    "algorithm": "string",
    "action": "string",
    "actionParameters": "string",
    "rule": "string",
    "executionPeriod": 0,
    "lastExecTimestamp": "2019-08-24T14:15:22Z",
    "activated": true,
    "inProgress": true
  }
}

DeviceEventWithRelations

Properties

Name Type Required Restrictions Description
id number false none Automatically generated ID
deviceId number true none ID of Device associated with Event
channelId number true none ID of Device associated with Event
eventRuleId number true none ID of EventRule triggered
severity string true none Event severity - Can be LOW / MEDIUM / HIGH
description string false none Event description
resolved boolean true none Set to true if Event has been resolved
viewedBy string true none Set to true if Event has been resolved
timestamp string(date-time) true none Event creation timestamp
resolutionTimestamp string(date-time) false none Event resolution timestamp
device DeviceWithRelations false none (Schema options: { includeRelations: true })
channel ChannelWithRelations false none (Schema options: { includeRelations: true })
eventRule EventRuleWithRelations false none (Schema options: { includeRelations: true })

DeviceGroupMembership

{
  "id": 0,
  "assetId": 0,
  "deviceId": 0
}

DeviceGroupMembership

Properties

Name Type Required Restrictions Description
id number false none Automatically generated ID
assetId number true none ID of Device associated with Asset
deviceId number true none ID of Device associated with Asset

DeviceGroupMembershipExcluding_id_

{
  "assetId": 0,
  "deviceId": 0
}

DeviceGroupMembershipExcluding_id_

Properties

Name Type Required Restrictions Description
assetId number true none ID of Device associated with Asset
deviceId number true none ID of Device associated with Asset

ChannelTypeExcluding_id-deviceTypeId_

{
  "name": "string",
  "category": "string",
  "description": "string",
  "unit": "string",
  "channelType": "string"
}

ChannelTypeExcluding_id-deviceTypeId_

Properties

Name Type Required Restrictions Description
name string true none ChannelType name
category string false none ChannelType category
description string false none ChannelType description
unit string false none Unit of measurement
channelType string true none Type of data: UNDEFINED / SPOT_VALUE / COUNTER / TEXT

ChannelTypeExcluding_name-description-unit-channelType-deviceTypeId_

{
  "id": 0,
  "category": "string"
}

ChannelTypeExcluding_name-description-unit-channelType-deviceTypeId_

Properties

Name Type Required Restrictions Description
id number false none Automatically generated ID
category string false none ChannelType category

ChannelTypeExcluding_id-name-deviceTypeId_

{
  "category": "string",
  "description": "string",
  "unit": "string",
  "channelType": "string"
}

ChannelTypeExcluding_id-name-deviceTypeId_

Properties

Name Type Required Restrictions Description
category string false none ChannelType category
description string false none ChannelType description
unit string false none Unit of measurement
channelType string true none Type of data: UNDEFINED / SPOT_VALUE / COUNTER / TEXT

DeviceType

{
  "id": 0,
  "model": "string",
  "description": "string",
  "manufacturer": "string",
  "category": "string"
}

DeviceType

Properties

Name Type Required Restrictions Description
id number false none Automatically generated ID
model string true none DeviceType model
description string false none DeviceType description
manufacturer string true none DeviceType manufacturer
category string false none DeviceType category

DeviceTypeExcluding_model-description-manufacturer_

{
  "id": 0,
  "category": "string"
}

DeviceTypeExcluding_model-description-manufacturer_

Properties

Name Type Required Restrictions Description
id number false none Automatically generated ID
category string false none DeviceType category

DeviceTypeExcluding_id-model-manufacturer_

{
  "description": "string",
  "category": "string"
}

DeviceTypeExcluding_id-model-manufacturer_

Properties

Name Type Required Restrictions Description
description string false none DeviceType description
category string false none DeviceType category

DeviceExcluding_id-dataLoggerId_

{
  "description": "string",
  "serialNo": "string",
  "deviceTypeId": 0
}

DeviceExcluding_id-dataLoggerId_

Properties

Name Type Required Restrictions Description
description string false none Device description
serialNo string true none Device serial number
deviceTypeId number false none none

Channel

{
  "id": 0,
  "monitor": true,
  "lastTimestamp": "2019-08-24T14:15:22Z",
  "status": "string",
  "deviceId": 0,
  "channelTypeId": 0
}

Channel

Properties

Name Type Required Restrictions Description
id number false none Automatically generated ID
monitor boolean true none Enable channel monitoring - data recording - by setting to true
lastTimestamp string(date-time) false none Timestamp
status string false none Channel Status
deviceId number true none ID of Device that Channel belongs to
channelTypeId number true none ID of ChannelType associated with Channel

ChannelExcluding_id-deviceId_

{
  "monitor": true,
  "lastTimestamp": "2019-08-24T14:15:22Z",
  "status": "string",
  "channelTypeId": 0
}

ChannelExcluding_id-deviceId_

Properties

Name Type Required Restrictions Description
monitor boolean true none Enable channel monitoring - data recording - by setting to true
lastTimestamp string(date-time) false none Timestamp
status string false none Channel Status
channelTypeId number true none ID of ChannelType associated with Channel

DeviceWithType

{
  "deviceType": {
    "id": 0,
    "model": "string",
    "description": "string",
    "manufacturer": "string",
    "category": "string"
  },
  "device": {
    "id": 0,
    "description": "string",
    "serialNo": "string",
    "dataLoggerId": 0,
    "deviceTypeId": 0
  }
}

DeviceWithType

Properties

Name Type Required Restrictions Description
deviceType DeviceType true none none
device Device true none none

DeviceExcluding_description-serialNo-dataLoggerId-deviceTypeId_

{
  "id": 0
}

DeviceExcluding_description-serialNo-dataLoggerId-deviceTypeId_

Properties

Name Type Required Restrictions Description
id number false none Automatically generated ID

DeviceExcluding_id-serialNo-dataLoggerId-deviceTypeId_

{
  "description": "string"
}

DeviceExcluding_id-serialNo-dataLoggerId-deviceTypeId_

Properties

Name Type Required Restrictions Description
description string false none Device description

Event

{
  "id": 0,
  "assetId": 0,
  "eventRuleId": 0,
  "severity": "string",
  "description": "string",
  "resolved": true,
  "timestamp": "2019-08-24T14:15:22Z",
  "resolutionTimestamp": "2019-08-24T14:15:22Z"
}

Event

Properties

Name Type Required Restrictions Description
id number false none Automatically generated ID
assetId number true none ID of Asset associated with Event
eventRuleId number true none ID of EventRule triggered
severity string true none Event severity - Can be LOW / MEDIUM / HIGH
description string false none Event description
resolved boolean true none Set to true if Event has been resolved
timestamp string(date-time) true none Event creation timestamp
resolutionTimestamp string(date-time) false none Event resolution timestamp

EventExcluding_id-resolved-timestamp-resolutionTimestamp_

{
  "assetId": 0,
  "eventRuleId": 0,
  "severity": "string",
  "description": "string"
}

EventExcluding_id-resolved-timestamp-resolutionTimestamp_

Properties

Name Type Required Restrictions Description
assetId number true none ID of Asset associated with Event
eventRuleId number true none ID of EventRule triggered
severity string true none Event severity - Can be LOW / MEDIUM / HIGH
description string false none Event description

EventRelatedDevice

{
  "id": 0,
  "deviceId": 0,
  "eventId": 0
}

EventRelatedDevice

Properties

Name Type Required Restrictions Description
id number false none Automatically generated ID
deviceId number true none ID of Device associated with Event
eventId number true none ID of Event

EventRelatedDeviceExcluding_id_

{
  "deviceId": 0,
  "eventId": 0
}

EventRelatedDeviceExcluding_id_

Properties

Name Type Required Restrictions Description
deviceId number true none ID of Device associated with Event
eventId number true none ID of Event

ResponseEventAssetEvents

{
  "event": {
    "id": 0,
    "assetId": 0,
    "eventRuleId": 0,
    "severity": "string",
    "description": "string",
    "resolved": true,
    "timestamp": "2019-08-24T14:15:22Z",
    "resolutionTimestamp": "2019-08-24T14:15:22Z"
  },
  "eventRelatedDevice": [
    {
      "id": 0,
      "deviceId": 0,
      "eventId": 0
    }
  ]
}

ResponseEventAssetEvents

Properties

Name Type Required Restrictions Description
event Event true none none
eventRelatedDevice [EventRelatedDevice] true none none

EventRule

{
  "id": 0,
  "description": "string",
  "scope": "string",
  "algorithm": "string",
  "action": "string",
  "actionParameters": "string",
  "rule": "string",
  "executionPeriod": 0,
  "lastExecTimestamp": "2019-08-24T14:15:22Z",
  "activated": true,
  "inProgress": true
}

EventRule

Properties

Name Type Required Restrictions Description
id number false none Automatically generated ID
description string false none Rule description
scope string true none Rule scope
algorithm string false none Event Detection Algorithm
action string true none Rule action
actionParameters string false none Rule action parameters
rule string false none JSON Rule
executionPeriod number false none EventRule execution period - seconds
lastExecTimestamp string(date-time) false none Last execution timestamp
activated boolean false none Is set to true when EventRule has been activated
inProgress boolean false none Is automaticaly set to true when EventRule is being processed

RequestEventRuleScope

{
  "deviceTypeCategory": "string",
  "channelTypeCategory": "string"
}

RequestEventRuleScope

Properties

Name Type Required Restrictions Description
deviceTypeCategory string true none deviceType.Category that rule aplies to
channelTypeCategory string true none channelType.Categoy that rule aplies to

RequestEventCreateRule

{
  "description": "string",
  "scope": [
    {
      "deviceTypeCategory": "string",
      "channelTypeCategory": "string"
    }
  ],
  "action": "string",
  "actionParameters": {}
}

RequestEventCreateRule

Properties

Name Type Required Restrictions Description
description string true none Rule description
scope [RequestEventRuleScope] true none none
action string true none Rule action
actionParameters object true none Action Parameters

EventRuleSubscription

{
  "id": 0,
  "executionPeriod": 0,
  "lastExecTimestamp": "string",
  "assetId": 0,
  "eventRuleId": 0,
  "ruleActivated": true
}

EventRuleSubscription

Properties

Name Type Required Restrictions Description
id number false none Automatically generated ID
executionPeriod number true none EventRule execution period - seconds
lastExecTimestamp string false none Last execution timestamp
assetId number true none ID of Asset subscribed to EventRule
eventRuleId number true none ID of associated EventRule
ruleActivated boolean true none Is set to true when EventRule has been activated

EventRuleSubscriptionExcluding_id-lastExecTimestamp_

{
  "executionPeriod": 0,
  "assetId": 0,
  "eventRuleId": 0,
  "ruleActivated": true
}

EventRuleSubscriptionExcluding_id-lastExecTimestamp_

Properties

Name Type Required Restrictions Description
executionPeriod number true none EventRule execution period - seconds
assetId number true none ID of Asset subscribed to EventRule
eventRuleId number true none ID of associated EventRule
ruleActivated boolean true none Is set to true when EventRule has been activated

UserSubscription

{
  "id": 0,
  "referenceCode": "string",
  "email": "string",
  "discount": 0,
  "creationTimestamp": "2019-08-24T14:15:22Z",
  "activationTimestamp": "2019-08-24T14:15:22Z",
  "endTimestamp": "2019-08-24T14:15:22Z",
  "hasRegistered": true,
  "externalId": "string",
  "subscriptionId": 0
}

UserSubscription

Properties

Name Type Required Restrictions Description
id number false none none
referenceCode string true none none
email string false none none
discount number true none none
creationTimestamp string(date-time) true none Timestamp
activationTimestamp string(date-time) false none Timestamp
endTimestamp string(date-time) false none Timestamp
hasRegistered boolean true none none
externalId string false none none
subscriptionId number true none ID of Subscription

SubscriptionWithRelations

{
  "id": 0,
  "product": "string",
  "type": "string",
  "description": "string",
  "duration": 0,
  "monthlyPrice": 0,
  "yearlyPrice": 0,
  "active": true,
  "externalId": "string",
  "featureList": "string",
  "userSubscriptions": [
    {
      "id": 0,
      "referenceCode": "string",
      "email": "string",
      "discount": 0,
      "creationTimestamp": "2019-08-24T14:15:22Z",
      "activationTimestamp": "2019-08-24T14:15:22Z",
      "endTimestamp": "2019-08-24T14:15:22Z",
      "hasRegistered": true,
      "externalId": "string",
      "subscriptionId": 0,
      "subscription": {
        "id": 0,
        "product": "string",
        "type": "string",
        "description": "string",
        "duration": 0,
        "monthlyPrice": 0,
        "yearlyPrice": 0,
        "active": true,
        "externalId": "string",
        "featureList": "string",
        "userSubscriptions": []
      }
    }
  ]
}

SubscriptionWithRelations

Properties

Name Type Required Restrictions Description
id number false none none
product string true none none
type string false none none
description string true none none
duration number true none none
monthlyPrice number true none none
yearlyPrice number true none none
active boolean true none none
externalId string false none none
featureList string false none none
userSubscriptions [UserSubscriptionWithRelations] false none [(tsType: UserSubscriptionWithRelations, schemaOptions: { includeRelations: true })]

UserSubscriptionWithRelations

{
  "id": 0,
  "referenceCode": "string",
  "email": "string",
  "discount": 0,
  "creationTimestamp": "2019-08-24T14:15:22Z",
  "activationTimestamp": "2019-08-24T14:15:22Z",
  "endTimestamp": "2019-08-24T14:15:22Z",
  "hasRegistered": true,
  "externalId": "string",
  "subscriptionId": 0,
  "subscription": {
    "id": 0,
    "product": "string",
    "type": "string",
    "description": "string",
    "duration": 0,
    "monthlyPrice": 0,
    "yearlyPrice": 0,
    "active": true,
    "externalId": "string",
    "featureList": "string",
    "userSubscriptions": [
      {
        "id": 0,
        "referenceCode": "string",
        "email": "string",
        "discount": 0,
        "creationTimestamp": "2019-08-24T14:15:22Z",
        "activationTimestamp": "2019-08-24T14:15:22Z",
        "endTimestamp": "2019-08-24T14:15:22Z",
        "hasRegistered": true,
        "externalId": "string",
        "subscriptionId": 0,
        "subscription": {}
      }
    ]
  }
}

UserSubscriptionWithRelations

Properties

Name Type Required Restrictions Description
id number false none none
referenceCode string true none none
email string false none none
discount number true none none
creationTimestamp string(date-time) true none Timestamp
activationTimestamp string(date-time) false none Timestamp
endTimestamp string(date-time) false none Timestamp
hasRegistered boolean true none none
externalId string false none none
subscriptionId number true none ID of Subscription
subscription SubscriptionWithRelations false none (tsType: SubscriptionWithRelations, schemaOptions: { includeRelations: true })

Subscription

{
  "id": 0,
  "product": "string",
  "type": "string",
  "description": "string",
  "duration": 0,
  "monthlyPrice": 0,
  "yearlyPrice": 0,
  "active": true,
  "externalId": "string",
  "featureList": "string"
}

Subscription

Properties

Name Type Required Restrictions Description
id number false none none
product string true none none
type string false none none
description string true none none
duration number true none none
monthlyPrice number true none none
yearlyPrice number true none none
active boolean true none none
externalId string false none none
featureList string false none none

CodeVerificationRequest

{
  "apiKey": "string",
  "referenceCode": "string",
  "userEmail": "string"
}

CodeVerificationRequest

Properties

Name Type Required Restrictions Description
apiKey string true none none
referenceCode string true none none
userEmail string true none none

PingResponse

{
  "greeting": "string",
  "date": "string",
  "url": "string",
  "headers": {
    "Content-Type": "string"
  }
}

PingResponse

Properties

Name Type Required Restrictions Description
greeting string false none none
date string false none none
url string false none none
headers object false none none
» Content-Type string false none none

Token

{
  "token": "string"
}

Token

Properties

Name Type Required Restrictions Description
token string true none Access Token

UserExcluding_id-email-isVirtual-roles-subscriptionReferenceCode_

{
  "username": "string",
  "passwd": "string"
}

UserExcluding_id-email-isVirtual-roles-subscriptionReferenceCode_

Properties

Name Type Required Restrictions Description
username string true none Username
passwd string false none Password

User

{
  "id": 0,
  "username": "string",
  "passwd": "string",
  "email": "string",
  "roles": [
    "string"
  ],
  "isVirtual": true,
  "subscriptionReferenceCode": "string"
}

User

Properties

Name Type Required Restrictions Description
id number false none Automatically generated ID
username string true none Username
passwd string false none Password
email string true none Email
roles [string] false none none
isVirtual boolean true none Automatically assigned flag to select if User is virtual or not
subscriptionReferenceCode string false none none

UserExcluding_id-username-isVirtual-roles-subscriptionReferenceCode_

{
  "passwd": "string",
  "email": "string"
}

UserExcluding_id-username-isVirtual-roles-subscriptionReferenceCode_

Properties

Name Type Required Restrictions Description
passwd string false none Password
email string true none Email

UserExcluding_passwd-email-roles-isVirtual-subscriptionReferenceCode_

{
  "id": 0,
  "username": "string"
}

UserExcluding_passwd-email-roles-isVirtual-subscriptionReferenceCode_

Properties

Name Type Required Restrictions Description
id number false none Automatically generated ID
username string true none Username

VirtualAccess

{
  "id": 0,
  "virtualRelationId": 0,
  "assetId": 0
}

VirtualAccess

Properties

Name Type Required Restrictions Description
id number false none Automatically generated ID
virtualRelationId number true none ID of VirtualRelation
assetId number true none ID of Asset associated with VirtualRelation

RequestVirtualAccessRightExcluding_assetGroupId_

{
  "userId": 0,
  "assetId": 0
}

RequestVirtualAccessRightExcluding_assetGroupId_

Properties

Name Type Required Restrictions Description
userId number true none Id of user to grant access to asset
assetId number false none Id of asset

RequestVirtualAccessRight

{
  "userId": 0,
  "assetId": 0,
  "assetGroupId": 0
}

RequestVirtualAccessRight

Properties

Name Type Required Restrictions Description
userId number true none Id of user to grant access to asset
assetId number false none Id of asset
assetGroupId number false none Id of asset group

RequestVirtualAccessRightExcluding_assetId_

{
  "userId": 0,
  "assetGroupId": 0
}

RequestVirtualAccessRightExcluding_assetId_

Properties

Name Type Required Restrictions Description
userId number true none Id of user to grant access to asset
assetGroupId number false none Id of asset group