Using Custom Fields

Overview of filtering and updating custom fields for applications and payments.

Custom Fields Overview

In Zylo, customizable fields can be created for applications and payments. These fields (referred to commonly as "Custom Fields") allow for users to create their own filterable fields that are attached to an application or a payment.

The Zylo Enterprise API exposes these values through the custom_fields field. Applications return their Applications-scoped custom field values, and Payments return their Payments-scoped custom field values. On Applications these values can be filtered and updated; on Payments custom_fields is read-only and can be filtered but not updated.

When Payments custom fields are enabled for your company, the custom_fields field is returned on Payments responses. When the feature is not enabled, the field is not returned on Payments, even if Payments-scoped custom fields exist.

Filtering Custom Fields

Below is a table describing how each custom field type can be filtered on:

TypeDescriptionExample
booleanUse true for "Yes" values and false for "No" values.?custom_fields[bool]=true
choiceUse standard string filtering syntax.?custom_fields[dropdown]=option1,option2
currencyUse standard number filtering syntax.?custom_fields[currency]=10,gt
dateUse standard date filtering syntax.?custom_fields[date]=2024-01-01,gte
emailUse standard string filtering syntax.?custom_fields[email][email protected]
numberUse standard number filtering syntax.?custom_fields[number]=1,gte,5,lte
textUse standard string filtering syntax.?custom_fields[text]=engineering

Updating Custom Fields

Updating custom field values is supported on Applications only. custom_fields on Payments is read-only.

Below is a table describing how each custom field type can be updated:

TypeDescriptionExample
booleanUse true for "Yes" values and false for "No" values.{ "custom_fields": { "bool": true } }
choiceUse string value. Must match a current option.{ "custom_fields": { "dropdown": "option1" } }
currencyUse number value.{ "custom_fields": { "currency": 100 } }
dateUse date format YYYY-MM-DD. Does not accept times.{ "custom_fields": { "date": "2024-12-20" } }
emailUse valid email format.{ "custom_fields": { "email": "[email protected]" } }
numberUse number value.{ "custom_fields": { "number": 100 } }
textUse string value.{ "custom_fields": { "text": "example" } }

You can update multiple custom fields at once in a single request, like below:

{
  "custom_fields": {
    "bool": true,
    "date": "2024-01-01"
  }
}