Complex column types and compatibility
New column types, such as MULTI_CONTACT_LIST and MULTI_PICKLIST, offer more complex ways to work with columns. Smartsheet has provided a backwards compatible way for these payloads to work with your existing integrations while also giving you a way to query for their content.
With either column type, there are two ways of receiving the response:
- If you do nothing to your code, column types will display as TEXT_NUMBER
- If you use the level query parameter as detailed below, column types will display as MULTI_CONTACT_LIST or MULTI_PICKLIST and return a complex object (aka a non-primitive type)
Smartsheet uses two indicators to help you discover changes in the return data for your API calls:
- level: a query parameter that is incremented when a new feature or column type is added
- version: each element in the Columns array is set to one of the following values:
Text | Multi-contact | Multi-picklist |
---|---|---|
0 | 1 | 2 |
You must use the level query parameter, for example level=2, to return a complex object with the new column type. Without the query parameter, the response will be backwards-compatible, that is a string. The include=objectValue query parameter is necessary to see the return as a complex value, such as actual email addresses rather than display names.
Use the highest possible level for each endpoint, as in the following table:
Endpoint category | Level |
---|---|
Dashboards | 4 |
Reports | 3 |
Sheets | 2 |