Manual

SimplyRFiD Pogi API Manual

Chapter 1: Introduction
Chapter 2: Login Authentication API Calls
Chapter 3: Public API Calls
Chapter 4: Web API Calls
Chapter 5: Mobile API Calls
Chapter 6: ID API Calls
Chapter 7: Marker Management API Calls
Chapter 8: Zone Management API Calls
Chapter 9: User Management API Calls
Chapter 1: Introduction

The Pogi server can be accessed through REST API. Listed on this manual are all the available API and their details.

The API calls can be used for integration with other applications. Details and examples on how to utilize the API calls are available for Javascript and Python 3.

The Pogi APIs can also be tested directly using the Insomnia Workspace application. The Insomnia JSON file can be downloaded from the Pogi API - Insomnia workspace repository or directly imported through the URL https://raw.githubusercontent.com/simplyrfid-dev/pogi-api-insomnia-workspace/main/pogi-api-insomnia-workspace.json

Chapter 2: Login Authentication API Calls
A. /auth/Login

Description: Navigate to login page
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params: N/A
Success Response: N/A
Error Response: Possible 404 or No Connection

B. /dashboard/Dashboard

Description: Navigate to landing page after successful login
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params: N/A
Success Response: N/A
Error Response: Possible 404 or No Connection

C. token-get

Description: Request a token for mobile access, by sending the mobile's userId and password, which is registered in the database
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params:
{"op": "token-get",
"userId": String,
"password": String}
Success Response: {"response": "OK", "org": String, "token": String}
Error Response: {"response": "error", "message": "Invalid Login"}

D. token-invalidate

Description: Request to invalidate a token
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params: {"op":"token-invalidate", "token": String}
Success Response: {"response": "OK"}
Error Response: {"response": "error", "message": ""}

Chapter 3: Public API Calls
A. version

Description: Get the current version of Pogi Server
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params: {"op": "version"}
Success Response:
{"message": String,
"version": String,
"versionWave": String,
"versionPython": String,
"response": "OK"}
Error Response: 500 Internal Server Error
Note: Http Status is still 200 for error responses. Please don't rely on the status

Chapter 4: Web API Calls
A. history

Description: Fetch the inventory data based on the filters provided
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params:
{"op": "history",
Optional Params:
"fromDate": YYYY-MM-DD,
"fromTime": HH:MM:SS,
"toDate": YYYY-MM-DD,
"toTime": HH:MM:SS,
"event": String,
"zone": String,
"currentLocation": String[on]|null,
"limit": Int,
"offSet": Int,
"namedOnly": String,
"searchField": String,
"searchValue": String,
"searchMatch":"like",
"orderColumn": String,
"orderDirection": String[ASC,DESC]}
Success Response: An Array of the History table that resulted from the Query:
{"count":{"total": Int},
"data":[{"uid": String,
"external_id": String,
"tag_id": String,
"image": String,
"image_list": String,
"image_info": String,
"entity": String,
"marker": String,
"deleted": 0,
"json_data": String,
"update_date": "YYYY-MM-DD HH:MM:SS",
"zone": String,
"altitude": Float,
"lon": Float,
"lat": Float,
"state": "present",
"serial_number": String,
"description": String,
"owner": String,
"calibration_due_date": "", "model_number": String,
"manufacturer": String,
"name": String,
"part_number": String,
}], ... }
Error Response:
{"response": "Warning", "message": "No Result Found" }
{"response": "Error", "message": "SQL Error" }
Note: Http Status is still 200 for error responses. Please don't rely on the status.

B. history-last-date

Description: Get latest date received from history
Method: GET
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params: {"op": "history-last-date"}
Success Response: {"date": Datetime}
Error Response: Possible 404 or No Connection

C. track

Description: Get item data on location and status change
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params:
{"op": "track",
"tagId": String}
Success Response:
{"count": {"total": Int},
"data": [{"state": "present|absent",
"tag": tagId,
"eventDate": "YYYY-MM-DD HH:MM:SS",
"zone": String}]}
Error Response: Possible 404 or No Connection

D. ui-edit-fields

Description: Get list of fields enabled for editing and creating tags
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params: {"op": "ui-edit-fields"}
Success Response: {"response": "OK", "fields": [[Field data], ... ]}
Error Response: {"response": "Error", "message": "Error (Error Code)"}

E. ui-current-fields

