POST
/
api
/
panes
Create a pane
curl --request POST \
  --url http://localhost:3000/api/panes \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "request": "<string>",
  "order": "<string>",
  "material": "<string>",
  "inventory": "<string>",
  "currentStation": "<string>",
  "routing": [
    "<string>"
  ],
  "customRouting": true,
  "dimensions": {
    "width": 1,
    "height": 1,
    "thickness": 1
  },
  "jobType": "<string>",
  "rawGlass": {
    "glassType": "<string>",
    "color": "<string>",
    "thickness": 1,
    "sheetsPerPane": 2
  },
  "glassType": "<string>",
  "glassTypeLabel": "<string>",
  "cornerSpec": "<string>",
  "dimensionTolerance": "<string>",
  "holes": [
    {
      "id": "<string>",
      "x": 123,
      "y": 123,
      "diameter": 123,
      "width": 123,
      "height": 123,
      "length": 123,
      "vertices": [
        {
          "x": 123,
          "y": 123
        }
      ]
    }
  ],
  "notches": [
    {
      "id": "<string>",
      "x": 123,
      "y": 123,
      "diameter": 123,
      "width": 123,
      "height": 123,
      "length": 123,
      "vertices": [
        {
          "x": 123,
          "y": 123
        }
      ]
    }
  ],
  "processes": [
    "<string>"
  ],
  "edgeTasks": [
    {
      "side": "<string>",
      "edgeProfile": "<string>",
      "machineType": "<string>",
      "status": "pending"
    }
  ],
  "withdrawal": "<string>",
  "remakeOf": "<string>",
  "parentPane": "<string>",
  "childPanes": [
    "<string>"
  ],
  "sheetLabel": "<string>",
  "laminateStation": "<string>",
  "startedAt": "2023-11-07T05:31:56Z",
  "completedAt": "2023-11-07T05:31:56Z",
  "deliveredAt": "2023-11-07T05:31:56Z",
  "notes": "<string>"
}
'
{
  "success": true,
  "message": "<string>",
  "data": {
    "_id": "<string>",
    "paneNumber": "PNE-0001",
    "qrCode": "STDPLUS:PNE-0001",
    "request": "<string>",
    "order": "<string>",
    "material": "<string>",
    "inventory": "<string>",
    "currentStation": "<string>",
    "currentStatus": "pending",
    "routing": [
      "<string>"
    ],
    "customRouting": false,
    "dimensions": {
      "width": 1,
      "height": 1,
      "thickness": 1
    },
    "jobType": "<string>",
    "rawGlass": {
      "glassType": "<string>",
      "color": "<string>",
      "thickness": 123,
      "sheetsPerPane": 1
    },
    "glassType": "<string>",
    "glassTypeLabel": "<string>",
    "cornerSpec": "<string>",
    "dimensionTolerance": "<string>",
    "holes": [],
    "notches": [],
    "processes": [
      "<string>"
    ],
    "edgeTasks": [
      {
        "side": "<string>",
        "edgeProfile": "<string>",
        "machineType": "<string>",
        "status": "pending"
      }
    ],
    "withdrawal": "<string>",
    "remakeOf": "<string>",
    "mergedInto": "<string>",
    "laminateMergedAt": "2023-11-07T05:31:56Z",
    "laminateRole": "single",
    "parentPane": "<string>",
    "childPanes": [
      "<string>"
    ],
    "sheetLabel": "<string>",
    "laminateStation": "<string>",
    "startedAt": "2023-11-07T05:31:56Z",
    "completedAt": "2023-11-07T05:31:56Z",
    "deliveredAt": "2023-11-07T05:31:56Z",
    "createdAt": "2023-11-07T05:31:56Z",
    "updatedAt": "2023-11-07T05:31:56Z"
  }
}

Authorizations

Authorization
string
header
required

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

Body

application/json
request
string
required

Request ID this pane belongs to

Minimum string length: 1
order
string

Order ID (optional, auto-filled when order is created from request)

Minimum string length: 1
material
string

Material ID (optional, auto-filled from the order's material when order is created from request)

Minimum string length: 1
inventory
string

Inventory slot ID. If provided, a 'cut' MaterialLog is auto-created for traceability.

Minimum string length: 1
currentStation
string

Station ObjectId

Minimum string length: 1
currentStatus
enum<string>
Available options:
pending,
in_progress,
awaiting_scan_out,
completed,
claimed,
defected
routing
string[]

Array of Station ObjectIds

Minimum string length: 1
customRouting
boolean
dimensions
object
jobType
string

What the customer wants done (e.g. Laminated, Tempered, Beveled)

rawGlass
object
glassType
string
glassTypeLabel
string
cornerSpec
string

Corner cutting specification

dimensionTolerance
string

Acceptable dimension tolerance

holes
object[]

Array of hole positions and dimensions

notches
object[]

Array of notch positions and dimensions

processes
string[]

Processing steps required (e.g. temper, laminate, assembly, cnc)

edgeTasks
object[]
withdrawal
string
Minimum string length: 1
remakeOf
string
Minimum string length: 1
laminateRole
enum<string>
Available options:
single,
parent,
sheet
parentPane
string
Minimum string length: 1
childPanes
string[]
Minimum string length: 1
sheetLabel
string
laminateStation
string
Minimum string length: 1
startedAt
string<date-time>
completedAt
string<date-time>
deliveredAt
string<date-time>
notes
string

Response

Pane created. For regular panes, data is a single Pane object. For laminate panes (sheetsPerPane > 1), data is { parent: Pane, sheets: Pane[] }.

success
boolean
Example:

true

message
string
data
object

Single pane (regular)