In this document, we detail the ADMIN RESTful API v1 of COHORTE platform as well as the web admin interface built on the top of this API.
Web Admin

Admin REST API v1
API endpoints
Detail of REST APIs
APIV1-001 : GET the list of all Nodes
- URL:
http://myhost:port/admin/api/v1/nodes
- Supported request methods:
GET
- Response format:
json
- Requires authentication?:
not required
- Response:
Field | Type | Description |
meta | Map | meta-information about the response |
+ code | Integer | Return code |
+ count | Integer | Number of results |
nodes | Array | Array of information about the nodes |
+ uid | String | Node UID |
+ name | String | Node Name |
{
"meta": {
"code": 200,
"count": 2
},
"nodes": [
{
"uid": "56e5b100-c8a2-4bd8-a818-30edaf9a8fe9",
"name": "central"
},
{
"uid": "acfd6479-f29f-4bf0-ae4d-acd681e3a531",
"name": "raspberry-pi-1"
}
]
}
APIV1-002 : GET the list of all Isolates
- URL:
http://myhost:port/admin/api/v1/isolates
- Supported request methods:
GET
- Response format:
json
- Requires authentication?:
not required
- Response:
Field | Type | Description |
meta | Map | meta-information about the response |
+ code | Integer | Return code |
+ lastupdate | Float | Last update time of the actual isolates list |
+ count | Integer | Number of results |
isolates | Array | Array of information about the isolates |
+ uid | String | Isolate UID |
+ name | String | Isolate Name |
+ node_uid | String | Node UID |
+ node_name | String | Node Name |
{
"meta": {
"code": 200,
"lastupdate": 1411979225.65,
"count": 2
},
"isolates": [
{
"uid": "50684926acb4387d0f007ced",
"name": "webadmin-isolate",
"node_uid": "41110b1d-b510-4e51-9945-a752da04a16d",
"node_name": "central"
},
{
"uid": "03ff839a-df24-4bdf-b734-9fac1c886c65",
"name": "spellcheck-isolate",
"node_uid": "41110b1d-b510-4e51-9945-a752da04a16d",
"node_name": "central"
}
]
}
APIV1-003 : GET the list of all Components
- URL:
http://myhost:port/admin/api/v1/components
- Supported request methods:
GET
- Response format:
json
- Requires authentication?:
not required
- Response:
Field | Type | Description |
meta | Map | meta-information about the response |
+ code | Integer | Return code |
+ count | Integer | Number of results |
components | Array | Array of information about the components |
+ name | String | Component name |
+ factory | String | Component Factory |
+ language | String | Programming language |
+ isolate_uid | String | Isolate UID |
+ isolate_name | String | Isolate Name |
{
"meta": {
"code": 200,
"count": 2
},
"components": [
{
"name": "spell_check_client",
"factory": "spell_check_client_factory",
"language": "python",
"isolate_uid": "03ff839a-df24-4bdf-b734-9fac1c886c65",
"isolate_name": "spellcheck-isolate"
},
{
"name": "spell_dictionray_FR",
"factory": "spell_dictionary_FR_factory",
"language": "python",
"isolate_uid": "03ff839a-df24-4bdf-b734-9fac1c886c65",
"isolate_name": "spellcheck-isolate"
}
]
}
APIV1-050 : GET Node detail
- URL:
http://myhost:port/admin/api/v1/nodes/56e5b100-c8a2-4bd8-a818-30edaf9a8fe9
- Supported request methods:
GET
- Response format:
json
- Requires authentication?:
not required
- Response:
Field | Type | Description |
meta | Map | meta-information about the response |
+ code | Integer | Return code |
+ node | String | Node UID |
node | Map | General informations about the wanted Node |
+ name | String | Node name |
+ nbr_isolates | Integer | Number of Isolates |
{
"meta": {
"node": "41110b1d-b510-4e51-9945-a752da04a16d",
"code": 200
},
"node": {
"name": "central",
"nbr_isolates": 3
}
}
APIV1-051 : GET Isolate detail
- URL:
http://myhost:port/admin/api/v1/isolates/50684926acb4387d0f007ced
- Supported request methods:
GET
- Response format:
json
- Requires authentication?:
not required
- Response:
Field | Type | Description |
meta | Map | meta-information about the response |
+ code | Integer | Return code |
+ isolate | String | Isolate UID |
isolate | Map | General informations about the wanted Node |
+ name | String | Isolate name |
+ type | String | Type of this isolate:
- cohorte-isolate
- app-dynamic-isolate
|
+ nbr_components | Integer | Number of components in this isolate |
+ node_uid | String | Isolate's Node UID |
+ node_name | String | Isolate's Node name |
+ http_access | String | Isolate's HTTP Service access |
+ http_port | integer | Isolate's HTTP Service port |
+ shell_port | integer | Isolate's Remote shell port |
{
"meta": {
"isolate": "50684926acb4387d0f007ced",
"code": 200
},
"isolate": {
"name": "webadmin-isolate",
"type": "cohorte-isolate",
"nbr_components": 3,
"node_uid": "41110b1d-b510-4e51-9945-a752da04a16d",
"node_name": "central",
"http_access" : "10.130.1.97",
"http_port" : 9500,
"shell_port" : 9501
}
}
APIV1-052 : GET Component detail
- URL:
http://myhost:port/admin/api/v1/components/spell_check_client
- Supported request methods:
GET
- Response format:
json
- Requires authentication?:
not required
- Response:
Field | Type | Description |
meta | Map | meta-information about the response |
+ code | Integer | Return code |
+ component | String | Component name |
component | Map | General informations about the wanted Component |
+ factory | String | Component Factory name |
+ language | String | Programming language |
+ isolate_uid | String | Isolate UID |
+ isolate_name | String | Isolate name |
+ bundle_name | String | Bundle name |
+ bundle_version | String | Bundle version |
+ properties | Map | Component properties |
{
"meta": {
"component": "spell_check_client",
"code": 200
},
"node": {
"name": "spell_check_client",
"factory": "spell_check_client_factory",
"language": "python",
"isolate_uid": "03ff839a-df24-4bdf-b734-9fac1c886c65",
"isolate_name": "spellcheck-isolate"
"bundle_name": "spellchecker.spell_check"
"bundle_version": "1.0.0"
"properties": {
"prop1": "value1",
"prop2": "value2",
}
}
}
APIV1-100 : Get Isolates of one particular Node
- URL:
http://myhost:port/admin/api/v1/nodes/56e5b100-c8a2-4bd8-a818-30edaf9a8fe9/isolates
- Supported request methods:
GET
- Response format:
json
- Requires authentication?:
not required
- Response:
Field | Type | Description |
meta | Map | meta-information about the response |
+ code | Integer | Return code |
+ node | String | Node name |
+ count | Integer | Number of results |
isolates | Array | Array of isolates of the wanted Node |
+ uid | String | Isolate UID |
+ name | String | Isolate name |
{
"meta": {
"node": "41110b1d-b510-4e51-9945-a752da04a16d",
"code": 200,
"count": 2
},
"isolates": [
{
"uid": "50684926acb4387d0f007ced",
"name": "webadmin-isolate"
},
{
"uid": "03ff839a-df24-4bdf-b734-9fac1c886c65",
"name": "spellcheck-isolate"
}
]
}
APIV1-101 : Get Components of one particular Isolate
- URL:
http://myhost:port/admin/api/v1/isolates/50684926acb4387d0f007ced/components
- Supported request methods:
GET
- Response format:
json
- Requires authentication?:
not required
- Response:
Field | Type | Description |
meta | Map | meta-information about the response |
+ code | Integer | Return code |
+ isolate | String | Isolate UID |
+ count | Integer | Number of results |
components | Array | Array of components of the wanted Isolate |
+ name | String | Component name |
+ factory | String | Component Factory name |
+ language | String | Component implementation language |
{
"meta": {
"isolate": "50684926acb4387d0f007ced",
"code": 200,
"count": 3
},
"components": [
{
"name": "spell_dictionary_FR",
"factory": "spell_dictionary_FR_factory",
"language": "python"
},
{
"name": "spell_check",
"factory": "spell_check_factory",
"language": "python"
},
{
"name": "spell_client",
"factory": "spell_client_factory",
"language": "python"
}
]
}
APIV1-150 : Kill all nodes
- URL:
http://myhost:port/admin/api/v1/nodes/kill
- Supported request methods:
GET
- Response format:
json
- Requires authentication?:
not required
- Response:
{
"meta": {
"code": 200
},
"status": {
"code": 0,
"description": "All nodes successfully destroyed"
}
}
APIV1-151 : Kill node
- URL:
http://myhost:port/admin/api/v1/nodes/56e5b100-c8a2-4bd8-a818-30edaf9a8fe9/kill
- Supported request methods:
GET
- Response format:
json
- Requires authentication?:
not required
- Response:
Field | Type | Description |
meta | Map | meta-information about the response |
+ code | Integer | Return code |
+ node | String | Node name |
+ count | Integer | Number of results |
isolates | Array | Array of isolates of the wanted Node |
+ uid | String | Isolate UID |
+ name | String | Isolate name |
{
"meta": {
"node": "56e5b100-c8a2-4bd8-a818-30edaf9a8fe9",
"code": 200
},
"status": {
"code": 0,
"description": "Node successfully destroyed"
}
}
APIV1-152 : Kill isolate
- URL:
http://myhost:port/admin/api/v1/isolates/41110b1d-b510-4e51-9945-a752da04a16d/kill
- Supported request methods:
GET
- Response format:
json
- Requires authentication?:
not required
- Response:
Field | Type | Description |
meta | Map | meta-information about the response |
+ code | Integer | Return code |
+ node | String | Node name |
+ count | Integer | Number of results |
isolates | Array | Array of isolates of the wanted Node |
+ uid | String | Isolate UID |
+ name | String | Isolate name |
{
"meta": {
"isolate": "41110b1d-b510-4e51-9945-a752da04a16d",
"code": 200
},
"status": {
"code": 0,
"description": "Isolate successfully destroyed"
}
}