GSC POD API

Dashboard

Overview

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.

Dashboard Sign In

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


Try It Out


Result:

...
Shared credentials for the tools below: sign in above first, or enter them manually. Every other dashboard endpoint requires both headers.

Overview

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


Try It Out


Result:

...

Routes

All routes from GROUTEC, most recent week first.

Endpoint: GET /api/dashboard/routes

Authentication: Required: headers: username, api_token


Try It Out



Result:

...

Route Stops

Stop summary list for one route.

Endpoint: GET /api/dashboard/routes/:facility/:route_id/stops?week_end=

Authentication: Required: headers: username, api_token


Try It Out


Result:

...

Stop Detail

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


Try It Out


Result:

...

Drivers

Manage POD-registered drivers (GUSRPOD). All endpoints below require the shared credentials entered above.

MethodPathDescription
GET/api/dashboard/driversList all registered drivers with employee info and route assignment.
POST/api/dashboard/driversRegister a driver. Body: { employee_id } (must exist in GEMPLOY). Default password: [employee_id]Pod.
PUT/api/dashboard/drivers/:employee_id/activateSets USRACTIVE = 1.
PUT/api/dashboard/drivers/:employee_id/deactivateSets USRACTIVE = 0 and clears the driver's current API token.
PUT/api/dashboard/drivers/:employee_id/reset-passwordResets password to [employee_id]Pod, clears OTP flag and current token.
DELETE/api/dashboard/drivers/:employee_idRemoves the driver from GUSRPOD entirely.

Try It Out: List Drivers


Result:

...

Assets

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


Try It Out


Result:

...

Logs

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).

MethodPathDescription
GET/api/dashboard/logsLists .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.

Try It Out: List Logs


Result:

...