Columns
The shape of a module's grid — one definition per field every record in the module carries.
GET
/columns/{moduleId}List columns
Column definitions for a module — types, options, widths. A module carries two sets: the board's own (default) and its sub-record grid's (?scope=subrecord).
From an extension view: requires the columns:read scope
Path parameters
| moduleId* | string | Module id. |
Query parameters
| scope | string | "subrecord" for the sub-record grid's columns. Omit for the board's own. |
bash
curl -X GET 'https://api.conexus-x.example/api/columns/{moduleId}' \
-H 'x-api-key: YOUR_PIT_KEY'Example response
json
{
"columns": [
{
"_id": "66f1a2b3c4d5e6f7a8b9c3c1",
"name": "Stage",
"type": "status",
"position": 1,
"width": 160,
"isRequired": false,
"isHidden": false,
"statusOptions": [
{
"label": "Hot",
"color": "#ef4444"
},
{
"label": "Warm",
"color": "#f59e0b"
},
{
"label": "Cold",
"color": "#3b82f6"
}
]
}
]
}POST
/columns/{moduleId}Add a column
Creates a column on a module.
From an extension view: requires the columns:write scope
Path parameters
| moduleId* | string | Module id. |
Body
| name* | string | Column name. |
| type* | string | text | number | status | date | timeline | person | email | phone | checkbox | dropdown | link | file | rating | relation | reference |
| scope | string | "subrecord" to add it to the sub-record grid instead of the board. |
| settings | object | relation: {targetModule} · reference: {via, field, aggregate}. |
bash
curl -X POST 'https://api.conexus-x.example/api/columns/{moduleId}' \
-H 'x-api-key: YOUR_PIT_KEY'
-H 'Content-Type: application/json' \
-d '{"name":"Stage","type":"status"}'Example response
json
{
"_id": "66f1a2b3c4d5e6f7a8b9c3c1",
"name": "Stage",
"type": "status",
"position": 1,
"width": 160,
"isRequired": false,
"isHidden": false,
"statusOptions": [
{
"label": "Hot",
"color": "#ef4444"
},
{
"label": "Warm",
"color": "#f59e0b"
},
{
"label": "Cold",
"color": "#3b82f6"
}
]
}PUT
/columns/{columnId}Update a column
Renames, resizes, reorders a column, or replaces its status options.
From an extension view: requires the columns:write scope
Path parameters
| columnId* | string | Column id. |
Body
| name | string | New name. |
| width | number | Column width in px. |
| position | number | New sort position. |
| statusOptions | {label,color}[] | Status columns only — replaces the whole option set. |
bash
curl -X PUT 'https://api.conexus-x.example/api/columns/{columnId}' \
-H 'x-api-key: YOUR_PIT_KEY'
-H 'Content-Type: application/json' \
-d '{"width":200}'Example response
json
{
"_id": "66f1a2b3c4d5e6f7a8b9c3c1",
"name": "Stage",
"type": "status",
"position": 1,
"width": 160,
"isRequired": false,
"isHidden": false,
"statusOptions": [
{
"label": "Hot",
"color": "#ef4444"
},
{
"label": "Warm",
"color": "#f59e0b"
},
{
"label": "Cold",
"color": "#3b82f6"
}
]
}DELETE
/columns/{columnId}Delete a column
Deletes a column and every value stored in it, on every record.
From an extension view: requires the columns:write scope
Path parameters
| columnId* | string | Column id. |
bash
curl -X DELETE 'https://api.conexus-x.example/api/columns/{columnId}' \
-H 'x-api-key: YOUR_PIT_KEY'Example response
json
{
"message": "Column deleted."
}