Returns a list of all metrics belonging to a thing template as per the specified criteria. This API is paginated and returns 20 metrics by default. An metric is uniquely identified by an 'metric_key'. This key should be used in all the other API referencing a particular metric.
| Param name | Description | 
|---|---|
| 
      thing_template_key  optional  | 
    
      
 Key of thing template for which metrics to be fetched. This field is required Value: Must be a String  | 
  
| 
      page  optional  | 
    
      
 Page number of results to be fetched, Default 1 Value: Must be Integer.  | 
  
| 
      per  optional  | 
    
      
 Number of metrics to be returned in one page, Default 20 Value: Must be Integer.  | 
  
| 
      order_by  optional  | 
    
      
 Field on which metrics should be sorted Value: Must be a String  | 
  
| 
      order  optional  | 
    
      
 Order, “asc” or “desc”, in which results should be sorted Value: Must be a String  | 
  
| 
      search  optional  | 
    
      
 Keywords based on which metrics should be searched. Currently you can search metrics on - metric_key, name, tags or user_defined_properties Value: Must be a String  | 
  
| 
      scope  optional  | 
    
      
 Matching condition if multiple keywords are specified for search. Valid values are “all” or “any”. Default is “all” Value: Must be a String  | 
  
| 
      timestamp_format  optional  | 
    
      
 Format, “str” or “int”, in which timestamps should be returned, Default “int” Value: Must be a String  | 
  
| 
      pretty  optional  | 
    
      
 Return a pretty formatted response if true, Default is false Value: Must be a Boolean  | 
  
| 
      field_list  optional  | 
    
      
 List of fields required in the result. Value: Must be an array of any type  | 
  
| 
      is_oem  optional  | 
    
      
 Returns metrics of child accounts if is_oem flag is true. Value: Must be one of: <code>true</code>, <code>false</code>, <code>true</code>, <code>false</code>.  | 
  
Request - listing all metrics belonging to a thing template without any criteria
  curl -X GET -H "Content-Type:application/json" -H "X-Auth-Token:olezAZXGQn9MutnfNerKDQ" -d '{"thing_template_key":"af31ae5fb2"}' https://api.datonis.io/api/v3/metrics
