custom_fields.segment es la key del
campo, no un id opaco, así tu código lee como habla el workspace. La key se
fija al crearlo; renombrar el label de un campo en Sailer no la mueve.
Los valores están tipados. Un campo numérico devuelve un JSON number, un
checkbox un boolean, una fecha un string de fecha ISO-8601. No van
stringifyados.
Descubrir los campos que usa un workspace
GET /v1/fields lista cada campo definido en un resource, built-in y
personalizado: key, label, type, si es required o read-only, y los valores
permitidos de los selects. Pasa entity=contact, entity=organization o
entity=deal para restringir la lista; omítelo para listar todo el workspace.
key que devuelve dentro de custom_fields en create y update.
Adivinar desde otro workspace — o desde esta documentación — es cómo obtienes
un error de unknown-field.
En MCP, la misma tabla es describe_schema. Llámalo primero; los clientes
cachean schemas de tools por servidor, no por tenant, así que los campos
personalizados nunca van en la tool misma.
Cada campo personalizado definido en la entidad también aparece en cada
registro, con null donde un registro no tiene valor. Leer un registro
muestra las keys en uso, pero no sus tipos ni valores permitidos — para eso
está /v1/fields.
Cómo escribirlos
Envía solo las keys que quieres cambiar. Los campos no listados se dejan igual:null. Enviar una key desconocida, o un valor del
tipo incorrecto, devuelve 422 con la key ofensora en error.detail.