Eniris API documentation
This document provides an brief overview of available endpoints and their parameters. The API is a basic REST API. The API accepts JSON as request body (not form data, just plain JSON).
Introduction
To be able to authenticate to the Eniris API it is required you have an open API account. To login you need a valid email address and password. When the credentials are valid, a web-token will be generated which will then be required for subsequent calls to the api. If the token expires, an error message will be returned, which therefore means you have to request a new token with the original login-credentials.
Base URL
The base URL of the API is:
https://api.eniris.be/
Rate limiting
If you receive an error “Too many requests”, it means that you have exceeded rate limiter limits.
Authentication endpoints
The authentication endpoints include the only endpoints in the API for which no authorization header is required to access them.
POST login
https://api.eniris.be/auth/login
{
"credentials": {
"username": string,
"password": string
}
}
X-Authorization: Bearer {token}
POST logout
https://api.eniris.be/auth/logout
User Management
POST user/updatePassword
https://api.eniris.be/user/updatePassword
{
"oldPassword": string,
"newPassword": string,
"refreshSalt": boolean,
"generateToken": boolean
}
Role Management
GET role/getAll
https://api.eniris.be/role/getAll
POST role/create
https://api.eniris.be/role/create
{
"authRoleId": number,
"role": {name: string, roleManagement: boolean, userManagement: boolean, viewManagement: boolean, accessRightManagement: boolean, deviceManagement: boolean},
"manages": {parentRoleId: number, roleManagement: boolean, userManagement: boolean, viewManagement: boolean, accessRightManagement: boolean, deviceManagement: boolean}
}
POST role/update
https://api.eniris.be/role/update
{
"authRoleId": number,
"role": {name: string, roleManagement: boolean, userManagement: boolean, viewManagement: boolean, accessRightManagement: boolean, deviceManagement: boolean}
}
View Management
GET view/getAllWithoutContent
https://api.eniris.be/view/getAllWithoutContent
GET view/get
https://api.eniris.be/view/get
{
"viewId": ""
}
{
"id": "",
"name": "",
"content: ""
}
POST view/create
https://api.eniris.be/view/create
{
"view": {name: string, content: string},
"views": {roleId: number}
}
{
"view": {
"id": "",
"name": "",
"content": ""
},
"views": {
"id": "",
"roleId": "",
"viewId": "",
"viewerManagement": "",
"edits": ""
}
}
POST view/update
https://api.eniris.be/view/update
{
"view": ""
}
{
"id": "",
"name": "",
"content": ""
}
Device Management
GET device/getAll
https://api.eniris.be/device/getAll
{
"viewId": ""
}
{
"device": Array of devices
}
POST device/create
https://api.eniris.be/device/create
{
"device": any,
"monitors": {"roleId": number, "reads": string[], "edits": string[]}
}
POST device/update
https://api.eniris.be/device/update
{
"device": any
}
Access Management
GET accessRight/getAll
https://api.eniris.be/accessRight/getAll
POST accessRight/create
https://api.eniris.be/accessRight/create
{
"authRoleId": "",
"accessRight": "",
"allows": ""
}
POST accessRight/update
https://api.eniris.be/accessRight/update
{
"authRoleId": "",
"accessRight": ""
}
Report Management
GET report/getAll
https://api.eniris.be/report/getAll
{
"viewId": ""
}
POST report/create
https://api.eniris.be/report/create
{
"authRoleId": "",
"report": "",
"reports": ""
}
{
"report": {
"id": "",
"url": "",
"period": "",
"delay": "",
"emails": ""
},
"reports": {
"id": "",
"viewId": "",
"reportId": ""
}
}
POST report/update
https://api.eniris.be/report/update
{
"authRoleId": "",
"report": ""
}
{
"id": "",
"url": "",
"period": "",
"delay": "",
"emails": ""
}
POST report/delete
https://api.eniris.be/report/delete
{
"authRoleId": "",
"report": ""
}
Member Management
GET memberOf/getAll
https://api.eniris.be/memberOf/getAll
{
"memberOf" :
{"id": "",
"userEmail": "",
"roleId": "",
"expirationTs": ""
}
}
POST memberOf/create
https://api.eniris.be/memberOf/create
{
"memberOf": {"userEmail": string, "roleId": number, "expirationTs": number},
"options": {"layout": string}
}
{
"memberOf" :
{
"id": "",
"userEmail": "",
"roleId": "",
"expirationTs": ""
}
}
POST memberOf/update
https://api.eniris.be/memberOf/update
{
"memberOf": {"id": number, "expirationTs": number}
}
{
"memberOf" :
{
"id": "",
"userEmail": "",
"roleId": "",
"expirationTs": ""
}
}
POST memberOf/delete
https://api.eniris.be/memberOf/delete
{
"memberOf": {"id": number}
}
Views Management
GET views/getAll
https://api.eniris.be/views/getAll
POST views/create
https://api.eniris.be/views/create
{
"authRoleId": "",
"views": ""
}
POST views/update
https://api.eniris.be/views/update
{
"authRoleId": "",
"views": ""
}
POST views/delete
https://api.eniris.be/views/delete
{
"authRoleId": "",
"views": ""
}
Manages
GET manages/getAll
https://api.eniris.be/manages/getAll
POST manages/create
https://api.eniris.be/manages/create
{
"authRoleId": "",
"manages": {
"parentRoleId": number,
"roleManagement": boolean,
"userManagement": boolean,
"viewManagement": boolean,
"accessRightManagement": boolean,
"deviceManagement": boolean
}
}
POST manages/update
https://api.eniris.be/manages/update
{
"authRoleId": "",
"manages": {
"parentRoleId": number,
"roleManagement": boolean,
"userManagement": boolean,
"viewManagement": boolean,
"accessRightManagement": boolean,
"deviceManagement": boolean
}
}
POST manages/delete
https://api.eniris.be/manages/delete
{
"authRoleId": "",
"manages": {
"parentRoleId": number,
"roleManagement": boolean,
"userManagement": boolean,
"viewManagement": boolean,
"accessRightManagement": boolean,
"deviceManagement": boolean
}
}
Monitors
GET monitors/getAll
https://api.eniris.be/monitors/getAll
POST monitors/create
https://api.eniris.be/monitors/create
{
"authRoleId": "",
"monitors": {roleId: number, reads: string[], edits: string[]}
}
POST monitors/update
https://api.eniris.be/monitors/update
{
"authRoleId": "",
"monitors": {roleId: number, reads: string[], edits: string[]}
}
POST monitors/delete
https://api.eniris.be/monitors/delete
{
"authRoleId": "",
"monitors": {roleId: number, reads: string[], edits: string[]}
}
Allows
GET allows/getAll
https://api.eniris.be/allows/getAll
POST allows/create
https://api.eniris.be/allows/create
{
"authRoleId": "",
"allows": ""
}
POST allows/delete
https://api.eniris.be/allows/delete
{
"authRoleId": "",
"allows": ""
}
Contains
GET contains/getAll
https://api.eniris.be/contains/getAll
{
"viewId": ""
}
POST contains/create
https://api.eniris.be/contains/create
{
"authRoleId": "",
"contains": ""
}
POST contains/delete
https://api.eniris.be/contains/delete
{
"authRoleId": "",
"contains": ""
}
Alarm Management
GET alarm/getAll
https://api.eniris.be/alarm/getAll
{
"viewId": number
}
GET alarm/alarmCreate
https://api.eniris.be/alarmCreate
{
"authRoleId": number,
"alarm": any,
"generates": any
}