Create extra column
Endpoint: POST /datasets/{dataset_id}/extra-columns
Description
Adds a user-defined free-text column to a custom dataset. The server assigns a stable column id (col_ + 8 lowercase hex characters). Column type is always "text" today. A dataset can have at most 20 extra columns; labels are limited to 64 characters (trimmed) and must not duplicate an existing extra column or a standard structure field name (case-insensitive).
Sharing rules
Custom datasets only. You must own the dataset or belong to the dataset's organization when it is org-shared.
Parameters
- Path:
dataset_id— integer. - Body —
application/json:
{
"label": "Notes"
}
label— optional string (1–64 characters, trimmed). When omitted or not sent ({}is valid), the server assigns a default —"Notes", then"Notes 2", and so on.
Error responses
401— Authentication failed.400— Dataset is not a custom dataset:Extra columns are only supported on custom datasets.Duplicate label (extra column or structure field):A column with this label already exists.Dataset already has 20 extra columns:A dataset can have at most 20 extra columns.403— You don't have permission to perform this action (not the owner and not an org member for an org-owned dataset).404—Dataset with id {dataset_id} not found.422— Validation failed (for example whitespace-onlylabel):Column label is required.500—An error occurred while creating the extra column.
Responses
201— Created column definition.
Example response (201)
{
"id": "col_aabbccdd",
"label": "Notes",
"type": "text"
}
curl
curl -X POST "https://api.aegisevals.ai/api/v1/datasets/42/extra-columns" \
-H "Authorization: Bearer sk_00000000000000000000000000000000" \
-H "Content-Type: application/json" \
-d '{"label": "Notes"}'