Description: Get Field Headers configured for the inventory table for all data
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params: {"op": "ui-current-fields"}
Success Response: {"response": "OK", "fields": [[Field data], ... ]}
Error Response: {"response": "Error", "message": "Error (Error Code)"}

F. ui-history-fields

Description: Get Field Headers configured for the inventory table for current data
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params: {"op": "ui-history-fields"}
Success Response: {"response": "OK", "fields": [[Field data], ... ]}
Error Response: {"response": "Error", "message": "Error (Error Code)"}

G. setting-set

Description: Set settings for the user interface
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params: {"op": "setting-set",
"name": String,
"category": String,
"type": String,
"value": String}
Success Response: {"response": "OK"}
Error Response: {"response": "Error", "message": "Error (Error Code)"}

H. setting-get

Description: Get settings for the user interface
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params: {"op": "setting-get",
"name": String,
"category": String,
"type": String}
Success Response: {"response": "OK",
"settings": [{"name": String,
"category": String,
"type": String,
"value": String}]}
Error Response: {"response": "Error", "message": "Error (Error Code)"}

I. setting-delete

Description: Delete settings for the user interface
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params: {"op": "setting-delete",
"name": String,
"category": String,
"type": String}
Success Response: {"response": "OK"}
Error Response: {"response": "Error", "message": "Error (Error Code)"}

Chapter 5: Mobile API Calls
A. config-get

Description: Get the current version of Pogi Server
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params: {"op": "config-get"}
Success Response: { "config": {"serverName": String,
"serverProtocol": String,
"versionWave": String,
"rfidPrefix": String,
"version": String,
"instanceType": String},
"response": "OK"}
Error Response: 500 Internal Server Error
Note: Http Status is still 200 for error responses. Please don't rely on the status

B. upload-inventory

Description: Upload the Inventory gathered by the handheld reader
Method: POST
Type: application/json
URL Params: N/A
Data Params: Array of captured tag ids
{"op": "upload-inventory",
"data": {
"location" : [{
"antenna": Int,
"eventDate": Datetime,
"lat": float,
"lon": float,
"marker": String,
"reader": String,
"retVal": Int,
"rssi": float,
"sessionId": String,
"state": String[present|absent],
"tag": String,
"weight": float,
"xmitDate": Datetime,
"zone": String
},…]}
(Array of Tags), …, (Location props)
}
Success Response: {"response": "OK"}
Error Response:
{"response": "Error", "message": "SQL Error" }
{"response": "Error", "message": "No data received"}

Chapter 6: ID API Calls
A. id-current

Description: Fetch the current inventory data based on the filters provided
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params:
{"op": "history",
"fromDate": YYYY-MM-DD,
"fromTime": HH:MM:SS,
"toDate": YYYY-MM-DD,
"toTime": HH:MM:SS,
"event": String,
"zone": String,
"limit": Int,
"offSet": Int,
"namedOnly": String,
"searchField": String,
"searchValue": String,
"searchMatch":"like",
"orderColumn": String,
"orderDirection": String[ASC,DESC]}
Success Response: An Array of the current table that resulted from the Query:
{"count":{"total": Int},
"data":[{"uid": String,
"external_id": String,
"tag_id": String,
"image": String,
"image_list": String,
"image_info": String,
"entity": String,
"marker": String,
"deleted": 0,
"json_data": String,
"update_date": "YYYY-MM-DD HH:MM:SS",
"zone": String,
"altitude": Float,
"lon": Float,
"lat": Float,
"state": "present",
"serial_number": String,
"description": String,
"owner": String,
"calibration_due_date": "", "model_number": String,
"manufacturer": String,
"name": String,
"part_number": String,
}], ... }
Error Response:
{"response": "Warning", "message": "No Result Found" }
{"response": "Error", "message": "SQL Error" }
Note: Http Status is still 200 for error responses. Please don't rely on the status.

B. id-history

Description: Fetch the history data based on the filters provided
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params:
{"op": "history",
"fromDate": YYYY-MM-DD,
"fromTime": HH:MM:SS,
"toDate": YYYY-MM-DD,
"toTime": HH:MM:SS,
"event": String,
"zone": String,
"limit": Int,
"offSet": Int,
"namedOnly": String,
"searchField": String,
"searchValue": String,
"searchMatch":"like",
"orderColumn": String,
"orderDirection": String[ASC,DESC]}
Success Response: An Array of the History table that resulted from the Query:
{"count":{"total": Int},
"data":[{"uid": String,
"external_id": String,
"tag_id": String,
"image": String,
"image_list": String,
"image_info": String,
"entity": String,
"marker": String,
"deleted": 0,
"json_data": String,
"update_date": "YYYY-MM-DD HH:MM:SS",
"zone": String,
"altitude": Float,
"lon": Float,
"lat": Float,
"state": "present",
"serial_number": String,
"description": String,
"owner": String,
"calibration_due_date": "", "model_number": String,
"manufacturer": String,
"name": String,
"part_number": String,
}], ... }
Error Response:
{"response": "Warning", "message": "No Result Found" }
{"response": "Error", "message": "SQL Error" }
Note: Http Status is still 200 for error responses. Please don't rely on the status.

