/api/data
RESTFUL API specification defined here for custom data management related operations.
The following resources are applicable:
/data/{tableName}
The following operations are supported on this resource:
GET
This method returns the custom table definition in json or xml format.
Example: The following query using GET
matelive/api/data/TABLE1
returns the table definition that may look something like (in JSON format):
{
"tableDefinition": {
"name": "TABLE1"
"display": "TABLE1",
"columnsMetaData": [
{
"name": "name",
"dataType": "text",
"display": "col1",
"isKey": "true",
"isVisible": "true"
}
],
"seriesMetaData": [
{
"name": "tsName1",
"display": "tsName1",
"dataType": "int",
"freq": "HF",
"isVisible": "true"
}
]
]
}
}
Parameters
| name | description | type | default |
|---|---|---|---|
| tableName | name of the table | path |
Response Body
| element: | tableDefinition |
| media types: | text/plain application/json |
table definition
Status Codes
| HTTP Status Code | Description |
|---|---|
| 200 OK | OK; the resource was found |
| 400 Bad Request | bad or malformed request |
| 404 Not Found | the resource does not exist |
| 406 Not Acceptable | required representation is not supported by the server |
| 500 Internal Server Error | internal server error |
| 503 Service Unavailable | service is unavailable |
POST
This method creates a new table and returns the table name after created.
JSON Example: the following request using POST will create a table named TABLE1.
matelive/api/data/TABLE1
{
"name": "TABLE1",
"display" : "TABLE1",
"columnsMetaData": [
{
"name" : "col1",
"display" : "Col1",
"dataType" : "text",
"isKey" : "true",
"isVisible" : "true",
"customProperties" : [
{
"name" : "allowNull",
"value" : "yes"
}
]
}
],
"seriesMetaData": [
{
"name": "tsName1",
"display": "tsName1",
"freq": "LF",
"dataType": int
}
]
}
Request Body
| element: | json |
| media types: | text/plain application/json |
(no documentation provided)
Response Body
| element: | (custom) |
| media types: | */* application/xml |
returns table name
Status Codes
| HTTP Status Code | Description |
|---|---|
| 200 OK | OK; the resource was found |
| 400 Bad Request | bad or malformed request |
| 404 Not Found | the resource does not exist |
| 406 Not Acceptable | required representation is not supported by the server |
| 500 Internal Server Error | internal server error |
| 503 Service Unavailable | service is unavailable |
PUT
This method adds a column or columns to an existing custom table.
JSON Example: the following request using PUT will add two time series columns into TABLE1.
matelive/api/data/TABLE1
seriesMetaData": [
{
"name": "tsName4",
"display": "tsName4",
"dataType": "int",
"isVisible": "false",
"freq": "LF",
"customProperties": {
"name": "allowNull",
"value": "true"
}
},
{
"name": "tsName5",
"display": "tsName5",
"dataType": "int",
"isVisible": "false",
"freq": "HF"
}
]
Parameters
| name | description | type | default |
|---|---|---|---|
| tableName | name of the table to add columns into | path |
Request Body
| element: | json |
| media types: | text/plain application/json |
(no documentation provided)
Response Body
| element: | (custom) |
| media types: | */* application/xml |
returns table name
Status Codes
| HTTP Status Code | Description |
|---|---|
| 200 OK | OK; the resource was found |
| 400 Bad Request | bad or malformed request |
| 404 Not Found | the resource does not exist |
| 406 Not Acceptable | required representation is not supported by the server |
| 500 Internal Server Error | internal server error |
| 503 Service Unavailable | service is unavailable |
DELETE
This method deletes the table.
Example: The following query using DELETE
matelive/api/data/TABLE1
deletes the table named TABLE1.
Parameters
| name | description | type | default |
|---|---|---|---|
| tableName | name of the table to be dropped | path |
Response Body
| element: | (custom) |
| media types: | */* application/xml |
returns table name
Status Codes
| HTTP Status Code | Description |
|---|---|
| 200 OK | OK; the resource was found |
| 400 Bad Request | bad or malformed request |
| 404 Not Found | the resource does not exist |
| 406 Not Acceptable | required representation is not supported by the server |
| 500 Internal Server Error | internal server error |
| 503 Service Unavailable | service is unavailable |
/data/{tableName}/{columnName}/status
PUT
This method activates or deactivates a column in the existing custom table.
Example: The following query using PUT
matelive/api/data/TABLE1/col1/status?isActive=false
deactivates the column col1 in TABLE1.
Parameters
| name | description | type | default |
|---|---|---|---|
| tableName | name of the table to be updated | path | |
| columnName | name of the column to activate or deactivate | path | |
| isActive | true to activate or false to deactivate | query |
Response Body
| element: | (custom) |
| media types: | */* application/xml |
returns table name
Status Codes
| HTTP Status Code | Description |
|---|---|
| 200 OK | OK; the resource was found |
| 400 Bad Request | bad or malformed request |
| 404 Not Found | the resource does not exist |
| 406 Not Acceptable | required representation is not supported by the server |
| 500 Internal Server Error | internal server error |
| 503 Service Unavailable | service is unavailable |
/data/{tableName}/import
POST
This method imports data into the custom table.
Example: The following query with POST
matelive/api/data/TABLE1/import
with multipart/form as input parameter which has 3 input elements:
1. Optional input element 'time' to specify the timestamp to update data. Format of the timestamp should be 'yyyy-MM-dd HH:mm:ss';
2. Optional input element 'update' - this input element with any string value indicates the POST request is to modify existing data;
3. Required input element 'attachment' which has data attached to be inserted into or updated TABLE1
Below is an example of data in the attached file:
ts name col2 tsName1 2013-01-01 10:00:00 nodeA-B-C 5 3 2013-01-01 10:15:00 nodeA-B-C 5 13 2013-01-01 10:15:00 nodeD-B-C 6 4 2013-01-01 10:30:00 nodeE-B-C 7 2 2013-01-01 10:45:00 nodeE-B-C 7 10
Below is an example of data in the attached file with 'update' set to a string, (e.g., UPDATE), to modify the value in tsName3:
ts name tsName3 2013-01-01 10:15:00 nodeA-B-C 73
Parameters
| name | description | type | default |
|---|---|---|---|
| tableName | name of the table for data to be imported | path |
Request Body
| element: | input |
| media types: | multipart/form-data |
content of the input file
Response Body
| element: | (custom) |
| media types: | */* application/xml |
returns Job ID which could be used to track the data import status
Status Codes
| HTTP Status Code | Description |
|---|---|
| 200 OK | OK; the resource was found |
| 400 Bad Request | bad or malformed request |
| 404 Not Found | the resource does not exist |
| 406 Not Acceptable | required representation is not supported by the server |
| 500 Internal Server Error | internal server error |
| 503 Service Unavailable | service is unavailable |