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).
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 In: header
Path Parameters
Unique ID of the project.
uuidThe 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}