Skip to main content

Feature Management

Features are functional units within a project — used to organise and scope capabilities across spaces. All System API endpoints require X-Server-Key from your config.yml.


Create Features

Create one or more features under a project in a single request. Send an array of feature objects.

Request Body

Send an array of feature objects — even for a single feature, always wrap in [].

FieldTypeRequiredDescription
org_idstringYesOrganisation identifier
project_idstringYesProject identifier the feature belongs to
namestringYesDisplay name of the feature
descriptionstringNoOptional description
emailstringYesContact email for the feature owner
touched_bystringYesID of the user creating or modifying the feature
owner_idstringYesIdentifier of the feature owner

Required Headers

HeaderDescription
X-Org-IdOrganisation identifier
X-Project-IdProject identifier
X-User-IdAuthenticated user's identifier
X-User-RolesComma-separated roles (e.g., admin,user)
X-Server-KeyServer key from config.yml

Response

201 Created:

{
"code": 201,
"status": "Created",
"message": "features created successfully"
}

Update Features

Update one or more existing features. Pass feature_id in each object to identify which feature to update.

Request Body

Send an array of feature objects. Each object must include feature_id to identify which feature to update.

FieldTypeRequiredDescription
feature_idstringYesID of the feature to update
org_idstringYesOrganisation identifier
project_idstringYesProject identifier the feature belongs to
namestringYesUpdated display name of the feature
descriptionstringNoOptional description
emailstringYesContact email for the feature owner
touched_bystringYesID of the user updating the feature
owner_idstringYesIdentifier of the feature owner

Required Headers

HeaderDescription
X-Org-IdOrganisation identifier
X-Project-IdProject identifier
X-Space-IdSpace identifier
X-User-IdAuthenticated user's identifier
X-User-RolesComma-separated roles (e.g., admin,user)
X-Server-KeyServer key from config.yml

Response

200 OK:

{
"code": 200,
"status": "OK",
"message": "features updated successfully"
}

Get Features

Returns all features under a specific organisation and project.

Required Headers

HeaderDescription
X-Org-IdOrganisation identifier
X-Project-IdProject identifier
X-User-IdAuthenticated user's identifier
X-Server-KeyServer key from config.yml

Response

200 OK:

[
{
"feature_id": "01KHX2SERSNQ1B3FVNB65G3251",
"name": "Feature 1",
"description": "Organization workspace enhancement",
"email": "admin@mycompany.com"
},
{
"feature_id": "01KHX2SERSM00KJ0ASAWFSNTJY",
"name": "Feature 2",
"description": "Project related enhancements",
"email": "admin@mycompany.com"
}
]

Common Errors

CodeCause
400Body is not a valid JSON array, or a required field is missing
401Missing X-User-Id header
403Invalid or missing X-Server-Key
404Project or org not found — check X-Project-Id and X-Org-Id
208A feature with the same name already exists under this project