Custom Fields
Custom field definitions on standard objects
Get all custom field definitions
Authorization
AuthorizationRequiredBearer <token>Session token from the SalesOS web app.
In: header
X-API-Key<token>API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.
In: header
Query Parameters
entitystring"LEAD" | "CONTACT" | "ACCOUNT" | "OPPORTUNITY" | "PRODUCT" | "QUOTE"fieldTypestring"TEXT" | "TEXTAREA" | "NUMBER" | "CURRENCY" | "DATE" | "DATETIME" | "CHECKBOX" | "PICKLIST" | "MULTI_PICKLIST" | "EMAIL" | "PHONE" | "URL" | "LOOKUP" | "FORMULA" | "ROLLUP_SUMMARY"isActivebooleanCustomFieldDefinitionViewArray
Create a new custom field definition
Authorization
AuthorizationRequiredBearer <token>Session token from the SalesOS web app.
In: header
X-API-Key<token>API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.
In: header
Request Body
application/jsonRequirednamestringAPI name (auto-generated if not provided)
labelRequiredstringDisplay label
descriptionstringField description
entityRequiredstringEntity this field belongs to
"LEAD" | "CONTACT" | "ACCOUNT" | "OPPORTUNITY" | "PRODUCT" | "QUOTE"fieldTypeRequiredstringField type
"TEXT" | "TEXTAREA" | "NUMBER" | "CURRENCY" | "DATE" | "DATETIME" | "CHECKBOX" | "PICKLIST" | "MULTI_PICKLIST" | "EMAIL" | "PHONE" | "URL" | "LOOKUP" | "FORMULA" | "ROLLUP_SUMMARY"isRequiredbooleanIs field required
isUniquebooleanIs field value unique
defaultValuestringDefault value
picklistValuesarray<object>Picklist values for PICKLIST or MULTI_PICKLIST types
lookupEntitystringTarget entity for LOOKUP type
"LEAD" | "CONTACT" | "ACCOUNT" | "OPPORTUNITY" | "PRODUCT" | "QUOTE"lookupObjectstringLOOKUP to a custom object: custom: (lookupEntity stays empty)
"^custom:[a-z][a-z0-9_]{0,62}$"lookupDeleteBehaviorstringWhat deleting the lookup target does to this value
"CLEAR" | "RESTRICT"controllingFieldstringDependent picklist: name of the controlling PICKLIST or CHECKBOX field on the same entity
dependentValuesobjectControlling value → allowed values of this picklist
trackHistorybooleanRecord field history for this field
precisionnumberDecimal precision for NUMBER/CURRENCY types
minValuenumberMinimum value for NUMBER/CURRENCY types
maxValuenumberMaximum value for NUMBER/CURRENCY types
maxLengthnumberMaximum length for TEXT types
patternstringRegex validation pattern
formulaConfigobjectRequired for FORMULA fields: { expression, returnType }
rollupConfigobjectRequired for ROLLUP_SUMMARY fields: { childEntity, aggregate, aggregateField, filters }
Header Parameters
Idempotency-KeystringUnique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.
255CustomFieldDefinition
Get custom fields statistics
Authorization
AuthorizationRequiredBearer <token>Session token from the SalesOS web app.
In: header
X-API-Key<token>API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.
In: header
List formula functions, roll-up children and referenceable fields
Authorization
AuthorizationRequiredBearer <token>Session token from the SalesOS web app.
In: header
X-API-Key<token>API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.
In: header
Query Parameters
entitystring"LEAD" | "CONTACT" | "ACCOUNT" | "OPPORTUNITY" | "PRODUCT" | "QUOTE"Validate a FORMULA/ROLLUP_SUMMARY definition, optionally evaluating a sample record
Authorization
AuthorizationRequiredBearer <token>Session token from the SalesOS web app.
In: header
X-API-Key<token>API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.
In: header
Request Body
application/jsonRequiredentityRequiredstring"LEAD" | "CONTACT" | "ACCOUNT" | "OPPORTUNITY" | "PRODUCT" | "QUOTE"fieldTypeRequiredstring"FORMULA" | "ROLLUP_SUMMARY"formulaConfigobjectRequired when fieldType is FORMULA
rollupConfigobjectRequired when fieldType is ROLLUP_SUMMARY
fieldIdstringExisting field id when editing — excluded from the cycle graph
fieldNamestringProposed API name; enables self-reference and cycle checks
entityIdstringSample record id — when given, the definition is also evaluated
Header Parameters
Idempotency-KeystringUnique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.
255Get a custom field definition by ID
Authorization
AuthorizationRequiredBearer <token>Session token from the SalesOS web app.
In: header
X-API-Key<token>API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.
In: header
Path Parameters
idRequiredstringCustomFieldDefinitionView
Update a custom field definition
Authorization
AuthorizationRequiredBearer <token>Session token from the SalesOS web app.
In: header
X-API-Key<token>API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.
In: header
Request Body
application/jsonRequiredlookupDeleteBehaviorstringWhat deleting the lookup target does to this value
"CLEAR" | "RESTRICT"controllingFieldstringDependent picklist: name of the controlling PICKLIST or CHECKBOX field on the same entity
dependentValuesobjectControlling value → allowed values of this picklist
trackHistorybooleanRecord field history for this field
labelstringDisplay label
descriptionstringField description
fieldTypestringField type (cannot be changed after creation)
"TEXT" | "TEXTAREA" | "NUMBER" | "CURRENCY" | "DATE" | "DATETIME" | "CHECKBOX" | "PICKLIST" | "MULTI_PICKLIST" | "EMAIL" | "PHONE" | "URL" | "LOOKUP" | "FORMULA" | "ROLLUP_SUMMARY"isRequiredbooleanIs field required
isUniquebooleanIs field value unique
isActivebooleanIs field active
defaultValuestringDefault value
picklistValuesarray<object>Picklist values
precisionnumberDecimal precision
minValuenumberMinimum value
maxValuenumberMaximum value
maxLengthnumberMaximum length
patternstringRegex validation pattern
formulaConfigobjectFORMULA config: { expression, returnType }
rollupConfigobjectROLLUP_SUMMARY config: { childEntity, aggregate, aggregateField, filters }
Path Parameters
idRequiredstringHeader Parameters
Idempotency-KeystringUnique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.
255CustomFieldDefinition
Reorder custom fields
Authorization
AuthorizationRequiredBearer <token>Session token from the SalesOS web app.
In: header
X-API-Key<token>API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.
In: header
Request Body
application/jsonRequiredHeader Parameters
Idempotency-KeystringUnique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.
255SuccessResponse
Add a picklist value
Authorization
AuthorizationRequiredBearer <token>Session token from the SalesOS web app.
In: header
X-API-Key<token>API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.
In: header
Request Body
application/jsonRequiredPath Parameters
idRequiredstringHeader Parameters
Idempotency-KeystringUnique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.
255CustomFieldDefinition
Update a picklist value
Authorization
AuthorizationRequiredBearer <token>Session token from the SalesOS web app.
In: header
X-API-Key<token>API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.
In: header
Request Body
application/jsonRequiredPath Parameters
idRequiredstringvalueIdRequiredstringHeader Parameters
Idempotency-KeystringUnique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.
255CustomFieldDefinition
Delete a picklist value
Authorization
AuthorizationRequiredBearer <token>Session token from the SalesOS web app.
In: header
X-API-Key<token>API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.
In: header
Path Parameters
idRequiredstringvalueIdRequiredstringCustomFieldDefinition
Reorder picklist values
Authorization
AuthorizationRequiredBearer <token>Session token from the SalesOS web app.
In: header
X-API-Key<token>API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.
In: header
Request Body
application/jsonRequiredPath Parameters
idRequiredstringHeader Parameters
Idempotency-KeystringUnique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.
255CustomFieldDefinition
Set a custom field value for a record
Authorization
AuthorizationRequiredBearer <token>Session token from the SalesOS web app.
In: header
X-API-Key<token>API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.
In: header
Request Body
application/jsonRequiredfieldIdRequiredstringCustom field ID
entityTypeRequiredstringEntity type
"LEAD" | "CONTACT" | "ACCOUNT" | "OPPORTUNITY" | "PRODUCT" | "QUOTE"entityIdRequiredstringEntity record ID
valueRequiredobjectField value (null clears it)
Header Parameters
Idempotency-KeystringUnique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.
255CustomFieldValue
Get all custom field values for a record
Authorization
AuthorizationRequiredBearer <token>Session token from the SalesOS web app.
In: header
X-API-Key<token>API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.
In: header
Path Parameters
entityTypeRequiredstring"CONTACT" | "LEAD" | "ACCOUNT" | "OPPORTUNITY" | "PRODUCT" | "QUOTE"entityIdRequiredstringCustomFieldValueViewArray
Delete a custom field value
Authorization
AuthorizationRequiredBearer <token>Session token from the SalesOS web app.
In: header
X-API-Key<token>API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.
In: header
Path Parameters
fieldIdRequiredstringentityTypeRequiredstring"CONTACT" | "LEAD" | "ACCOUNT" | "OPPORTUNITY" | "PRODUCT" | "QUOTE"entityIdRequiredstringCustomFieldValue