2. User Management¶
Contents
2.1. Users¶
-
GET
/users/
¶ HTTP GET/HEAD rest route. HEAD will be the same result except their will be no body.
Example request:
GET /rest/users/ HTTP/1.1 Host: datagerry.com Accept: application/json
Example response:
HTTP/1.1 200 OK Content-Type: application/json Content-Length: 1000 X-Total-Count: 1 X-API-Version: 1.0 { "results": [ { "public_id": 1, "user_name": "admin", "active": true, "group_id": 1, "registration_time": "2020-01-01 00:00:00.000000", "authenticator": "LocalAuthenticationProvider", "email": null, "password": "YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXo=", "image": null, "first_name": null, "last_name": null } ], "count": 1, "total": 1, "parameters": { "limit": 10, "sort": "public_id", "order": 1, "page": 1, "filter": {}, "optional": {} }, "pager": { "page": 1, "page_size": 10, "total_pages": 1 }, "pagination": { "current": "http://datagerry.com/rest/users/", "first": "http://datagerry.com/rest/users/?page=1", "prev": "http://datagerry.com/rest/users/?page=1", "next": "http://datagerry.com/rest/users/?page=1", "last": "http://datagerry.com/rest/users/?page=1" }, "response_type": "GET", "model": "User", "time": "2020-01-01 00:00:00.000000" }
- Query Parameters
sort – the sort field name. default is public_id
order – the sort order value for ascending or descending. default is 1 for ascending
page – the current view page. default is 1
limit – max number of results. default is 10
filter – a mongodb query filter. default is {} which means everything
- Request Headers
Accept – application/json
Authorization – jwtoken to authenticate
- Response Headers
Content-Type – application/json
- Status Codes
200 OK – Everything is fine.
400 Bad Request – The request or the parameters are wrong formatted.
404 Not Found – No collection or resources found.
-
GET
/users/
(int: public_id)¶ HTTP GET/HEAD rest route for a single resource by its ID.
Example request
GET /rest/users/1 HTTP/1.1 Host: datagerry.com Accept: application/json
Example response
HTTP/1.1 200 OK Content-Type: application/json Content-Length: 100 X-API-Version: 1.0 { "result": { "public_id": 1, "user_name": "admin", "active": true, "group_id": 1, "registration_time": "2020-01-01 00:00:00.000000", "authenticator": "LocalAuthenticationProvider", "email": null, "password": "YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXo=", "image": null, "first_name": null, "last_name": null }, "response_type": "GET", "model": "User", "time": "2020-01-01 00:00:00.000000" }
- Request Headers
Accept – application/json
Authorization – jwtoken to authenticate
- Response Headers
Content-Type – application/json
- Status Codes
200 OK – Everything is fine.
404 Not Found – No resource found.
-
POST
/users/
¶ HTTP POST route for inserting a new user.
Example request
POST /rest/users/ HTTP/1.1 Host: datagerry.com Accept: application/json { "user_name": "test", "active": true, "group_id": 2, "password": "YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXo=", }
Example response
HTTP/1.1 200 OK Content-Type: application/json Content-Length: 100 Location: http://datagerry.com/rest/users/2 X-API-Version: 1.0 { "result_id": 2, "raw": { "public_id": 2, "user_name": "test", "active": true, "group_id": 2, "registration_time": "2020-01-01 00:00:00.000000", "authenticator": "LocalAuthenticationProvider", "email": null, "password": "YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXo=", "image": null, "first_name": null, "last_name": null }, "response_type": "INSERT", "model": "User", "time": "1970-01-01T00:00:00" }
- Request Headers
Accept – application/json
Authorization – jwtoken to authenticate
- Response Headers
Content-Type – application/json
- Status Codes
201 Created – Resource was created.
400 Bad Request – Resource could not be inserted.
404 Not Found – No resource found.
-
PUT
/users/
(int: public_id)¶ HTTP PUT/PATCH route for updating a existing user.
Example request
PUT /rest/users/1 HTTP/1.1 Host: datagerry.com Accept: application/json { "public_id": 1, "user_name": "admin", "active": false, "group_id": 1, "registration_time": "2020-01-01 00:00:00.000000", "authenticator": "LocalAuthenticationProvider", "email": null, "password": "YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXo=", "image": null, "first_name": null, "last_name": null }
Example response
HTTP/1.1 202 ACCEPTED Content-Type: application/json Content-Length: 100 Location: http://datagerry.com/rest/users/1 X-API-Version: 1.0 { "result": { "public_id": 1, "user_name": "admin", "active": false, "group_id": 1, "registration_time": "2020-01-01 00:00:00.000000", "authenticator": "LocalAuthenticationProvider", "email": null, "password": "YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXo=", "image": null, "first_name": null, "last_name": null }, "response_type": "UPDATE", "model": "User", "time": "2020-01-01 00:00:00.000000" }
- Request Headers
Accept – application/json
Authorization – jwtoken to authenticate
- Response Headers
Content-Type – application/json
- Status Codes
202 Accepted – Everything is fine.
400 Bad Request – Resource could not be updated.
404 Not Found – No resource found.
-
DELETE
/users/
(int: public_id)¶ HTTP DELETE route for deleting a existing user.
Example request
DELETE /rest/users/1 HTTP/1.1 Host: datagerry.com Accept: application/json
Example response
HTTP/1.1 202 ACCEPTED Content-Type: application/json Content-Length: 100 X-API-Version: 1.0 { "deleted_entry": { "public_id": 1, "user_name": "admin", "active": false, "group_id": 1, "registration_time": "2020-01-01 00:00:00.000000", "authenticator": "LocalAuthenticationProvider", "email": null, "password": "YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXo=", "image": null, "first_name": null, "last_name": null }, "response_type": "DELETE", "model": "User", "time": "2020-01-01 00:00:00.000000" }
- Request Headers
Accept – application/json
Authorization – jwtoken to authenticate
- Response Headers
Content-Type – application/json
- Status Codes
202 Accepted – Everything is fine.
400 Bad Request – Resource could not be deleted.
404 Not Found – No resource found.
2.2. Groups¶
-
GET
/groups/
¶ HTTP GET/HEAD rest route. HEAD will be the same result except their will be no body.
Example request:
GET /rest/groups/ HTTP/1.1 Host: datagerry.com Accept: application/json
Example response:
HTTP/1.1 200 OK Content-Type: application/json Content-Length: 1000 X-Total-Count: 1 X-API-Version: 1.0 { "results": [ { "public_id": 1, "name": "admin", "label": "Administrator", "rights": [ { "level": 0, "name": "base.*", "label": "base.*", "description": "Base application right", "is_master": true } ] } ], "count": 1, "total": 1, "parameters": { "limit": 10, "sort": "public_id", "order": 1, "page": 1, "filter": {}, "optional": {} }, "pager": { "page": 1, "page_size": 10, "total_pages": 1 }, "pagination": { "current": "http://datagerry.com/rest/groups/", "first": "http://datagerry.com/rest/groups/?page=1", "prev": "http://datagerry.com/rest/groups/?page=1", "next": "http://datagerry.com/rest/groups/?page=1", "last": "http://datagerry.com/rest/groups/?page=1" }, "response_type": "GET", "model": "Group", "time": "2020-01-01 00:00:00.000000" }
- Query Parameters
sort – the sort field name. default is public_id
order – the sort order value for ascending or descending. default is 1 for ascending
page – the current view page. default is 1
limit – max number of results. default is 10
filter – a mongodb query filter. default is {} which means everything
- Request Headers
Accept – application/json
Authorization – jwtoken to authenticate
- Response Headers
Content-Type – application/json
- Status Codes
200 OK – Everything is fine.
400 Bad Request – The request or the parameters are wrong formatted.
404 Not Found – No collection or resources found.
-
GET
/groups/
(int: public_id)¶ HTTP GET/HEAD rest route for a single resource by its ID.
Example request
GET /rest/groups/1 HTTP/1.1 Host: datagerry.com Accept: application/json
Example response
HTTP/1.1 200 OK Content-Type: application/json Content-Length: 100 X-API-Version: 1.0 { "result": { "public_id": 1, "name": "admin", "label": "Administrator", "rights": [ { "level": 0, "name": "base.*", "label": "base.*", "description": "Base application right", "is_master": true } ] }, "response_type": "GET", "model": "Group", "time": "2020-01-01 00:00:00.000000" }
- Request Headers
Accept – application/json
Authorization – jwtoken to authenticate
- Response Headers
Content-Type – application/json
- Status Codes
200 OK – Everything is fine.
404 Not Found – No resource found.
-
POST
/groups/
¶ HTTP POST route for inserting a new group.
Example request
POST /rest/groups/ HTTP/1.1 Host: datagerry.com Accept: application/json { "name": "test", "label": "test", "rights": [ "base.framework.object.*" ] }
Example response
HTTP/1.1 200 OK Content-Type: application/json Content-Length: 100 Location: http://datagerry.com/rest/groups/3 X-API-Version: 1.0 { "result_id": 3, "raw": { "public_id": 3, "name": "test", "label": "test", "rights": [ { "level": 10, "name": "base.framework.object.*", "label": "object.*", "description": "Manage objects from framework", "is_master": true } ] }, "response_type": "INSERT", "model": "Group", "time": "2020-01-01 00:00:00.000000" }
- Request Headers
Accept – application/json
Authorization – jwtoken to authenticate
- Response Headers
Content-Type – application/json
- Status Codes
201 Created – Resource was created.
400 Bad Request – Resource could not be inserted.
404 Not Found – No resource found.
-
PUT
/groups/
(int: public_id)¶ HTTP PUT/PATCH route for updating a existing user.
Example request
PUT /rest/groups/3 HTTP/1.1 Host: datagerry.com Accept: application/json { "public_id": 3, "name": "test", "label": "Test", "rights": [ "base.framework.object.*" ] }
Example response
HTTP/1.1 202 ACCEPTED Content-Type: application/json Content-Length: 100 Location: http://datagerry.com/rest/groups/3 X-API-Version: 1.0 { "result": { "public_id": 3, "name": "test", "label": "Test", "rights": [ "base.framework.object.*" ] }, "response_type": "UPDATE", "model": "Group", "time": "2020-01-01 00:00:00.000000" }
- Request Headers
Accept – application/json
Authorization – jwtoken to authenticate
- Response Headers
Content-Type – application/json
- Status Codes
202 Accepted – Everything is fine.
400 Bad Request – Resource could not be updated.
404 Not Found – No resource found.
-
DELETE
/groups/
(int: public_id)¶ HTTP DELETE route for deleting a existing user.
Note
Group with PublicID 1 (Admin) & 2 (User) can not be deleted!
Example request
DELETE /rest/groups/3 HTTP/1.1 Host: datagerry.com Accept: application/json
Example response
HTTP/1.1 202 ACCEPTED Content-Type: application/json Content-Length: 100 X-API-Version: 1.0 { "deleted_entry": { "public_id": 3, "name": "test", "label": "Test", "rights": [ { "level": 10, "name": "base.framework.object.*", "label": "object.*", "description": "Manage objects from framework", "is_master": true } ] }, "response_type": "DELETE", "model": "Group", "time": "2020-01-01 00:00:00.000000" }
- Query Parameters
action – Parameter of GroupDeleteMode. MOVE will push all users in this group to passed group_id and DELETE will delete all users in this group.
group_id – The PublicID of the group which the MOVE action will be use.
- Request Headers
Accept – application/json
Authorization – jwtoken to authenticate
- Response Headers
Content-Type – application/json
- Status Codes
202 Accepted – Everything is fine.
400 Bad Request – Resource could not be deleted.
404 Not Found – No resource found.
2.3. Rights¶
Note
The right routes are static.
-
GET
/rights/
¶ HTTP GET/HEAD rest route. HEAD will be the same result except their will be no body.
Example request:
GET /rest/rights/ HTTP/1.1 Host: datagerry.com Accept: application/json
Example response:
HTTP/1.1 202 ACCEPTED Content-Type: application/json Content-Length: 100 X-API-Version: 1.0 { "results": [{ "level": 0, "name": "base.*", "label": "base.*", "description": "Base application right", "is_master": true }], "count": 1, "total": 62, "parameters": { "limit": 1, "sort": "name", "order": 1, "page": 1, "filter": {}, "optional": { "view": "list" } }, "pager":{ "page": 1, "page_size": 1, "total_pages": 62 }, "pagination": { "current": "http://datagerry.com/rest/rights/", "first": "http://datagerry.com/rest/rights/?page=1", "prev": "http://datagerry.com/rest/rights/?page=1", "next": "http://datagerry.com/rest/rights/?page=2", "last": "http://datagerry.com/rest/rights/?page=62" }, "response_type": "GET", "model": "Right", "time": "2020-01-01 00:00:00.000000" }
- Query Parameters
sort – the sort field name. default is name.
order – the sort order value for ascending or descending. default is 1 for ascending
page – the current view page. default is 1
limit – max number of results. default is 10
filter – a mongodb query filter. default is {} which means everything
optional – view parameter. Default is list.
- Request Headers
Accept – application/json
Authorization – jwtoken to authenticate
- Response Headers
Content-Type – application/json
- Status Codes
200 OK – Everything is fine.
400 Bad Request – The request or the parameters are wrong formatted.
404 Not Found – No collection or resources found.
-
GET
/rights/
(str: name)¶ HTTP GET/HEAD rest route for a single resource by its name.
Example request
GET /rest/rights/base.* HTTP/1.1 Host: datagerry.com Accept: application/json
Example response
HTTP/1.1 200 OK Content-Type: application/json Content-Length: 100 X-API-Version: 1.0 { "result": { "level": 0, "name": "base.*", "label": "base.*", "description": "Base application right", "is_master": true }, "response_type": "GET", "model": "Right", "time": "2020-01-01 00:00:00.000000" }
- Request Headers
Accept – application/json
Authorization – jwtoken to authenticate
- Response Headers
Content-Type – application/json
- Status Codes
200 OK – Everything is fine.
404 Not Found – No resource found.
-
GET
/rights/levels
¶ HTTP GET/HEAD rest route for a all security levels.
Example request
GET /rest/rights/levels HTTP/1.1 Host: datagerry.com Accept: application/json
Example response
HTTP/1.1 200 OK Content-Type: application/json Content-Length: 100 X-API-Version: 1.0 { "result": { "CRITICAL": 100, "DANGER": 80, "SECURE": 50, "PROTECTED": 30, "PERMISSION": 10, "NOTSET": 0 }, "response_type": "GET", "model": "Security-Level", "time": "2020-01-01 00:00:00.000000" }
- Request Headers
Accept – application/json
Authorization – jwtoken to authenticate
- Response Headers
Content-Type – application/json
- Status Codes
200 OK – Everything is fine.
2.4. Settings¶
-
GET
/users/
(int: user_id)/settings/
¶ HTTP GET/HEAD rest route. HEAD will be the same result except their will be no body.
Example request:
GET /rest/users/1/settings/ HTTP/1.1 Host: datagerry.com Accept: application/json
Example response:
HTTP/1.1 200 OK Content-Type: application/json Content-Length: 1000 X-Total-Count: 1 X-API-Version: 1.0 { "results": [ { "identifier": "test", "user_id": 1, "payload": {}, "setting_type": "GLOBAL" } ], "response_type": "GET", "model": "UserSetting", "time": "2020-01-01 00:00:00.000000" }
- Request Headers
Accept – application/json
Authorization – jwtoken to authenticate
- Response Headers
Content-Type – application/json
- Status Codes
200 OK – Everything is fine.
400 Bad Request – The request or the parameters are wrong formatted.
404 Not Found – No collection or resources found.
-
GET
/users/
(int: public_id)/settings/
(str: identifier)¶ HTTP GET/HEAD rest route for a single resource by the UserID and the setting identifier.
Example request
GET /rest/users/1/settings/test HTTP/1.1 Host: datagerry.com Accept: application/json
Example response
HTTP/1.1 200 OK Content-Type: application/json Content-Length: 100 X-API-Version: 1.0 { "results": [ { "identifier": "test", "user_id": 1, "payload": {}, "setting_type": "GLOBAL" } ], "response_type": "GET", "model": "UserSetting", "time": "2020-01-01 00:00:00.000000" }
- Request Headers
Accept – application/json
Authorization – jwtoken to authenticate
- Response Headers
Content-Type – application/json
- Status Codes
200 OK – Everything is fine.
404 Not Found – No resource found.
-
POST
/users/
(int: public_id)/settings/
¶ HTTP POST route for inserting a new setting.
Example request
POST /rest/users/1/settings/ HTTP/1.1 Host: datagerry.com Accept: application/json { "identifier" : "test", "user_id" : 1, "payload" : {}, "setting_type" : "GLOBAL" }
Example response
HTTP/1.1 201 CREATED Content-Type: application/json Content-Length: 100 Location: http://datagerry.com/rest/users/1/settings/test X-API-Version: 1.0 { "result_id": "test", "raw": { "identifier": "test", "user_id": 1, "payload": {}, "setting_type": "GLOBAL" }, "response_type": "INSERT", "model": "UserSetting", "time": "2020-01-01 00:00:00.000000" }
- Request Headers
Accept – application/json
Authorization – jwtoken to authenticate
- Response Headers
Content-Type – application/json
- Status Codes
201 Created – Resource was created.
400 Bad Request – Resource could not be inserted.
404 Not Found – No resource found.
-
PUT
/users/
(int: public_id)/settings/
(str: identifier)¶ HTTP PUT/PATCH route for updating a setting.
Example request
PUT /rest/users/1/settings/test HTTP/1.1 Host: datagerry.com Accept: application/json { "identifier" : "test", "user_id" : 1, "payload" : {}, "setting_type" : "GLOBAL" }
Example response
HTTP/1.1 202 ACCEPTED Content-Type: application/json Content-Length: 100 Location: http://datagerry.com/rest/users/1/settings/test X-API-Version: 1.0 { "result": { "identifier": "test", "user_id": 1, "payload": {}, "setting_type": "GLOBAL" }, "response_type": "UPDATE", "model": "UserSetting", "time": "2020-01-01 00:00:00.000000" }
- Request Headers
Accept – application/json
Authorization – jwtoken to authenticate
- Response Headers
Content-Type – application/json
- Status Codes
202 Accepted – Everything is fine.
400 Bad Request – Resource could not be updated.
404 Not Found – No resource found.
-
DELETE
/users/
(int: public_id)/settings/
(str: identifier)¶ HTTP DELETE route for deleting a existing setting.
Example request
DELETE /rest/users/1/settings/test HTTP/1.1 Host: datagerry.com Accept: application/json
Example response
HTTP/1.1 202 ACCEPTED Content-Type: application/json Content-Length: 100 X-API-Version: 1.0 { "deleted_entry": { "identifier": "test", "user_id": 1, "payload": {}, "setting_type": "APPLICATION" }, "response_type": "DELETE", "model": "UserSetting", "time": "2020-01-01 00:00:00.000000" }
- Request Headers
Accept – application/json
Authorization – jwtoken to authenticate
- Response Headers
Content-Type – application/json
- Status Codes
202 Accepted – Everything is fine.
400 Bad Request – Resource could not be deleted.
404 Not Found – No resource found.