Documentation Index
Fetch the complete documentation index at: https://docs.dataharbor.co/llms.txt
Use this file to discover all available pages before exploring further.
Data Transform
Transform in flight, not in a pipeline. Real-time field transformations applied at the data boundary. No ETL pipelines or data duplication required.Data Transform shares the same field path rules as Data Control. See Field Targeting for nested paths, arrays, and
required behavior.For a complete Virtual API Configuration, start with
version: "0.3" and define controls under objects.<objectName>.controls. Snippets below that start with controls: are fragments meant to live inside an object definition.Operations
Combine
Merge two or more string fields into a single new field.Coalesce
Select the first non-empty value from two or more fields. Ideal for fallback logic and data normalization.Delete
Remove one or more fields entirely from the outbound payload. Use this when you do not want consumers to see that a field exists at all.Execution Rules
- Controls execute top-to-bottom. A later control can use a field created by an earlier control.
fieldsorder matters for bothcombineandcoalesce.combineonly operates on string source fields.- All
fieldsandintomust share the same parent path when you use nested paths. For example,address.city,address.state, andaddress.locationare valid together. deletedoes not useinto. It removes the fields named infieldsdirectly.intomust point to a new field. If the target field already exists, the transform fails instead of overwriting it.- Set
required: truewhen missing inputs should fail the request. That check is full-path strict: if any parent segment or leaf target is missing, the request fails instead of silently skipping the control. Forcoalesce, missing,null, and empty-string values are treated as empty, but whitespace-only strings,0, andfalsestill count as present values. remove_source: trueworks for bothcombineandcoalesce. Usedeletewhen you want an explicit cleanup step later in the control pipeline.- If the matched payload is an array, the full control pipeline runs against each matching object element in order. Non-object elements are skipped.
- Array execution is not transactional across elements. If an earlier element has already been transformed and a later element fails a
requiredcheck, the request still fails, but the earlier successful element changes are not rolled back.
Nested Paths
Use nested paths when all source fields and the destination share the same parent:Combining with privacy controls
Apply transformations before or after privacy controls:Removing original fields
Optionally remove source fields after transformation. This works on bothcombine and coalesce:
delete after the transform:
delete when the field should disappear completely. Use redact when the field should remain present but its value should be blanked or masked.
Next steps
Field Targeting
Learn how transform paths work with nested objects and arrays
Data Control
Redaction, tokenization, anonymization
Control Block Reference
Detailed transform options and execution rules

