Projects
POST /v1/config/projects
Create a new project in your tenant
Creates a new project. Projects group log sources, repos, channels, analyses, and watchdog rules under a single name and slug.
Plan tiers cap the number of projects per tenant — see Plans for the limit on your tier.
Authentication
API key with config:write permission.
Endpoint
POST /v1/config/projectsRequest 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) | — | Optional long-form description |
{
"name": "Checkout API",
"slug": "checkout-api",
"description": "Production checkout service"
}Response
201 Created
{
"success": true,
"data": {
"id": "6f1c89bb-3b50-4c4a-9c5f-...",
"name": "Checkout API",
"slug": "checkout-api",
"description": "Production checkout service",
"isDefault": false,
"llmContext": null,
"createdAt": "2026-04-25T14:30:00Z",
"updatedAt": "2026-04-25T14:30:00Z"
}
}Error responses
| Status | error.code | When |
|---|---|---|
| 400 | VALIDATION_ERROR | name, slug, or description failed validation (slug must be lowercase alphanumeric with hyphens) |
| 401 | UNAUTHORIZED | Missing or invalid API key |
| 403 | FORBIDDEN | Key lacks config:write |
| 403 | QUOTA_EXCEEDED | Plan project limit reached |
| 409 | SLUG_EXISTS | Another project in your tenant already uses this slug |
Example
curl -X POST https://api.sigsentry.com/v1/config/projects \
-H "Authorization: Bearer ss_secret_..." \
-H "Content-Type: application/json" \
-d '{
"name": "Checkout API",
"slug": "checkout-api"
}'Idempotency
POST /v1/config/projects honors the Idempotency-Key header — see
Idempotency.
See also
- Projects guide — what to configure after creating a project
- AI analysis context — set with
PUT /v1/config/projects/{id}once the project exists - Plans — project limits per tier
