Plur-e panel API
Read your Plur-e mobile users, devices, recorded locations, activity, roles and licensed modules through the public API — the eight read-only routes, their scopes, pagination and response fields.
Quick answer
The panel API is read-only and returns data about the tenant that owns the key: mobile
users, their devices, recorded locations and activity, roles and licensed mobile modules. Eight
GET routes under /panel need panel:read; recorded locations also need
panel:locations:read because they are personal data. Lists are paged with take and
cursor. Activity reported by the mobile app (logins and calls to Business Central) is kept
for 90 days.
Base URL: https://api.plur-e.com/api/public/v1. The tenant always comes from the key; a user or
role of another tenant answers 404. Passwords and secret tokens are never returned.
Routes
| Route | Scope | Returns |
|---|---|---|
GET /panel/mobile-users | panel:read | A page of mobile users |
GET /panel/mobile-users/{mobileUserId} | panel:read | One mobile user with environments, companies, modules and permissions |
GET /panel/mobile-users/{mobileUserId}/devices | panel:read | The devices of the user |
GET /panel/mobile-users/{mobileUserId}/locations | panel:locations:read | A page of recorded locations |
GET /panel/mobile-users/{mobileUserId}/activity | panel:read | A page of activity reported by the mobile app |
GET /panel/roles | panel:read | A page of roles |
GET /panel/roles/{roleId} | panel:read | One role with its environments, companies, modules and permissions |
GET /panel/modules | panel:read | The licensed mobile modules with their processes and permissions |
curl -s "https://api.plur-e.com/api/public/v1/panel/mobile-users?take=50&active=true" \
-H "Authorization: Bearer <YOUR_API_KEY>"Pagination
Lists answer a page:
{ "items": [ ], "nextCursor": "…", "totalCount": 120 }takeis 1 to 200 (default 50). Another value answers400, errorplure_1325.cursoris the opaquenextCursorof the previous page. Pass it back unchanged; an unreadable one answers400, errorplure_1324.nextCursoris empty on the last page.totalCountis computed on the first page only.
Mobile users
GET /panel/mobile-users accepts active (true or false), roleId, and search (text
contained in the name, login or email), plus take and cursor. Users are ordered newest first.
| Field | Meaning |
|---|---|
id, name, login, email | Identity of the user |
active | Whether the user can sign in |
roleId, roleName | The user's role |
createdAt, modifiedAt | Dates (UTC) |
lastActivityAt | Last activity reported by the mobile app |
deviceCount | Number of registered devices |
The detail adds subscriptions (subscriptionId, productId, productName), environments
and devices. Each environment has environmentId, description, status, its companies
(companyId, companyName, isDefault, active, and per-module moduleId, moduleType,
erpUserId, salesPerson, salesLocation) and its modules, each with processes and their
permissions (permissionId, description, allow).
GET …/devices returns a list of id, deviceId, deviceName, active, createdAt and
modifiedAt.
Locations
GET /panel/mobile-users/{mobileUserId}/locations needs panel:locations:read as well as the
user. Without it the call answers 403, error plure_1321.
| Query parameter | Meaning |
|---|---|
from, to | UTC ISO dates. Default: the last 30 days. from must be earlier than to and the range at most 366 days, or the call answers 400, error plure_1328 |
take, cursor | Pagination, newest first |
Each location has id, documentType, documentNo, moduleType, createdAt, latitude,
longitude, addressLines, city, state, postalCode and countryCode.
Activity
The activity is reported by the mobile app: each sign-in and each call the app makes to Business Central is recorded with its result, and rows are kept for 90 days.
| Query parameter | Meaning |
|---|---|
kind | login or processMethod. Any other value answers 400 with the code invalid_kind |
from, to | UTC ISO dates; same rules as locations. Without them all retained activity is returned |
take, cursor | Pagination, newest first |
Each row has id, kind (login or processMethod), processMethod (the Business Central
method, only for processMethod), environmentId, companyId, deviceId, succeeded,
durationMs and createdAt. A failed attempt is recorded with succeeded set to false.
Roles and modules
GET /panel/roles returns id, name, active, userCount, createdAt and modifiedAt, ordered
by name, paged like the other lists. GET /panel/roles/{roleId} adds subscriptions and
environments with the same structure as the user detail.
GET /panel/modules returns the mobile modules licensed to the tenant: moduleId, description,
moduleType and the processes of the catalogue with their permissions.
An unknown user answers 404, error plure_1326; an unknown role, plure_1327.
Dynamics 365 CRM API
Read and write Dynamics 365 CRM (Dataverse) through the Plur-e public API — the 13 operations with curl examples, the required select, cursor pagination and how deletes and actions are scoped.
Errors
The error format of the Plur-e public API — application/problem+json, every code with its HTTP status and meaning, and the catalogue errors plure_1320 to plure_1328 that integrations meet.