Read-mostly API backing the internal transportation dashboard (route/driver overview, stop detail, driver management, asset browsing, and log access).
This uses a separate auth scheme from the rest of the API. Driver-facing endpoints elsewhere in this
documentation use employee_id / api_token headers checked against GUSRPOD.
Dashboard endpoints instead use username / api_token headers checked against the AS/400
GUSER table, and require USERGRP to be TA (Transportation Admin) or
IP (IT): other groups get 403 Forbidden. Sign in first via Dashboard Sign In
below to get a token.
Authenticates with AS/400 GUSER credentials and returns an api_token derived from the user's password hash (rotates automatically if the AS/400 password changes).
Endpoint: POST /api/dashboard/auth
Authentication: None
Result:
...
Route/driver counts and average stop duration for a week. Defaults to the most recent ROUTEWKE in GROUTEC if week_end is omitted.
Endpoint: GET /api/dashboard/overview?week_end=
Authentication: Required: headers: username, api_token
Result:
...
All routes from GROUTEC, most recent week first.
Endpoint: GET /api/dashboard/routes
Authentication: Required: headers: username, api_token
Result:
...
Stop summary list for one route.
Endpoint: GET /api/dashboard/routes/:facility/:route_id/stops?week_end=
Authentication: Required: headers: username, api_token
Result:
...
Full stop detail: customer, products, collections, and OSD entries (comments decoded via DB2Store).
Endpoint: GET /api/dashboard/routes/:facility/:route_id/stops/:stop_id?week_end=
Authentication: Required: headers: username, api_token
Result:
...
Manage POD-registered drivers (GUSRPOD). All endpoints below require the shared credentials entered above.
| Method | Path | Description |
|---|---|---|
| GET | /api/dashboard/drivers | List all registered drivers with employee info and route assignment. |
| POST | /api/dashboard/drivers | Register a driver. Body: { employee_id } (must exist in GEMPLOY). Default password: [employee_id]Pod. |
| PUT | /api/dashboard/drivers/:employee_id/activate | Sets USRACTIVE = 1. |
| PUT | /api/dashboard/drivers/:employee_id/deactivate | Sets USRACTIVE = 0 and clears the driver's current API token. |
| PUT | /api/dashboard/drivers/:employee_id/reset-password | Resets password to [employee_id]Pod, clears OTP flag and current token. |
| DELETE | /api/dashboard/drivers/:employee_id | Removes the driver from GUSRPOD entirely. |
Result:
...
Lists every asset ID (signatures, driver/skip comments, product images, OSD images/comments) referenced across GPODELH/GPODELD/GPODOSD for a week, with MIME type resolved from GPODDATA. Defaults to the most recent PDWKEND if omitted.
Endpoint: GET /api/dashboard/assets?week_end=
Authentication: Required: headers: username, api_token
Result:
...
Browse and manage IFS request/response log files under /tmp/POD_API (written by lib/IFSLog: every driver-facing route call, and every StopEmail send, is logged there as JSON).
| Method | Path | Description |
|---|---|---|
| GET | /api/dashboard/logs | Lists .json log files under /tmp/POD_API, newest first (up to 1000). |
| GET | /api/dashboard/logs/file?path= | Reads one log file's contents. path must start with /tmp/POD_API/. |
| DELETE | /api/dashboard/logs?path= | Deletes one log file, or every .json file under a directory if path isn't itself a .json file. |
Result:
...