Skip to main content

FieldSpec

Describes a single field within the file

namestringrequired

Internal field identifier (snake_case recommended)

Example: account_number
displayNamestring

Human-readable label (defaults to name)

Example: Account Number
typeFieldType (string)required

Data type for a field

Possible values: [STRING, INTEGER, LONG, DECIMAL, AMOUNT, DATE, DATETIME, BOOLEAN, ALPHANUMERIC, ROUTING_NUMBER, ACCOUNT_NUMBER, ABA, ENUM]

Example: AMOUNT
startPositioninteger

1-based character start position (fixed-width only)

Example: 1
lengthinteger

Field length in characters (fixed-width only)

Example: 17
columnIndexinteger

0-based column index (CSV/delimited without header)

Example: 0
columnNamestring

Column header name (CSV/delimited with hasHeader: true)

Example: ACCT_NO
pathstring

XPath (XML) or JSONPath (JSON) expression

Example: $.payment.accountNumber
xmlAttributestring

XML attribute name (XML only)

requiredboolean

Whether the field must be present

Default value: true
nullableboolean

Whether an empty/null value is acceptable

Default value: false
defaultValuestring

Value to use when field is absent or null

formatstring

Date/number format pattern (e.g. yyyyMMdd, #,##0.00)

Example: yyyyMMdd
scaleinteger

Decimal places for AMOUNT/DECIMAL fields

Example: 2
validationRegexstring

Regular expression the field value must match

Example: ^[0-9]{9}$
minLengthinteger

Minimum string length

maxLengthinteger

Maximum string length

Example: 17
allowedValuesstring[]

Whitelist of accepted values

sensitiveboolean

PII flag — value will be masked in logs and traces

Default value: false
descriptionstring

Optional documentation for this field

FieldSpec
{
"name": "account_number",
"displayName": "Account Number",
"type": "AMOUNT",
"startPosition": 1,
"length": 17,
"columnIndex": 0,
"columnName": "ACCT_NO",
"path": "$.payment.accountNumber",
"xmlAttribute": "string",
"required": true,
"nullable": false,
"defaultValue": "string",
"format": "yyyyMMdd",
"scale": 2,
"validationRegex": "^[0-9]{9}$",
"minLength": 0,
"maxLength": 17,
"allowedValues": [
"string"
],
"sensitive": false,
"description": "string"
}