Update Custom Fields


UPDATE CUSTOM FIELDS

Updates custom fields for any supported module record.


Supported Modules

Module
JOB
ORGANIZATION
ESTIMATE
PURCHASE_ORDER
VENDOR
CUSTOMER
PROJECT
SERVICE_CONTRACT
INVOICE
PROPERTY
PRODUCT
ASSET

Note: Plural forms (PRODUCTS, ESTIMATES, ASSETS, PURCHASE_ORDERS, SERVICE_CONTRACTS) are also accepted and normalized automatically.


Update Behavior (Partial Update)

This API uses a MERGE strategy, NOT a full replacement.

  • ONLY send fields that are NEW or CHANGED
  • Existing fields NOT included in the request are PRESERVED
  • No data loss occurs if you omit unchanged fields
  • Fields are matched by: label + group_uid combination

Example

If a record has fields A, B, C and you send only field B with a new value, fields A and C remain unchanged.


Important Notes

  1. This API does NOT support deletion of custom fields
  2. To clear a field's value, send it with value: ""
  3. At least one custom field must be included in the request
  4. group_uid values are validated against existing custom field groups

Request Payload

{
  "module_name": "JOB",
  "module_uid": "uuid-string",
  "custom_fields": [
    {
      "label": "Field Name",
      "value": "Field Value",
      "group_uid": "uuid-or-null",
      "hide_to_fe": false,
      "hide_field": false,
      "read_only": false
    }
  ]
}

Field Descriptions

FieldRequiredTypeDescription
module_namestringOne of the supported modules
module_uidstringValid UUID of the record
custom_fieldsarrayArray with at least 1 field

Custom Field Object

FieldRequiredTypeDescription
labelstringField identifier
valuestringNew value for the field
group_uidstringCustom field group UUID (or null)
hide_to_febooleanHide from frontend
hide_fieldbooleanHide field entirely
read_onlybooleanMake field read-only

Response

Success returns the module UID and a summary message indicating how many fields were added/updated.


Behavior Summary

ScenarioResult
Send only changed fields✅ Other fields preserved
Send empty array []❌ Validation error (min 1 field required)
Omit a field entirely✅ Field remains unchanged
Send field with value: ""✅ Field value is cleared (not deleted)
Want to delete a field❌ Not supported by this API
Language
Credentials
Header
URL
Click Try It! to start a request and see the response here!