Using Custom Fields

Overview of filtering and updating custom fields for applications, payments, contracts, and users.

Custom Fields Overview

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

The Zylo Enterprise API exposes these values through the custom_fields field. Each resource returns only its own scoped custom field values — Applications return Applications-scoped values, Payments return Payments-scoped values, Contracts return Contracts-scoped values, and Users return Users-scoped values. These values can be filtered and updated on Applications, Contracts, and Users; on Payments custom_fields is read-only and can be filtered but not updated.

Payments, Contracts, and Users custom fields are each gated behind their own feature. When the feature is enabled for your company, the custom_fields field is returned on that resource's responses; when it is not enabled, the field is not returned, even if 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
multichoiceMatches if the field's selected options intersect the given values. To require all values instead of any, wrap the values in [...].?custom_fields[multi]=option1,option2 (any), ?custom_fields[multi]=[option1,option2] (all)
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, Contracts, and Users. 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" } }
multichoiceUse an array of strings. Each value must match a current option.{ "custom_fields": { "multi": ["option1", "option2"] } }
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"
  }
}