YAML Reference
This page documents the current v0.3 Virtual API Configuration that the runtime executes for Data Control and Data Transform behavior.Virtual API Configuration Structure
| Key | Type | Description |
|---|---|---|
version | string | Use "0.3" for the current controls pipeline |
input_format | string | Optional. Expected upstream format. Values: json, csv, yaml, markdown. Auto-detected if omitted |
default_output_format | string | Optional. Desired response format. Values: json, markdown, csv, yaml. Returns JSON if omitted |
objects | mapping | Named object definitions keyed by route segment |
objects.<name>.controls | array | Ordered list of control blocks for that object |
objects._default | object | Catch-all object definition used only when no named object matches |
failOnUnmatchedObject | boolean | Fail the request if no object definition matches |
useStrictNameMatching | boolean | When false, field matching is case-insensitive |
Object Definitions
Object definition keys are matched against the last path segment, then the second-to-last path segment of the request URL._default is a fallback. It is used only when no named object matches.
Common Control Options
| Option | Applies to | Required | Description |
|---|---|---|---|
fields | All controls | Yes | Field paths to operate on |
required | All controls | No | When true, missing referenced fields fail instead of being skipped |
into | combine, coalesce | Yes | Target field for the transformed value |
separator | combine | No | Separator inserted between combined string values. Default: "" |
remove_source | combine, coalesce | No | Remove source fields after the transform completes. Default: false |
Control Blocks
Control blocks live insideobjects.<objectName>.controls, not in a top-level controls array.
Redact
Tokenize
Anonymize
Mask
Hash
Allow
Combine
Coalesce
Path Syntax
Use dot notation in v0.3:metadata/tag is not supported in v0.3.
Execution Notes
- Controls execute top-to-bottom.
- Filter controls target scalar values only: strings, numbers, and booleans.
- If the matched payload is a root array, controls apply to each object element automatically.
- When you use nested transform paths, every entry in
fieldsplusintomust share the same parent path. combinefails ifintoalready exists.coalescealso fails ifintoalready exists.