C. id-fields

Description: Retrieve all valid fields and their data type applicable for all ID API calls
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params: {"op": "id-fields"}
Success Response: {"response": "OK",
"fields": [
[ "tag_id",
"varchar(255)",
"NO",
"PRI",
null,
""],
[ "external_id",
"varchar(255)",
"YES",
"MUL",
null,
""],
[ "name",
"text",
"YES",
"",
null,
""], ... ]}
Error Response: {"response": "Error","message": "SQL Error"}
Note: Http Status is still 200 for error responses. Please don't rely on the status

D. id-add

Description: Add/Push tagID with zone (if no zone is specified it will be set as 'commissioned'). If the RFID is existing, responds with an error
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params:
{"op": "id-add",
"ids": [{"tagId": String,
"zone": String,
Optional Params:
"external_id": String,
"name": String,
"owner": String,
"model_number": String,
"serial_number": String,
"part_number": String,
"calibration_due_date": YYYY-MM-DD HH:MM:SS,
"last_calibration_date": YYYY-MM-DD HH:MM:SS,
"description": String,
"browserTimezone": String,
"lat": Float,
"lon": Float,
"altitude": Float,
"image": String,
"image_list": String,
"image_info": String
}, ... ]}
Note: Browser Timezone is required if date fields are included
Success Response: {"response": "OK"}
Error Response:
{"response": "Warning", "message": "Tag ID is already Existing" }
{"response": "Error", "message": "SQL Error"}
{"response": "Error", "message": "No assetId or tagId found" }
Note: Http Status is still 200 for error responses. Please don't rely on the status

E. id-update

Description: Update data fields of existing RFID TagId
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params:
{"op": "id-update",
"addMissing": String[true|false],
"addHistory": String[true|false],
"keyfield": String,
"ids": [{"tagId": String,
Optional Params:
"name": String,
"external_id": String,
"zone": String,
"owner": String,
"model_number": String,
"serial_number": String,
"part_number": String,
"calibration_due_date": YYYY-MM-DD HH:MM:SS,
"last_calibration_date": YYYY-MM-DD HH:MM:SS,
"description": String,
"browserTimezone": String,
"lat": Float,
"lon": Float,
"altitude": Float,
"image": String,
"image_list": String,
"image_info": String
}, ... ]}
Success Response: {"response": "OK"}
{"response": "OK", "tagId" : String}
Error Response:
{"response": "Error","message": "SQL Error"}
{"response": "Error","message": "No assetId or tagId found"}
{"response": "Error","tagId":"","message":"tag_id field is required"}
{"response": "Error","tagId":"","message":"unable to find matching tag_id"}
{"response": "Error","tagId":"","message":"keyfield [String] does not exist"}
Note: Http Status is still 200 for error responses. Please don't rely on the status.

F. id-get

Description: Get tag ID information
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: tagID
Data Params: {"op": "id-get", "tagId": String}
Success Response: {"name": String,
"assetId": String,
"zone": String,
"owner": String,
"model_number": String,
"serial_number": String,
"part_number": String,
"calibration_due_date": YYYY-MM-DD HH:MM:SS,
"last_calibration_date": YYYY-MM-DD HH:MM:SS,
"description": String,
"browserTimezone": String,
"lat": Float,
"lon": Float,
"altitude": Float,
"image": String,
"image_list": String,
"image_info": String
}
Error Response: {"response": "Warning", "message": "No data received."}

G. id-exists

Description: Check if tag ID exists
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params: {"op": "id-exists", "tagId": String} or {"op": "id-exists", "id": String} or {"op": "id-exists", "ids": [String]}
Success Response: {"response": "OK", "info": String}
Error Response: {"response": "Warning", "message": "No data received."}

H. id-delete

