Skip to content

Custom Columns

GET    /api/custom-columns
GET    /api/custom-columns/{id}
GET    /api/custom-columns/{table}
POST   /api/custom-columns
PUT    /api/custom-columns/{id}
PUT    /api/custom-columns/{table}
DELETE /api/custom-columns/{id}

Required privilege: Custom Columns / View (read) ยท Custom Columns / Edit (write)

Custom columns extend any supported table with organisation-defined fields. Values are stored per record and returned automatically in list and detail responses.


Supported Tables

Table Identifier Description
PurchaseOrderList PO header custom fields
PurchaseOrderDetails PO line item custom fields
SalesOrderList SO header custom fields
SalesOrderDetails SO line item custom fields
ManufacturingOrderList MO header custom fields
ForecastList Forecast header custom fields
Inventory Inventory record custom fields
ItemMaster Item master custom fields

Custom Column Object

{
  "id": 401,
  "table": "PurchaseOrderList",
  "key": "Internal Reference",
  "format": "string",
  "alias": "Int. Ref.",
  "description": "Internal reference number from legacy ERP",
  "required": false,
  "default_value": null
}
Field Type Description
id integer Internal column identifier
table string Table this column belongs to
key string Column key (used in API responses)
format string Data type: string, number, date, boolean, currency
alias string | null Display label
required boolean Whether a value is required on create/update
default_value any | null Default value for new records

GET - List All Custom Columns

curl -b cookies.txt "https://acme.knosc.com/api/custom-columns"

GET - List Columns for Table

curl -b cookies.txt "https://acme.knosc.com/api/custom-columns/PurchaseOrderList"

POST - Create Custom Column

POST /api/custom-columns HTTP/1.1
Content-Type: application/json
X-XSRF-TOKEN: <csrf>

{
  "table": "PurchaseOrderList",
  "key": "Internal Reference",
  "format": "string",
  "alias": "Int. Ref.",
  "required": false
}

Validation: key must be unique per table.


PUT - Update Column or Table Configuration

Update a specific column:

PUT /api/custom-columns/{id} HTTP/1.1

Update table-level column configuration (display order, visibility):

PUT /api/custom-columns/{table} HTTP/1.1

DELETE - Remove Column

DELETE /api/custom-columns/{id} HTTP/1.1
X-XSRF-TOKEN: <csrf>

Removing a column also removes all stored values for that column across all records.


Custom Column Values in Responses

Once created, custom columns appear automatically in list and detail responses:

{
  "id": 42,
  "PO List Number": "PO-2024-001",
  "Internal Reference": "LEGACY-ERP-0042",
  ...
}

Custom column values can be set via the standard POST / PUT endpoints for each entity - include the custom column key in the request body.