REST API:field Resource
Manage Field metadata using the REST API.
- Access Permissions
- Field-level access can vary, depending on Field Visibility
Retrieve Field Metadata
Get metadata for a specific object field.
- Method
- GET
- URI
- https://{yourDomain}/networking/rest/field/{objectName}/{fieldName}
- Response
- Metadata structure that defines the field, as described in the Payload Examples.
Retrieve Metadata for All Fields in an Object
Retrieves an array of metadata for fields within an object
- Method
- GET
- URI
- https://{yourDomain}/networking/rest/field/{objectName}
- Response
- An array of metadata structures containing definitions of all the fields in the object, as described in the Payload Examples.
Add a Field
Add metadata for a new object field.
- Method
- POST
- URI
- https://{yourDomain}/networking/rest/field/{objectName}
- Request
- <syntaxhighlight lang="xml" enclose="div">
<platform>
<field> <title>Field Label</title> <tableColumn>yourFieldName</tableColumn> ...
</syntaxhighlight>
- Other values as described in the Payload Examples
- Response
- <syntaxhighlight lang="xml" enclose="div">
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <platform>
<message>
0
<description>Success</description>
<id>34813dcd768740ad91dc4f168023a9cc</id>
<tableColumn>yourFieldName_23456789</tableColumn>
</message>
</platform>
- Considerations
-
- In addition to the field ID, the response contains the actual field name--the one you specified with a unique value appended that is generated by the system. (That value allows multiple fields to be added to an object in multiple applications, without worrying about name collisions.)
</syntaxhighlight>
Update a Field Definition
Update field metadata.
- Method
- PUT
- URI
- https://{yourDomain}/networking/rest/field/{objectName}/{fieldName}
- Request
- As described in the Payload Examples
- Response
- <syntaxhighlight lang="xml" enclose="div">
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <platform>
<message>
0
<description>Success</description>
</message>
</platform> </syntaxhighlight>
Payload Examples
In all examples:
- The <title> element is the field's display label.
- The <tableColumn> element is the field name.
- <customVisibilityCriteria> elements, when present, reflect non-default Field Visibility settings.
- The isCaseSpecialField element is a read-only attribute. A user cannot the set the value for this attribute. This value is set to True for all standard cases or case-type specific fields like subject, description, status, and priority. In all other cases, it is set to False.
Auto Number Field
- <syntaxhighlight lang="xml" enclose="div">
<platform>
<field> <title>FIELD LABEL</title> <tableColumn>FIELD_NAME</tableColumn> <type>AUTO</type> <description>...</description> <universalProperty>true</universalProperty> <startingNumber>0001</startingNumber> <autoNumberFormat>YYYY-MM-DD-{0000}</autoNumberFormat> </field>
</platform> </syntaxhighlight>
CheckBox Field
- <syntaxhighlight lang="xml" enclose="div">
<platform>
<field> <title>FIELD LABEL</title> <tableColumn>FIELD_NAME</tableColumn> <type>BOOLEAN</type> <description>...</description> <defaultValue>true</defaultValue> <universalProperty>false</universalProperty> </field>
</platform> </syntaxhighlight>
Currency Field
- <syntaxhighlight lang="xml" enclose="div">
<platform>
<field> <title>FIELD LABEL</title> <tableColumn>FIELD_NAME</tableColumn> <type>CURRENCY</type> <description>...</description> <universalProperty>false</universalProperty> <maxFractionalDigits>2</maxFractionalDigits> <displayLength>30</displayLength> </field>
</platform> </syntaxhighlight>
Date Field
- <syntaxhighlight lang="xml" enclose="div">
String postXml = "<platform>
<field> <title>FIELD LABEL</title> <tableColumn>FIELD_NAME</tableColumn> <type>DATE</type> <description>...</description> <universalProperty>false</universalProperty> </field>
</platform> </syntaxhighlight>
An additional <display> property can also be specified for custom fields in Custom Objects, with the values:
- as_entered - Store and display the value as entered.
- convert - Convert the value between time zones.
For example:
- <syntaxhighlight lang="xml" enclose="div">
String postXml = "<platform>
<field> ... <display>as_entered</display> </field>
</platform> </syntaxhighlight>
- Learn more: Date/Time Display Types
DateTime Field
- <syntaxhighlight lang="xml" enclose="div">
<platform>
<field> <title>FIELD LABEL</title> <tableColumn>FIELD_NAME</tableColumn> <type>DATETIME</type> <description>...</description> <universalProperty>false</universalProperty> </field>
</platform> </syntaxhighlight>
An additional <display> property can also be specified for custom fields in Custom Objects, with the values:
- as_entered - Store and display the value as entered.
- convert - Convert the value between time zones.
For example:
- <syntaxhighlight lang="xml" enclose="div">
String postXml = "<platform>
<field> ... <display>as_entered</display> </field>
</platform> </syntaxhighlight>
- Learn more: Date/Time Display Types
Dependent Picklist Field
- <syntaxhighlight lang="xml" enclose="div">
<platform> <field>
<title>FIELD LABEL</title> <tableColumn>FIELD_NAME</tableColumn> <type>DEPENDENT_PICK_LIST</type> <description>...</description> <parentPicklistId>70ab83f90c7c49f4</parentPicklistId> <universalProperty>false</universalProperty> <enumerationDetails> <showFirstValueAsDefault>false</showFirstValueAsDefault> <sortFlag>false</sortFlag> <enumerationItems> <picklistValue>1</picklistValue> </enumerationItems> <enumerationItems> <picklistValue>2</picklistValue> </enumerationItems> <enumerationItems> <picklistValue>3</picklistValue> </enumerationItems> <enumerationItems> <picklistValue>4</picklistValue> </enumerationItems> <enumerationItems> <picklistValue>5</picklistValue> </enumerationItems> </enumerationDetails> </field>
</platform> </syntaxhighlight>
Email Address
- <syntaxhighlight lang="xml" enclose="div">
<platform> <field>
<title>FIELD LABEL</title> <tableColumn>FIELD_NAME</tableColumn> <type>LEAD_EMAIL</type> <description>...</description> <isStandard>false</isStandard> <universalProperty>true</universalProperty> <displayLength>200</displayLength> <maxStorageLength>200</maxStorageLength> <customFieldVisibility> <roleId>1</roleId> <attribute>READ_ONLY</attribute> </customFieldVisibility> <customFieldVisibility> <roleId>2</roleId> <attribute>HIDDEN</attribute> </customFieldVisibility> <customFieldVisibility> <roleId>3</roleId> <attribute>READ_ONLY</attribute> </customFieldVisibility> <customFieldVisibility> <roleId>1714555710</roleId> <attribute>READ_ONLY</attribute> </customFieldVisibility> <extendedFieldMetaData>Extended data</extendedFieldMetaData> </field>
</platform> </syntaxhighlight>
Email Field
- <syntaxhighlight lang="xml" enclose="div">
<platform>
<field> <title>FIELD LABEL</title> <tableColumn>FIELD_NAME</tableColumn> <type>LEAD_EMAIL</type> <description>...</description> <universalProperty>true</universalProperty> <maxStorageLength>50</maxStorageLength> <displayLength>30</displayLength> </field>
</platform> </syntaxhighlight>
File Field
- <syntaxhighlight lang="xml" enclose="div">
<platform>
<field> <title>FIELD LABEL</title> <tableColumn>FIELD_NAME</tableColumn> <type>FILE_FIELD</type> <description>...</description> </field>
</platform> </syntaxhighlight>
Formula Field (date)
Returns a date and no destination field.
- <syntaxhighlight lang="xml" enclose="div">
<platform>
<field> <title>FIELD LABEL</title> <tableColumn>FIELD_NAME</tableColumn> <type>FORMULA</type> <description>...</description> <numberPrecision>0</numberPrecision> <universalProperty>false</universalProperty> <formula>DATE(2010, 12, 1)</formula> <formulaReturnType>DATE</formulaReturnType> <formulaDestinationField/> </field>
</platform> </syntaxhighlight>
An additional <display> property can also be specified for custom fields in Custom Objects, with the values:
- as_entered - Store and display the value as entered.
- convert - Convert the value between time zones.
For example:
- <syntaxhighlight lang="xml" enclose="div">
String postXml = "<platform>
<field> ... <display>as_entered</display> </field>
</platform> </syntaxhighlight>
- Learn more: Date/Time Display Types
Formula Field (number)
Returns a number and a Destination
- <syntaxhighlight lang="xml" enclose="div">
<platform>
<field> <title>FIELD LABEL</title> <tableColumn>FIELD_NAME</tableColumn> <type>FORMULA</type> <description>...</description> <numberPrecision>2</numberPrecision> <formula>wink_currency + wink_currency</formula> <formulaReturnType>NUMBER</formulaReturnType> <formulaDestinationField>wink_currency</formulaDestinationField> <formula>wink_currency + wink_currency</formula> </field>
</platform> </syntaxhighlight>
Global Picklist Field
This payload describes an Object field that references a Global Picklist.
To create or modify a Global Picklist, use the REST API:globalPicklist Resource.
- <syntaxhighlight lang="xml" enclose="div">
<platform>
<field> <title>FIELD LABEL</title> <tableColumn>FIELD_NAME</tableColumn> <type>GLOBAL_PICK_LIST</type> <description>...</description> <universalProperty>false</universalProperty> <enumerationDetails> <showFirstValueAsDefault>true</showFirstValueAsDefault> <sortFlag>false</sortFlag> </enumerationDetails> <globalPicklistId>dabda8ae68a74718a01286a676d3efdc</globalPicklistId> </field>
</platform> </syntaxhighlight>
Image File Field
- <syntaxhighlight lang="xml" enclose="div">
<platform>
<field> <title>FIELD LABEL</title> <tableColumn>FIELD_NAME</tableColumn> <type>IMAGE_FIELD</type> <description>...</description> <universalProperty>false</universalProperty> </field>
</platform> </syntaxhighlight>
Lookup Field
Lookup to a System Object
Add a Lookup to a System Object, with some preset filters:
- <syntaxhighlight lang="xml" enclose="div">
<platform>
<field> <title>FIELD LABEL</title> <tableColumn>FIELD_NAME</tableColumn> <type>LOOKUP</type> <description>...</description> <universalProperty>false</universalProperty> <lookUpObjectId>f5ed02cfbfdd4a4aaf2f2a3673f29741</lookUpObjectId> <lookupDisplayType>POPUP</lookupDisplayType> <sortBy>date_created</sortBy> <sortOrder>asc</sortOrder> <lookupPresetFilter> <criteria_1_join_operator/> <criteria_1_pre_bracket>(</criteria_1_pre_bracket> <criteria_1_post_bracket>)</criteria_1_post_bracket> <criteria_1_column>auto_number</criteria_1_column> <criteria_1_operator>equals</criteria_1_operator> <criteria_1_value>11111</criteria_1_value> <criteria_2_join_operator>and</criteria_2_join_operator> <criteria_2_pre_bracket/> <criteria_2_post_bracket>)</criteria_2_post_bracket> <criteria_2_column>wink_currency</criteria_2_column> <criteria_2_operator>equals</criteria_2_operator> <criteria_2_value>1</criteria_2_value> <criteria_3_join_operator>and</criteria_3_join_operator> <criteria_3_pre_bracket/> <criteria_3_post_bracket/> <criteria_3_column/> <criteria_3_operator>equals</criteria_3_operator> <criteria_3_value/> <criteria_4_join_operator>and</criteria_4_join_operator> <criteria_4_pre_bracket/> <criteria_4_post_bracket/> <criteria_4_column/> <criteria_4_operator>equals</criteria_4_operator> <criteria_4_value/> <criteria_5_join_operator>and</criteria_5_join_operator> <criteria_5_pre_bracket/> <criteria_5_post_bracket/> <criteria_5_column/> <criteria_5_operator>equals</criteria_5_operator> <criteria_5_value/> </lookupPresetFilter> <recordSelectionType>STANDARD_LOOKUP</recordSelectionType> <lookupDependentFieldList> <fieldId>63a2f09f16a14af999b81858363b34ba</fieldId> <baseFieldId>ebc004fdebb64a8888fc07d5a824c63d</baseFieldId> </lookupDependentFieldList> <lookupDependentFieldList> <fieldId>df02eaaab877428093dda87d8d29022d</fieldId> <baseFieldId>98e0b1ae0b8143b28cb1356c364e6ad1</baseFieldId> </lookupDependentFieldList> <postSelectionJS>alert(\"hello\");</postSelectionJS> <lookupFields>98e0b1ae0b8143b2,ebc004fd24c63d,... </lookupFields> </field>
</platform> </syntaxhighlight>
Lookup to a Custom Page
Add a Lookup to a Custom Object:
- <syntaxhighlight lang="xml" enclose="div">
<platform>
<field> <title>FIELD LABEL</title> <tableColumn>FIELD_NAME</tableColumn> <type>LOOKUP</type> <description>...</description> <universalProperty>true</universalProperty> <lookUpObjectId>f0772f53f82d41879a50c5392de83c3f</lookUpObjectId> <customPageId>e379c6e9dd694441b3f525fc7e0c0beb</customPageId> <recordSelectionType>CUSTOM_PAGE</recordSelectionType> <lookupFields/> <isMasterDetailRelationship>false</isMasterDetailRelationship> <lookupDisplayType>DROP_DOWN</lookupDisplayType> <extendedFieldMetaData>Testing</extendedFieldMetaData> <lookupAutoCopyFields> <lookupAutoCopyField> <srcFieldColumn> // Source field Info <tableColumn>a_currency</tableColumn> </srcFieldColumn> <destFieldColumn> // Destination field info <tableColumn>b_fmcurrency</tableColumn> </destFieldColumn> </lookupAutoCopyField> <lookupAutoCopyField> ... </lookupAutoCopyField> ... <lookupAutoCopyFields> </field>
</platform> </syntaxhighlight>
Field Notes
Field Possible Values Notes lookupDisplayType - POPUP
- DROP_DOWN
sortBy Internal field name These tags are used for:
- Standard Lookups to Custom Objects
- Standard Lookups to System Objects shown in a DropDown display
They are not used for other kinds of lookups (hierarchical, view/report, custom page), or for lookups to System Objects shown in a PopUp display.
sortOrder - asc
- desc
tableColumn Internal field name
Note: Internal field names are those returned by the field resource.
Multi Checkbox
- <syntaxhighlight lang="xml" enclose="div">
<platform> <field>
<title>Wink Multi Check Box</title> <type>MULTI_CHECK_BOX</type> <tableColumn>wink_multi_check_box</tableColumn> <universalProperty>false</universalProperty> <enumerationDetails> <showFirstValueAsDefault>true</showFirstValueAsDefault> <sortFlag>true</sortFlag> <enumerationItems> <picklistLabel>label1</picklistLabel> <picklistValue>value1</picklistValue> <textColor>#000000</textColor> <textBgColor>#FFFFFF</textBgColor> </enumerationItems> <enumerationItems> <picklistLabel>label2</picklistLabel> <picklistValue>value2</picklistValue> <textColor>#000000</textColor> <textBgColor>#FFFFFF</textBgColor> </enumerationItems> <enumerationItems> <picklistLabel>label3</picklistLabel> <picklistValue>value3</picklistValue> <textColor>#000000</textColor> <textBgColor>#FFFFFF</textBgColor> </enumerationItems> <enumerationItems> <picklistLabel>label4</picklistLabel> <picklistValue>value4</picklistValue> <textColor>#000000</textColor> <textBgColor>#FFFFFF</textBgColor> </enumerationItems> <enumerationItems> <picklistLabel>label5</picklistLabel> <picklistValue>value5</picklistValue> <textColor>#000000</textColor> <textBgColor>#FFFFFF</textBgColor> </enumerationItems> </enumerationDetails> <orientation>HORIZONTAL</orientation> <description>...</description> <customFieldVisibility> <roleId>1</roleId> <attribute>READ_ONLY</attribute> </customFieldVisibility> <customFieldVisibility> <roleId>2</roleId> <attribute>HIDDEN</attribute> </customFieldVisibility> <customFieldVisibility> <roleId>3</roleId> <attribute>READ_ONLY</attribute> </customFieldVisibility> <customFieldVisibility> <roleId>1714555710</roleId> <attribute>READ_ONLY</attribute> </customFieldVisibility> <extendedFieldMetaData>Extended Meta data</extendedFieldMetaData>
</field> </platform> </syntaxhighlight>
Multi Object Lookup
An example that has Post Selection JavaScript for the Multi Object Lookup field.
- <syntaxhighlight lang="xml" enclose="div">
<platform>
<field> <title>Wink lookup 1</title> <type>MULTI_OBJECT_LOOKUP</type> <tableColumn>molf1</tableColumn> <universalProperty>false</universalProperty> <multiObjectLookUpDetails> <includeAllObjects>false</includeAllObjects> <lookUpObjectId>ACCOUNT</lookUpObjectId> <lookUpObjectId>CONTACT</lookUpObjectId> </multiObjectLookUpDetails> <recordSelectionType>STANDARD_LOOKUP</recordSelectionType> <postSelectionJS>alert(\"this works\");</postSelectionJS> <description>...</description> </field>
</platform> </syntaxhighlight>
An example that uses a custom JSP for the lookup:
- <syntaxhighlight lang="xml" enclose="div">
<platform>
<field> <title>Wink lookup 1</title> <type>MULTI_OBJECT_LOOKUP</type> <tableColumn>molf1</tableColumn> <universalProperty>false</universalProperty> <multiObjectLookUpDetails> <lookUpObjectId>ACCOUNT</lookUpObjectId> <lookUpObjectId>CONTACT</lookUpObjectId> </multiObjectLookUpDetails> <recordSelectionType>CUSTOM_PAGE_STR</recordSelectionType> <customPageId>e379c6e9dd694441b3f525fc7e0c0beb</customPageId> <description>...</description> </field>
</platform>
- Considerations
-
- includeAllObjects is true for a multi-object lookup field that can target any object in the platform. When true, the lookUpObjectId list contains an entry for every possible object.
</syntaxhighlight>
Number
- <syntaxhighlight lang="xml" enclose="div">
<platform>
<field> <title>Wink number field</title> <type>NUMBER</type> <tableColumn>wink_number</tableColumn> <description>...</description> <isSignField>false</isSignField> <minNumericValue>0</minNumericValue> <maxNumericValue>0</maxNumericValue> </field>
</platform> </syntaxhighlight>
Number with Decimals
- <syntaxhighlight lang="xml" enclose="div">
<platform>
<field> <title>Wink number field</title> <type>DOUBLE</type> <tableColumn>test_field_decimal</tableColumn> <description>...</description> <isSignField>false</isSignField> <maxFractionalDigits>2</maxFractionalDigits> <displayLength>30</displayLength> </field>
</platform> </syntaxhighlight>
Picklist
- <syntaxhighlight lang="xml" enclose="div">
<platform> <field>
<title>Wink Picklist</title> <type>PICK_LIST</type> <tableColumn>wink_picklist</tableColumn> <universalProperty>false</universalProperty> <enumerationDetails> <showFirstValueAsDefault>true</showFirstValueAsDefault> <sortFlag>false</sortFlag> <enumerationItems> <picklistLabel>label1</picklistLabel> <picklistValue>value1</picklistValue> <itemOrder>1</itemOrder> <textColor>#000000</textColor> <textBgColor>#FFFFFF</textBgColor> </enumerationItems> <enumerationItems> <picklistLabel>label2</picklistLabel> <picklistValue>value2</picklistValue> <itemOrder>2</itemOrder> <textColor>#000000</textColor> <textBgColor>#FFFFFF</textBgColor> </enumerationItems> </enumerationDetails> <customFieldVisibility> <roleId>1</roleId> <attribute>READ_ONLY</attribute> </customFieldVisibility> <customFieldVisibility> <roleId>2</roleId> <attribute>HIDDEN</attribute> </customFieldVisibility> <customFieldVisibility> <roleId>3</roleId> <attribute>READ_ONLY</attribute> </customFieldVisibility> <customFieldVisibility> <roleId>1714555710</roleId> <attribute>READ_ONLY</attribute> </customFieldVisibility> <description>...</description> <extendedFieldMetaData>Extended Meta data</extendedFieldMetaData> </field>
</platform> </syntaxhighlight>
- Considerations
-
- If the sortFlag is true, then itemOrder elements are not needed, as the elements are sorted alphabetically by label.
- If false, then itemOrder determines the order in which the elements are displayed.
- If itemOrder is not present, elements are displayed in the order they are defined.
Radio Button
- <syntaxhighlight lang="xml" enclose="div">
<platform> <field>
<title>Wink Radio Button</title> <type>RADIO_BUTTON</type> <tableColumn>wink_radio_button</tableColumn> <universalProperty>true</universalProperty> <enumerationDetails> <showFirstValueAsDefault>true</showFirstValueAsDefault> <sortFlag>true</sortFlag> <description>...</description> <enumerationItems> <picklistLabel>1</picklistLabel> <picklistValue>value1</picklistValue> <textColor>#000000</textColor> <textBgColor>#FFFFFF</textBgColor> </enumerationItems> <enumerationItems> <picklistLabel>2</picklistLabel> <picklistValue>value2</picklistValue> <textColor>#000000</textColor> <textBgColor>#FFFFFF</textBgColor> </enumerationItems> <enumerationItems> <picklistLabel>3</picklistLabel> <picklistValue>value3</picklistValue> <textColor>#000000</textColor> <textBgColor>#FFFFFF</textBgColor> </enumerationItems> <enumerationItems> <picklistLabel>4</picklistLabel> <picklistValue>value4</picklistValue> <textColor>#000000</textColor> <textBgColor>#FFFFFF</textBgColor> </enumerationItems> </enumerationDetails> <orientation>VERTICAL</orientation> <customFieldVisibility> <roleId>1</roleId> <attribute>READ_ONLY</attribute> </customFieldVisibility> <customFieldVisibility> <roleId>2</roleId> <attribute>HIDDEN</attribute> </customFieldVisibility> <customFieldVisibility> <roleId>3</roleId> <attribute>READ_ONLY</attribute> </customFieldVisibility> <customFieldVisibility> <roleId>1714555710</roleId> <attribute>READ_ONLY</attribute> </customFieldVisibility> <description>...</description> <extendedFieldMetaData>extended data</extendedFieldMetaData>
</field>
</platform> </syntaxhighlight>
Rich Text Area
- <syntaxhighlight lang="xml" enclose="div">
<platform> <field>
<title>Wink Rich Text Area</title> <type>RICHTEXT_AREA</type> <tableColumn>wink_rich_text_area</tableColumn> <universalProperty>true</universalProperty> <description>...</description> <width>600</width> <customFieldVisibility> <roleId>1</roleId> <attribute>READ_ONLY</attribute> </customFieldVisibility> <customFieldVisibility> <roleId>2</roleId> <attribute>READ_ONLY</attribute> </customFieldVisibility> <customFieldVisibility> <roleId>3</roleId> <attribute>HIDDEN</attribute> </customFieldVisibility> <extendedFieldMetaData>Rich Text Area</extendedFieldMetaData> </field>
</platform> </syntaxhighlight>
Text Area
- <syntaxhighlight lang="xml" enclose="div">
<platform> <field>
<title>Wink Text Area</title> <type>TEXT_AREA</type> <tableColumn>wink_text_area</tableColumn> <universalProperty>true</universalProperty> <description>...</description> <width>100</width> <height>100</height> <customFieldVisibility> <roleId>1</roleId> <attribute>READ_ONLY</attribute> </customFieldVisibility> <customFieldVisibility> <roleId>2</roleId> <attribute>READ_ONLY</attribute> </customFieldVisibility> <customFieldVisibility> <roleId>3</roleId> <attribute>HIDDEN</attribute> </customFieldVisibility> <extendedFieldMetaData>Text Area</extendedFieldMetaData>
</field> </platform> </syntaxhighlight>
Text Field
- <syntaxhighlight lang="xml" enclose="div">
<platform>
<field> <title>Wink Text Field</title> <type>TEXT_FIELD</type> <tableColumn>winkTextField</tableColumn> <universalProperty>false</universalProperty> <displayLength>30</displayLength> <description>...</description> <maxStorageLength>50</maxStorageLength> <customFieldVisibilityList> <roleId>1215761260</roleId> <attribute>READ_ONLY</attribute> </customFieldVisibilityList> <customFieldVisibilityList> <roleId>1</roleId> <attribute>READ_ONLY</attribute> </customFieldVisibilityList> <customFieldVisibilityList> <roleId>2</roleId> <attribute>READ_ONLY</attribute> </customFieldVisibilityList> <customFieldVisibilityList> <roleId>3</roleId> <attribute>READ_ONLY</attribute> </customFieldVisibilityList> </field>
</platform> </syntaxhighlight>