Description: Delete tag
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: tagID
Data Params: {"op": "id-delete", "tagId": String}
Success Response: {"response": "OK"}
Error Response:
{"response": "Error", "message": "no tagId specified" }
{"response": "Error", "message": [ERROR CODE] }

I. id-deleted-list

Description: Get list of deleted tags
Method: GET
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params: {"op":"id-deleted-list"}
Success Response:
{"response":"OK", "data": [
{"delete_date": Datetime,
"uid": String,
"tag_id": String }, … ]}
Error Response: {"response": "Error", "message": "Data Error"}

J. id-deleted-count

Description: Get count of deleted tags
Method: GET
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params: {"op":"id-deleted-count"}
Success Response: {"response":"OK", "count": Int}
Error Response: {"response": "Error", "message": "Data Error"}

K. id-deleted

Description: Check if tag has deleted state
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params: {"op": "id-deleted", "tagId": String}
Success Response: {"response": "OK"}
Error Response:
{"response": "Error", "message": "no tagId specified" }
{"response": "Error", "message": [ERROR CODE] }

L. id-undelete

Description: Remove tag from deleted state
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params: {"op": "id-undelete", "tagId": String}
Success Response: {"response": "OK"}
Error Response:
{"response": "Error", "message": "no tagId specified" }
{"response": "Error", "message": [ERROR CODE] }

M. id-field-values

Description: Retrieve all values under the specified field/column from the database
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params: {"op": "id-field-values", "field": String}
Success Response: {"response": "OK",
"values": [Data], ... }
Error Response:
{"response": "Error", "message": "no tagId specified" }
{"response": "Error", "message": [ERROR CODE] }

N. image-upload

Description: Upload image to server
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params:
{"op": "image-upload",
"name" : String,
"image" : [Data] }
Success Response: {"response":"OK", "url": String, "url-list": String, "url-info": String}
Error Response: {"response": "Error", "message": "Data Error"}

O. id-set-image

Description: Set image id
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params:
{"op": "id-set-image",
"tagID": String,
"source": String }
Success Response: {"response":"OK"}
Error Response: {"response": "Error", "message": "Data Error"}

P. id-set-image-list

Description: Set list image id
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params:
{"op": "id-set-image-list",
"tagID": String,
"source": String }
Success Response: {"response":"OK"}
Error Response: {"message": String[Error message], "tagId": String, "response": "Error"}

Q. id-set-image-info

Description: Set info image id
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params:
{"op": "id-set-image-info",
"tagID": String,
"source": String }
Success Response: {"response":"OK"}
Error Response: {"message": String[Error message], "tagId": String, "response": "Error"}

R. image-resize

Description: Resize image
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params:
{"op": "image-resize",
"sizeX": Int,
"sizeY": Int,
"inFile": String,
"outFile": String }
Success Response: null
Error Response: null

S. file-upload

Description: Upload file to server
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params:
{"op": "file-upload",
"name" : String,
"image" : [Data] }
Success Response: {"response":"OK", "url": String}
Error Response: {"response": "Error", "message": [Error Message]}

T. id-allocate

Description: Checks state and the new "allocated" tables to find the next highest available RFID serial and returns a list of RFID numbers. Used in printing to prevent duplications.
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params:
{"op": "id-allocate",
"prefix" : String,
"count" : Integer }
Success Response: {"result":"ok", "serials": [String, ... ]}
Error Response: {"response": "Error", "message": [Error Message]}

Chapter 7: Marker Management API Calls
A. marker-list

Description: Get all markers data
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params: {"op":"marker-list"}
Success Response: {"response": "OK", "data": [{tag_id, name}]}
Error Response: {"response": "Error", "message": "Data Error"}

B. marker-add

Description: Get all markers data
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params:
{"op":"marker-add",
"tagId": String,
"name": String,
"zone": String}
Success Response: {"response": "OK"}
Error Response:
{"response": "Error", "message": "Data Error"}
{"response": "Error", "message": "RFID: [String], already exists in markers"}
{"response": "Error", "message": "RFID: [String], already exists in inventory"}

C. marker-delete

Description: Delete marker
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params: {"op":"id-set-image", "tagID": String}
Success Response: {"response": "OK"}
Error Response:
{"response": "Error", "message": [SQL Error Messages] }
{"response": "Error", "message": "no tagId specified" }

Chapter 8: Zone Management API Calls
A. zone-list

Description: Get Zones/Location List
Method: GET
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params: {"op":"zone-list"}
Success Response: Array of zone/location names {"data":[ "Zone1",… ]}
Error Response: Possible 404 or No Connection

