Nurama Developers
Projects

Update a single project setting

Updates one key of the project's `settings` JSON column. Mirrors the workspace settings endpoint. Requires `canManageProjectSettings` (no subscription check on this route). At the project level every setting accepts `null`, meaning "inherit the workspace's value". Otherwise the type of `value` depends on `name`: - `allowAiFeatures`, `aiPolishEnabled`, `aiComposeEnabled`, `aiChatEnabled`, `aiAssistEnabled`, `aiTaskGenerationEnabled`, `aiImageRevisionEnabled`, `aiPolishAllowReviewer`, `aiComposeAllowReviewer`, `aiChatAllowReviewer`, `aiAssistAllowReviewer`, `aiTaskGenerationAllowReviewer`, `aiImageRevisionAllowReviewer` — boolean. - `aiAssistFollowUpWindow` — integer, 0–30. - `aiCustomPreprompt`, `aiTaskGenerationPreprompt` — string (may be empty; empty means "no preprompt", null means inherit). - `aiChatTools`, `aiAssistTools` — object mapping tool names (`^[a-z][a-z0-9_]*$`) to boolean or null. A `value` of the wrong type for the setting is a validation error (400).

PATCH
/projects/{projectId}/settings/{name}

Updates one key of the project's settings JSON column. Mirrors the workspace settings endpoint. Requires canManageProjectSettings (no subscription check on this route).

At the project level every setting accepts null, meaning "inherit the workspace's value". Otherwise the type of value depends on name:

  • allowAiFeatures, aiPolishEnabled, aiComposeEnabled, aiChatEnabled, aiAssistEnabled, aiTaskGenerationEnabled, aiImageRevisionEnabled, aiPolishAllowReviewer, aiComposeAllowReviewer, aiChatAllowReviewer, aiAssistAllowReviewer, aiTaskGenerationAllowReviewer, aiImageRevisionAllowReviewer — boolean.
  • aiAssistFollowUpWindow — integer, 0–30.
  • aiCustomPreprompt, aiTaskGenerationPreprompt — string (may be empty; empty means "no preprompt", null means inherit).
  • aiChatTools, aiAssistTools — object mapping tool names (^[a-z][a-z0-9_]*$) to boolean or null.

A value of the wrong type for the setting is a validation error (400).

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Path Parameters

projectId*string

Unique ID of the project.

Formatuuid
name*string

The project setting to update. Only the listed names are accepted.

Value in

  • "allowAiFeatures"
  • "aiPolishEnabled"
  • "aiComposeEnabled"
  • "aiChatEnabled"
  • "aiAssistEnabled"
  • "aiAssistFollowUpWindow"
  • "aiTaskGenerationEnabled"
  • "aiImageRevisionEnabled"
  • "aiPolishAllowReviewer"
  • "aiComposeAllowReviewer"
  • "aiChatAllowReviewer"
  • "aiAssistAllowReviewer"
  • "aiTaskGenerationAllowReviewer"
  • "aiImageRevisionAllowReviewer"
  • "aiCustomPreprompt"
  • "aiTaskGenerationPreprompt"
  • "aiChatTools"
  • "aiAssistTools"

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

curl -X PATCH "https://example.com/projects/497f6eca-6276-4993-bfeb-53cbbbba6f08/settings/allowAiFeatures" \  -H "Content-Type: application/json" \  -d '{    "value": null  }'
{  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",  "workspaceId": "ef0efa32-d1c1-43d4-a5e2-fe7b4f00403c",  "name": "string",  "slug": "string",  "color": "string",  "logo": "3c06f846-1ab1-40a9-8645-a19a9fdeae85",  "settings": {},  "status": "active",  "createdAt": 1678886400000,  "updatedAt": 1678886400000}