Response (returns first 20 records)
{
  "total_count": 4,
  "page": 1,
  "metrics": [
    {
      "abbreviation": "capacity",
      "created_at": 1448364456,
      "data_type": 0,
      "description": "Metric for thing template Washing Machine",
      "metric_key": "4f9b9764t7",
      "name": "capacity",
      "unit_of_measure": "kilogram",
      "updated_at": 1448364456,
      "treatments": [
      ],
      "thing_template_key": "af31ae5fb2"
    },
    {
      "abbreviation": "speed",
      "created_at": 1448364456,
      "data_type": 0,
      "description": "Metric for thing template Washing Machine",
      "metric_key": "4tb363cc88",
      "name": "maximum_rotational_speed",
      "unit_of_measure": "RPM",
      "updated_at": 1448364456,
      "treatments": [
      ],...
    Request - listing metrics belonging to a thing template by specifying number of metrics to be returned at a time (page size) and specific set to be returned (page)
  curl -X GET -H "Content-Type:application/json" -H "X-Auth-Token:olezAZXGQn9MutnfNerKDQ" -d '{"thing_template_key":"af31ae5fb2","per":"2","page":"2"}' https://api.datonis.io/api/v3/metrics
Response (returns page 2 with 2 metrics per page)
{
  "total_count": 4,
  "page": "2",
  "metrics": [
    {
      "abbreviation": "noise",
      "created_at": 1448364456,
      "data_type": 0,
      "description": "Metric for thing template Washing Machine",
      "metric_key": "278t29123d",
      "name": "noise_level",
      "unit_of_measure": "dB",
      "updated_at": 1448364456,
      "treatments": [
      ],
      "thing_template_key": "af31ae5fb2"
    },
    {
      "abbreviation": "voltage",
      "created_at": 1448364457,
      "data_type": 0,
      "description": "Metric for thing template Washing Machine",
      "metric_key": "492c52bf56",
      "name": "voltage",
      "unit_of_measure": "volt",
      "updated_at": 1448364457,
      "treatments": [
      ],
     ...
    Request - listing metrics belonging to a thing template ordered by a field with string formatted timestamps
  curl -X GET -H "Content-Type:application/json" -H "X-Auth-Token:olezAZXGQn9MutnfNerKDQ" -d '{"thing_template_key":"af31ae5fb2","timestamp_format":"str","order_by":"name","order":"desc"}' https://api.datonis.io/api/v3/metrics
Response (returns metrics in the reverse order of their name and timestamps in string format)
{
  "total_count": 4,
  "page": 1,
  "metrics": [
    {
      "abbreviation": "voltage",
      "created_at": "2015/11/24 11:27:37",
      "data_type": 0,
      "description": "Metric for thing template Washing Machine",
      "metric_key": "492c52bf56",
      "name": "voltage",
      "unit_of_measure": "volt",
      "updated_at": "2015/11/24 11:27:37",
      "treatments": [
      ],
      "thing_template_key": "af31ae5fb2"
    },
    {
      "abbreviation": "noise",
      "created_at": "2015/11/24 11:27:36",
      "data_type": 0,
      "description": "Metric for thing template Washing Machine",
      "metric_key": "278t29123d",
      "name": "noise_level",
      "unit_of_measure": "dB",
      "updated_at": "2015/11/24 11:27:36",
     ...
    Request - listing metrics belonging to a thing template based on some search criteria with all keywords matching
  curl -X GET -H "Content-Type:application/json" -H "X-Auth-Token:olezAZXGQn9MutnfNerKDQ" -d '{"thing_template_key":"af31ae5fb2","search":"capacity level"}' https://api.datonis.io/api/v3/metrics
Response (returns metrics containing both keywords 'capacity' as well as 'level')
{
  "total_count": 0,
  "page": 1,
  "metrics": [
  ]
}
    Request - listing metrics belonging to a thing template based on some search criteria with any of the keywords matching
  curl -X GET -H "Content-Type:application/json" -H "X-Auth-Token:olezAZXGQn9MutnfNerKDQ" -d '{"thing_template_key":"af31ae5fb2","search":"capacity level","scope":"any"}' https://api.datonis.io/api/v3/metrics
Response (returns metrics containing either of the keywords 'capacity' or 'level')
{
  "total_count": 2,
  "page": 1,
  "metrics": [
    {
      "abbreviation": "capacity",
      "created_at": 1448364456,
      "data_type": 0,
      "description": "Metric for thing template Washing Machine",
      "metric_key": "4f9b9764t7",
      "name": "capacity",
      "unit_of_measure": "kilogram",
      "updated_at": 1448364456,
      "treatments": [
      ],
      "thing_template_key": "af31ae5fb2"
    },
    {
      "abbreviation": "noise",
      "created_at": 1448364456,
      "data_type": 0,
      "description": "Metric for thing template Washing Machine",
      "metric_key": "278t29123d",
      "name": "noise_level",
      "unit_of_measure": "dB",
      "updated_at": 1448364456,
      "treatments": [
      ],
      "thing_template_key": "af31ae5fb2"
    }
  ]
}
    Creates an metric with given parameters
| Param name | Description | 
|---|---|
| 
      metric  required  | 
    
      
 Map containing details of the metric to be created, This map must contain thing_template_key Value: Must be a Hash  | 
  
| 
      pretty  optional  | 
    
      
 Return a pretty formatted response if true, Default is false Value: Must be a Boolean  | 
  
| 
      is_oem  optional  | 
    
      
 Create metric in child account by oem user if is_oem flag is true. Value: Must be a Boolean  | 
  
| 
      child_organisation_key  optional  | 
    
      
 Organisation key of child account where oem user wants to create metric. Required field if is_oem is present. Value: Must be a String  | 
  
Request
  curl -X POST -H "Content-Type:application/json" -H "X-Auth-Token:olezAZXGQn9MutnfNerKDQ"  -d '{"metric":{"name":"capacity","abbreviation":"capacity","description":"Metric for thing template Washing Machine","data_type":0,"unit_of_measure":"kilogram","thing_template_key":"af31ae5fb2"}}' https://api.datonis.io/api/v3/metrics
Response (containing details of the metric created)
{
  "metric": {
    "abbreviation": "capacity",
    "created_at": 1448364456,
    "data_type": 0,
    "description": "Metric for thing template Washing Machine",
    "metric_key": "4f9b9764t7",
    "name": "capacity",
    "unit_of_measure": "kilogram",
    "updated_at": 1448364456,
    "treatments": [
    ],
    "thing_template_key": "af31ae5fb2"
  }
}
    Get details of an metric
| Param name | Description | 
|---|---|
| 
      pretty  optional  | 
    
      
 Return a pretty formatted response if true, Default is false Value: Must be a Boolean  | 
  
| 
      is_oem  optional  | 
    
      
 Show metric of child account if is_oem flag is true. Value: Must be one of: <code>true</code>, <code>false</code>, <code>true</code>, <code>false</code>.  | 
  
Request
  curl -X GET -H "Content-Type:application/json" -H "X-Auth-Token:olezAZXGQn9MutnfNerKDQ"  https://api.datonis.io/api/v3/metrics/4f9b9764t7
Response (containing details of the metric)
{
  "metric": {
    "abbreviation": "capacity",
    "created_at": 1448364456,
    "data_type": 0,
    "description": "Metric for thing template Washing Machine",
    "metric_key": "4f9b9764t7",
    "name": "capacity",
    "unit_of_measure": "kilogram",
    "updated_at": 1448364456,
    "treatments": [
    ],
    "thing_template_key": "af31ae5fb2"
  }
}
    Updates an metric with given parameters
| Param name | Description | 
|---|---|
| 
      metric  required  | 
    
      
 Map containing details of the metric to be updated Value: Must be a Hash  | 
  
| 
      pretty  optional  | 
    
      
 Return a pretty formatted response if true, Default is false Value: Must be a Boolean  | 
  
| 
      is_oem  optional  | 
    
      
 Update metric in child account by oem user if is_oem flag is true. Value: Must be a Boolean  | 
  
| 
      child_organisation_key  optional  | 
    
      
 Organisation key of child account where oem user wants to update metric. Required field if is_oem is present. Value: Must be a String  | 
  
Request
  curl -X PUT -H "Content-Type:application/json" -H "X-Auth-Token:olezAZXGQn9MutnfNerKDQ"  -d '{"metric":{"unit_of_measure":"kg"}}' https://api.datonis.io/api/v3/metrics/4f9b9764t7
Response (containing details of the metric updated)
{
  "metric": {
    "abbreviation": "capacity",
    "created_at": 1448364456,
    "data_type": 0,
    "description": "Metric for thing template Washing Machine",
    "metric_key": "4f9b9764t7",
    "name": "capacity",
    "unit_of_measure": "kg",
    "updated_at": 1448428909,
    "treatments": [
    ],
    "thing_template_key": "af31ae5fb2"
  }
}
    Deletes an metric from the system
| Param name | Description | 
|---|---|
| 
      pretty  optional  | 
    
      
 Return a pretty formatted response if true, Default is false Value: Must be a Boolean  | 
  
| 
      is_oem  optional  | 
    
      
 Delete metric in child account by oem user if is_oem flag is true. Value: Must be a Boolean  | 
  
Request
  curl -X DELETE -H "Content-Type:application/json" -H "X-Auth-Token:olezAZXGQn9MutnfNerKDQ"  https://api.datonis.io/api/v3/metrics/4f9b9764t7
Response
{
}
    Creates treatments with given parameters
| Param name | Description | 
|---|---|
| 
      treatments  required  | 
    
      
 Map containing details of the treatments to be created Value: Must be a Hash  | 
  
| 
      pretty  optional  | 
    
      
 Return a pretty formatted response if true, Default is false Value: Must be a Boolean  | 
  
| 
      is_oem  optional  | 
    
      
 Add treatment in child account by oem user if is_oem flag is true. Value: Must be a Boolean  | 
  
Request
  curl -X POST -H "Content-Type:application/json" -H "X-Auth-Token:olezAZXGQn9MutnfNerKDQ"  -d '{"treatments":{"RangeTreatment":{"_type":"Range","min":2,"max":10,"off_limit_treatment":0},"DerivedTreatment":{"_type":"DerivedTreatment","expression":"$event.data.metric_name * 3"}}}' https://api.datonis.io/api/v3/metrics/4f9b9764t7/add_treatments
Response (containing details of the metric added treatment)
{
  "metric": {
    "abbreviation": "capacity",
    "created_at": 1448364456,
    "data_type": 0,
    "description": "Metric for thing template Washing Machine",
    "metric_key": "4f9b9764t7",
    "name": "capacity",
    "unit_of_measure": "kilogram",
    "updated_at": 1448364456,
    "treatments": {
      "{\"RangeTreatment\"=>{\"_type\"=>\"Range\", \"min\"=>2, \"max\"=>10, \"off_limit_treatment\"=>0}, \"DerivedTreatment\"=>{\"_type\"=>\"DerivedTreatment\", \"expression\"=>\"$event.data.metric_name * 3\"}}": null
    },
    "thing_template_key": "af31ae5fb2"
  }
}
    Updates treatments belonging to this given metric with given parameters
| Param name | Description | 
|---|---|
| 
      treatments  required  | 
    
      
 Map containing details of the treatments to be updated Value: Must be a Hash  | 
  
| 
      pretty  optional  | 
    
      
 Return a pretty formatted response if true, Default is false Value: Must be a Boolean  | 
  
| 
      is_oem  optional  | 
    
      
 Update treatment in child account by oem user if is_oem flag is true. Value: Must be a Boolean  | 
  
| 
      child_organisation_key  optional  | 
    
      
 Organisation key of child account where oem user wants to update treatment. Required field if is_oem is present. Value: Must be a String  | 
  
Request
  curl -X PUT -H "Content-Type:application/json" -H "X-Auth-Token:olezAZXGQn9MutnfNerKDQ"  -d '{"treatments":{"RangeTreatment":{"_type":"Range","min":2,"max":10,"off_limit_treatment":0},"DerivedTreatment":{"_type":"DerivedTreatment","expression":"$event.data.metric_name * 3"}}}' https://api.datonis.io/api/v3/metrics/4f9b9764t7/update_treatments
Response (containing details of the metric updated)
{
  "metric": {
    "abbreviation": "capacity",
    "created_at": 1448364456,
    "data_type": 0,
    "description": "Metric for thing template Washing Machine",
    "metric_key": "4f9b9764t7",
    "name": "capacity",
    "unit_of_measure": "kg",
    "updated_at": 1448428909,
    "treatments": "{\"treatments\":{ \"RangeTreatment\" : {\"_type\" : \"Range\", \"min\" : 2, \"max\" : 10, \"off_limit_treatment\" : 0}, \"DerivedTreatment\" : {\"_type\" : \"DerivedTreatment\", \"expression\" : \"$event.data.metric_name * 3\"}}}",
    "thing_template_key": "af31ae5fb2"
  }
}
    Deletes treatments belonging to given metric from the system
| Param name | Description | 
|---|---|
| 
      pretty  optional  | 
    
      
 Return a pretty formatted response if true, Default is false Value: Must be a Boolean  | 
  
| 
      treatment_keys  required  | 
    
      
 Array containing treatment keys to be deleted Value: Must be an array of any type  | 
  
| 
      is_oem  optional  | 
    
      
 Delete treatments in child account by oem user if is_oem flag is true. Value: Must be a Boolean  | 
  
Request
  curl -X DELETE -H "Content-Type:application/json" -H "X-Auth-Token:olezAZXGQn9MutnfNerKDQ" -d '{"treatment_keys":["123456","125896"]}' https://api.datonis.io/api/v3/metrics/4f9b9764t7/delete_treatments
Response
{
}