Skip to content
v0.3

customer.set_custom_fields

Set the declared custom fields on a customer — MERGES by key: a key you do not name is left alone, and a null value removes one (an empty map is refused). Unlike cart.set_custom_fields, which replaces its bags, because this one is shared by the merchant, apps and the kernel. A customer is a record that changes, so the values are editable.

  • Scope: customer.admin.write
  • System: no
  • Reachable from: POST /v1/commands/customer.set_custom_fields — the tenant data face, with a tenant credential carrying customer.admin.write · MCP tool customer.set_custom_fields · SDK client.call('customer.set_custom_fields', …)
  • Events: customer.updated
{
"properties": {
"custom_fields": {
"additionalProperties": {},
"propertyNames": {
"type": "string"
},
"type": "object"
},
"customer_id": {
"minLength": 1,
"type": "string"
}
},
"required": [
"customer_id",
"custom_fields"
],
"type": "object"
}
{
"additionalProperties": false,
"properties": {
"customer_id": {
"type": "string"
}
},
"required": [
"customer_id"
],
"type": "object"
}

validation_failed (400) · unauthorized (401) · forbidden (403) · conflict (409) · internal (500)