B. zone-add

Description: Add a new Zone/Location
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params: {"op":"zone-add", "zone": String}
Success Response: {"response": "OK"}
Error Response:
{"response": "Warning", message: "Zone/Location Already Exists", existing: "{Existing Data}"}
{"response": "Error", "message": "Cannot create zone named Commissioned" }
{"response": "Error", "message": "No Data Received"}
{"response": "Error", "message": "SQL Error" }

C. zone-delete

Description: Delete a Zone/Location
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params: {"op":"zone-delete", "zone": String}
Success Response: {"response": "OK"}
Error Response: {"response": "Error", "message": "no zone specified" }

D. group-zone-add

Description: Assing a Zone/Location to a group
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params: {"op":"group-zone-add", "group": String, "zone": String}
Success Response: {"response": "OK", "group": String, "zone": String}
Error Response: {"response": "Error", "message": [Error Message]}

E. group-zone-delete

Description: Delete a Zone/Location from a group
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params: {"op":"group-zone-delete", "group": String, "zone": String}
Success Response: {"response": "OK", "group": String, "zone": String}
Error Response: {"response": "Error", "message": [Error Message]}

F. group-list

Description: Get list of all groups and associated zones
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params: {"op":"group-list"}
Success Response: {"response": "ok",
"groups": [{"group": String, "zones": [String1, String2, ...]}]}
Error Response: {"response": "Error", "message": [Error Message]}

G. zone-move-contents

Description: Move entire contents of one zone to another specified zone.
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params:
{"op":"zone-move-contents"
"zoneFrom": String,
"zoneTo": String}
Success Response: [{"response": "ok", "tagId": String}, ... ]
Error Response: {"response": "Error", "message": [Error Message]}

Chapter 9: User Management API Calls
A. user-get

Description: Login or get active user
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params:
{"op": "user-get",
"userId": String,
"password": String}
Success Response: N/A
Error Response: Possible 404 or No Connection

B. user-list

Description: Get list of users
Method: GET
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params: N/A
Success Response: Array of json obj with user information
{"op":"user-list",
"name": String,
"admin": 1 | 0 [True|False],
"id": String,
"token": String,
"active": 1 | 0 [Existing|New],
"org": String,
"password" : Encrypted String,
"email": String}
Error Response: Possible 404 or No Connection

C. user-add

Description: Add new user
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params:
{"op":"user-add",
"id": String,
"password" : Encrypted String,
"name": String,
"admin": 1 | 0 [True|False],
"email": String}
Success Response: {"response": "ok"}
Error Response:
{"response": "error", "error": "Did not receive data."}
{"response": "error", "error": "(1062 "Duplicate Entry '' for key 'PRIMARY'")"}

D. user-update

Description: Update user information
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params:
{"op":"user-update",
"id": String,
"password" : Encrypted String,
"name": String,
"admin": 1 | 0 [True|False],
"active": 1 | 0 [Existing|New],
"email": String}
Success Response: {"response": "ok"}
Error Response:
{"response": "error", "error": "Did not receive data."}

E. delete-user

Description: Delete user
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params: {"op":"delete-user", "userID" : String}
Success Response: {"response": "ok"}
Error Response: {"response": "error", "error": "Did no receive data."}

F. qr-create

Description: Creates QR for handheld reader login
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params:
{"op":"qr-create",
"userName": String,
"password" : String,
"serverAddress": String}
Success Response: {"response": "ok", "file": String}
Error Response: {"response": "error", "error": "Did no receive data."}

G. user-group-list

Description: Get list of all groups assigned to the user ID
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params: {"op": "user-group-list", "id": String}
Success Response: {"response": "ok",
"user": String,
"groups": [String1, String2, ...]}}
Error Response: {"response": "Error", "message": [Error Message]}

H. user-group-add

Description: Add a user ID to a group
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params: {"op": "user-group-add", "id": String}
Success Response: {"response": "ok", "id": String, "group": String}
Error Response: {"response": "Error", "message": [Error Message]}

I. user-group-delete

Description: Remove a user ID from a group
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params: {"op": "user-group-delete", "id": String}
Success Response: {"response": "ok", "id": String, "group": String}
Error Response: {"response": "Error", "message": [Error Message]}

Start Tracking Now!

RFID is the fastest way to keep track of your assets and inventory. Our Wave Inventory System is everything you need to track thousands of assets easily from just $1,795!

Buy Now!