Skip to main content

Project settings

MethodPathDescription
GET/api/projects/{id}/settingsServices, environment variables, review commands and setup commands.
PATCH/api/projects/{id}/settingsUpdate project-level setup: hostSetupCommand, setupCommand, warmupCommand, agentWorkDir, sessionBaseBranch, prTargetBranch, sandboxTier.
POST/api/projects/{id}/settings/importReplace all settings from a kosuke.config.json, atomically.
POST/api/projects/{id}/settings/servicesAdd a service.
PATCH, DELETE/api/projects/{id}/settings/services/{serviceId}Update or remove a service.
POST/api/projects/{id}/settings/env-varsBatch upsert. Body is an array of { key, value, isSecret }. Values are encrypted at rest.
DELETE/api/projects/{id}/settings/env-varsBatch delete. Body is an array of ids.
POST/api/projects/{id}/settings/review-commandsAdd a review command. Body { name, command, directory }.
PATCH, DELETE/api/projects/{id}/settings/review-commands/{commandId}Update or remove one.
POST/api/projects/{id}/settings/agentic-deployStart a deploy with an empty body, or continue a paused one with { userResponse }.
POST/api/projects/{id}/settings/agentic-deploy/cancelCancel a deploy in progress.

A service is { name, directory, kind, endpoints, startCommand, stopCommand, after, envFiles, sortOrder }. Names must be lowercase alphanumeric with inner hyphens, because they become DNS labels and unit names. kind is process or docker-stack. Each endpoint is { name, port, exposure, healthRoute } with exposure internal, public or preview. List the primary user-facing endpoint first: it answers {{service.url}} and drives the readiness probe. Ports must be unique across the whole project, and after must name services that exist.