Update project settings
Changed onRequest
- Base URL: /api (relative, and the document was published on a file host, not at the API’s origin)
- URL: /api/projects/{project_id}/settings
- Auth: HTTP bearer
Path parameters
Project ID
Request body
Opt in to AI summarization of metric alert notifications (ADR-021).
Opt in to AI summarization of API traffic analytics.
Enable/disable attack mode (CAPTCHA protection) for all project environments
ADR-027 Phase 3 opt-out: set to false to suppress this project's traces from appearing in cross-project discovery results. Default true (consistent with the OSS global-observability model). Omit to leave unchanged.
Enable automatic preview environment creation for each branch
Opt in to native error-tracking source context (source-file upload + source code shown in stack traces).
Set the auto-capture source root (relative to the checkout). Send an empty string to clear it back to the build-context default. Omit to leave unchanged.
How long (hours) to retain built Docker images before nightly cleanup removes them. Set to null to use the system default. Valid range: 1–8760.
Omitting the key leaves the current value unchanged; sending an explicit null clears the per-project override. skip_serializing_if keeps the round-trip honest — re-serializing a request that omitted the key must not emit "image_retention_hours": null, which would mean "reset".
Human-facing project display name. Unlike slug this is not part of any URL and is not required to be unique. Changing it also changes the OTEL_SERVICE_NAME injected into subsequent deployments.
Idle timeout (seconds, 60..=86400) for on-demand preview environments.
When true, newly-created preview environments default to on-demand mode.
Wake timeout (seconds, 5..=120) for on-demand preview environments.
Opt in to Trivy vulnerability scanning of this project's deployed Docker images (post-deployment scan + daily rescans). Off by default.
Example request
{
"preset_config": {
"buildContext": "./api",
"dockerfilePath": "docker/Dockerfile"
}
}Response
Project settings updated successfully
Opt-in to AI summarization of metric alert notifications (NULL/false = off).
Opt-in to AI summarization of API traffic analytics (NULL/false = off).
Whether this project also accepts deployments from a source other than source_type — chiefly, whether a Git-backed project will take an uploaded source archive (drop). null or false means only the configured source_type (plus Docker images and static bundles, which every project accepts) may be deployed.
Attack mode - when enabled, requires CAPTCHA verification for all project environments
ADR-027 Phase 3 opt-out: when false, this project's traces are suppressed from cross-project discovery results. Default true (consistent with the OSS global-observability model where any OtelRead holder can query any project's telemetry).
Enable automatic preview environment creation for each branch
Opt-in to native error-tracking source context (false = off). When on, Temps stores uploaded source files and shows source code in stack traces.
Where auto-capture reads source from (relative to the checkout). Null = the deployment's Docker build context.
Git provider behind git_provider_connection_id: github, github_app, gitlab, gitea, bitbucket or generic. null when the project has no connection (public repository, Docker image or uploaded source).
Clients must use this rather than guessing the host from git_url: a self-hosted GitLab/Gitea/Bitbucket instance can live on any domain, and a connected project may have no clone URL stored at all.
Git clone URL for the repository (used for public repos without a provider connection)
GitLab webhook ID installed on the connected repository. null when no GitLab webhook is installed (not connected to GitLab, or webhook was removed / never created).
Hours to retain built Docker images before nightly cleanup. Null = use the system-wide default from settings.
Authoritative repository visibility. A missing connection alone does not imply that an incompletely configured repository is public.
Idle timeout (seconds) for on-demand preview environments.
When true, newly-created preview environments default to on-demand mode (containers stop after the configured idle timeout to save resources).
Wake timeout (seconds) for on-demand preview environments.
Product lifecycle classification. service projects are tied to a persisted, versioned template release; this is independent from the deployment transport in source_type.
When true, deploy clones only directory via git sparse-checkout.
Logo from the immutable service-template release applied to this project. Clients should prefer it over a deployed site's favicon.
Exact service-template version currently applied to the project.
Source type for project deployments
Determines where the deployment artifacts come from:
- External: Telemetry only, without hosting
- Git: Source code from a Git repository (traditional flow)
- DockerImage: Pre-built Docker image from external registry
- StaticFiles: Pre-built static files uploaded as a bundle
- UploadedSource: Source archive uploaded without a Git repository
- Manual: Flexible type that accepts any deployment method
Bundled template slug that created this project. Clients use this to present template-specific runtime configuration instead of generic source-build controls.
Opt-in Trivy vulnerability scanning of this project's deployed Docker images. Off by default — project owners explicitly enable it.
Example response
{
"docker_socket": {
"nodes": [
"control-plane",
"worker-1"
]
},
"git_provider_type": "gitlab",
"gitlab_webhook_id": 42,
"preset_config": {
"buildContext": "./api",
"dockerfilePath": "docker/Dockerfile"
}
}Changes
- info
added the optional property
/to the response with the status
- info
- info
added the optional property
/to the response with the status
- info