Overview
Columns are the fundamental building blocks of tables in NocoDB. The Columns API allows you to create, read, update, and delete columns with various data types and configurations.Column Types
NocoDB supports a wide range of column types:- Text:
SingleLineText,LongText,Email,URL,PhoneNumber - Numeric:
Number,Decimal,Currency,Percent,Duration,Rating - Date & Time:
Date,DateTime,Time,Year - Select:
SingleSelect,MultiSelect - Relationship:
LinkToAnotherRecord,Lookup,Rollup - Special:
Attachment,Checkbox,QrCode,Barcode,JSON - Auto:
ID,AutoNumber,CreatedTime,LastModifiedTime - User:
User,Collaborator,CreatedBy,LastModifiedBy - Formula:
Formula - Other:
Button,GeoData,Geometry,AI,UUID
Create Column
Create a new column in a table.Request Parameters
Unique identifier for the table
Request Body
Display title of the column (1-255 characters)
Database column name (auto-generated if not provided)
UI Data Type - determines the column type. See Column Types for available options
Column description (max 8192 characters)
Database data type (e.g., “varchar”, “int”)
Data type precision (e.g., length for varchar)
Data type scale (for decimal types)
Is required field (0 = false, 1 = true)
Is primary key (0 = false, 1 = true)
Is unique constraint (0 = false, 1 = true)
Column default value
Is auto-increment (0 = false, 1 = true)
Auto update timestamp (0 = false, 1 = true)
Additional metadata for the column
Example: Create Select Column
Get Column
Retrieve a specific column by its ID.Path Parameters
Unique identifier for the column
Response
Unique column identifier
Display title of the column
Database column name
UI data type (e.g., “SingleLineText”, “Number”)
Database data type
Foreign key to the table this column belongs to
Display order of the column
Whether this is a primary key
Whether this is the primary value column
Whether this column is required
Whether this is a system column
Whether this column has a unique constraint
Update Column
Update an existing column’s properties.Path Parameters
Unique identifier for the column to update
Request Body
Accepts the same parameters as Create Column. Only include fields you want to update.New display title
New description
Update required status
Example: Update Column to Required
Delete Column
Delete a column from a table.Path Parameters
Unique identifier for the column to delete
Set Primary Value
Set a column as the primary display value for the table.Path Parameters
Unique identifier for the column
Response
Returns true if the operation was successful
The primary value column is used as the display value when this table is linked to other tables.
Bulk Column Operations
Perform multiple column operations in a single request.Request Parameters
Unique identifier for the table
Request Body
Hash of the current column state for optimistic locking
Array of operations to perform
Operation type:
add, update, or deleteColumn object with properties based on the operation type
Get Columns Hash
Get a hash of the current column configuration for a table.Path Parameters
Unique identifier for the table
Response
Hash representing the current state of columns in the table
Use this hash for optimistic locking in bulk operations to ensure columns haven’t changed since you last read them.
Column Options
Different column types support specific options through thecolOptions field:
Select Options
ForSingleSelect and MultiSelect columns:
Link to Another Record
ForLinkToAnotherRecord columns:
Lookup
ForLookup columns:
Rollup
ForRollup columns:
Formula
ForFormula columns: