GET
/
api
/
pane-logs
List pane logs
curl --request GET \
  --url http://localhost:3000/api/pane-logs \
  --header 'Authorization: Bearer <token>'
{
  "success": true,
  "message": "<string>",
  "data": [
    {
      "_id": "<string>",
      "pane": {
        "_id": "<string>",
        "paneNumber": "<string>",
        "glassTypeLabel": "<string>"
      },
      "paneId": {},
      "order": "<string>",
      "orderId": "<string>",
      "material": "<string>",
      "station": "<string>",
      "reason": "<string>",
      "description": "<string>",
      "completedAt": "2023-11-07T05:31:56Z",
      "createdAt": "2023-11-07T05:31:56Z",
      "updatedAt": "2023-11-07T05:31:56Z"
    }
  ]
}

Permission

Requires pane_logs:view. The default worker role includes it (along with admin and manager), so station and production UIs can read history. Custom roles need this key explicitly.

Query parameter action

Supported values include scan_in, start, complete, scan_out, laminate_start, laminate_complete, qc_pass, and qc_fail. Example:
GET /api/pane-logs?action=qc_fail&limit=100
QC fail logs include reason and description when present on the stored document.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Query Parameters

station
string

Filter by station ObjectId

action
enum<string>

Filter by PaneLog action type

Available options:
scan_in,
start,
complete,
scan_out,
laminate_start,
laminate_complete,
qc_pass,
qc_fail
orderId
string

Filter by order ID

paneId
string

Filter by pane ID

materialId
string

Filter by material ID

limit
integer
default:100

Max number of logs to return (default 100, max 500)

Required range: x <= 500

Response

List of pane logs

success
boolean
Example:

true

message
string
data
object[]