AS A Service-Module developer
I WANT a strict, versioned schema for endpoint definitions[]
SO THAT endpoint configs are predictable, multi-UI safe, and ready for verification & tooling (#871)
Description
Add backend-side schema validation and normalization for the definitions field in the endpoints table.
Scope: structure and data quality only.
Out of scope: execution, testing, lifecycle, LLM runtime.
Acceptance Criteria
1. Schema
Each EndpointDefinition includes:
Metadata
id, label (required)
description (optional)
type, dataType, supported, isSelected
Request targeting
methodType (non-empty string, normalized to uppercase)
- At least one of:
path (relative) | url | openApiUrl (absolute)
Request sections
params, headers, body
variables (array)
rawData (string)
isRawSelected (optional boolean)
Optional
response (array, schema-validated if present)
2. Validation
3. Normalization
4. Compatibility
Definition of Done
- Invalid definitions fail at backend
- Stored
definitions[] are normalized and schema-compliant
- All UIs rely on the same endpoint definition contract
- Ready for verification and LLM tooling without refactor
AS A Service-Module developer
I WANT a strict, versioned schema for endpoint
definitions[]SO THAT endpoint configs are predictable, multi-UI safe, and ready for verification & tooling (#871)
Description
Add backend-side schema validation and normalization for the
definitionsfield in theendpointstable.Scope: structure and data quality only.
Out of scope: execution, testing, lifecycle, LLM runtime.
Acceptance Criteria
1. Schema
definitionsmust be an array of EndpointDefinition objectsEach EndpointDefinition includes:
Metadata
id,label(required)description(optional)type,dataType,supported,isSelectedRequest targeting
methodType(non-empty string, normalized to uppercase)path(relative) |url|openApiUrl(absolute)Request sections
params,headers,bodyvariables(array)rawData(string)isRawSelected(optional boolean)Optional
response(array, schema-validated if present)2. Validation
3. Normalization
variables: []rawData: ""isRawSelected: false4. Compatibility
Definition of Done
definitions[]are normalized and schema-compliant