Projects
PUT /v1/config/projects/{id}
Update a project's metadata or AI analysis context
Updates an existing project. All fields are optional — send only what you want to change.
Authentication
API key with config:write permission.
Endpoint
PUT /v1/config/projects/{id}Path parameters
| Param | Type | Notes |
|---|---|---|
id | UUID | The project id |
Request body
| Field | Type | Required | Notes |
|---|---|---|---|
name | string (1–255 chars) | — | Display name |
slug | string (1–100 chars) | — | Lowercase alphanumeric with hyphens; must be unique within the tenant |
description | string (≤ 1000 chars) | — | Long-form description |
llmContext | string (≤ 2000 chars) | null | — | AI analysis context paragraph; null clears it |
{
"name": "Checkout (production)",
"llmContext": "Python/Django checkout API on Kubernetes, MySQL 8 primary. Heavy traffic at top of the hour."
}See AI analysis context for guidance on
writing an effective llmContext.
Response
200 OK
{
"success": true,
"data": {
"updated": true
}
}The endpoint does not echo the project. Re-fetch via
GET /v1/config/projects if you need the new
shape.
Error responses
| Status | error.code | When |
|---|---|---|
| 400 | VALIDATION_ERROR | id is not a valid UUID, or one of the body fields failed validation |
| 401 | UNAUTHORIZED | Missing or invalid API key |
| 403 | FORBIDDEN | Key lacks config:write |
| 404 | NOT_FOUND | No project with that id in your tenant |
Example
curl -X PUT https://api.sigsentry.com/v1/config/projects/6f1c89bb-3b50-4c4a-9c5f \
-H "Authorization: Bearer ss_secret_..." \
-H "Content-Type: application/json" \
-d '{ "description": "Now also handles refunds." }'See also
- AI analysis context — what to put in
llmContext - Metadata — name, slug, description guidance
- Errors — error code reference
