Skip to content

Update Config

PUT
/api/v1/configs/{config_id}

Update an existing pipeline configuration.

Validation errors do NOT block persistence — the new YAML is saved and the response carries the current validation_report / is_runnable fields so the caller can surface the status. The run-gate on POST /configs/{id}/run enforces that invalid configs cannot be executed.

Args: config_id: Configuration UUID to update request: Update request with new name, description, and config_yaml service: Execution service (injected) container: Service container (injected)

Returns: Updated configuration details with validation_report and is_runnable.

Raises: HTTPException: 404 if not found, 400 on YAML parse error only

config_id
required
Config Id
string format: uuid
ConfigUpdateRequest

Request to update an existing pipeline configuration.

Updates name, description, and config_yaml. The version is incremented automatically by the server, and config_hash is recalculated.

object
name
required
Name

Human-readable name for the configuration

string
config_yaml
required
Config Yaml

Full YAML content

string
description
Any of:
string

Successful Response

ConfigDetailResponse

Detailed configuration response including YAML content.

object
id
required
Id

Configuration UUID

string format: uuid
name
required
Name

Configuration name

string
description
Any of:
string
source_type
required
Source Type

Origin of config

string
Allowed values: file api imported
source_path
Any of:
string
config_hash
required
Config Hash

SHA-256 hash of config

string
version
required
Version

Version number

integer
created_at
required
Created At

Creation timestamp

string format: date-time
updated_at
required
Updated At

Last update timestamp

string format: date-time
is_active
required
Is Active

Whether config is active

boolean
validation_report
Any of:
ValidationReportResponse

Validation report returned by the config validator.

Returned verbatim in 200 responses from POST /configs/validate and embedded in 400 responses from create/update/run endpoints when validation fails.

object
is_valid
required
Is Valid

True when no errors present; warnings do not invalidate

boolean
issues
Issues

All findings, errors first then warnings

Array<object>
ValidationIssueResponse

A single validation finding emitted by the pipeline config validator.

object
severity
required
Severity

Error or warning

string
Allowed values: error warning
code
required
Code

Stable error code (e.g. E202, W501)

string
path
required
Path

Path into the config where the issue was found

string
message
required
Message

Human-readable description of the issue

string
suggestion
required
Suggestion

Deterministic, authoritative remediation guidance

string
error_count
required
Error Count

Number of errors

integer
warning_count
required
Warning Count

Number of warnings

integer
is_runnable
Is Runnable

True when the config passes validation (error_count == 0). Warnings do not invalidate. Mirrors ValidationReport.is_valid.

boolean
default: true
config_yaml
required
Config Yaml

Full YAML content

string
created_by
Any of:
string

Resource not found

ErrorResponse

Standard error response matching FastAPI HTTPException format.

This model is used in OpenAPI response declarations for 4xx/5xx errors. The detail field matches FastAPI’s HTTPException structure.

object
detail
required
Detail

Error message (matches FastAPI HTTPException)

string
error_code
Any of:
string
correlation_id
Any of:
string
timestamp
Timestamp

Error timestamp

string format: date-time

Validation Error

HTTPValidationError
object
detail
Detail
Array<object>
ValidationError
object
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
input
Input
ctx
Context
object