Skip to content

Create Config

POST
/api/v1/configs

Create a new pipeline configuration.

The YAML is validated but validation errors do NOT block persistence — the config is saved regardless and the validation_report / is_runnable fields on the response reflect the current state. The run-gate on POST /configs/{id}/run enforces that invalid configs cannot be executed.

Pure YAML parse errors still return 400 (nothing persistable).

Args: request: Configuration create request service: Execution service (injected) container: Service container (injected)

Returns: Created configuration with validation_report and is_runnable populated.

Raises: HTTPException: 400 on YAML parse error, 500 for server errors

ConfigCreateRequest

Request to create a new pipeline configuration.

object
name
required
Name

Human-readable name for the configuration

string
config_yaml
required
Config Yaml

Full YAML content

string
source_type
Source Type

Origin of config

string
default: api
Allowed values: file api imported
source_path
Any of:
string
description
Any of:
string

Successful Response

PipelineConfigResponse

Pipeline configuration response.

Note: Renamed from ConfigResponse to avoid schema collision with SystemConfigResponse.

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

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