Ideas / REFERENCE
Moderate or publish an idea
Update moderation, publication, priority, configured labels and official updates. Rejection requires a reason. Returns the affected publication fields; GET /ideas/{id} returns full details.
PATCH
/api/v1/ideas/{id}/publicationPermissions ideas:write
Parameters
| Name | Description |
|---|---|
X-Luma-Workspace-Hostheader · required | Your workspace host, e.g. acme.lumi-cx.com. Required on api.lumi-cx.com. This header never grants access: the Bearer key must belong to the selected workspace. |
idpath · required | Record identifier in this workspace. |
Request body
| Field | Type & description |
|---|---|
moderationStatus | string Allowed: pending, approved, rejected |
visibility | string Allowed: private, published |
officialUpdate | string |
category | string |
module | string |
status | string |
effortScore | number |
benefitScore | number |
internalTags | array |
rejectionReason | string |
Responses
200 Successful operation
{
"ok": true,
"idea": {
"id": "example",
"moderation_status": "example",
"visibility": "example",
"category": "example",
"status": "example",
"module": "example",
"official_update": "example",
"published_at": "2026-09-26T09:00:00Z",
"effort_score": 1,
"benefit_score": 1,
"priority_score": 1,
"priority_band": "example",
"internal_tags": [
"example"
],
"rejection_reason": "example"
}
}400 Invalid request
{
"ok": false,
"error": "invalid_body",
"message": "example"
}401 Missing, invalid, expired, revoked or wrong-workspace key
{
"ok": false,
"error": "invalid_body",
"message": "example"
}403 Required key permission missing, module unavailable, or workspace suspended
{
"ok": false,
"error": "invalid_body",
"message": "example"
}404 Record, workspace or route not found
{
"ok": false,
"error": "invalid_body",
"message": "example"
}409 Version changed or the resource is locked
{
"ok": false,
"error": "invalid_body",
"message": "example"
}429 Rate limit exceeded; respect Retry-After
{
"ok": false,
"error": "invalid_body",
"message": "example"
}502 Upstream or unexpected server error
{
"ok": false,
"error": "invalid_body",
"message": "example"
}