title: ServiceNow REST API: Get list of column names
body: <p>From the admin UI, there is a Tables and Columns explorer that dutifully shows all available columns for a table, such as the incident table:</p>
  
  <p><a href="https://i.stack.imgur.com/qKA9s.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/qKA9s.jpg" alt="Table column browser"></a></p>
  
  <p>My ultimate goal is to be able to query all fields for a given table that I can insert data to (mostly centered around incident and problem tables), match that against what data I have, and then insert the record with a PUT to the table. The immediate problem I am having is that when I query sys_dictionary as various forums suggest, I only get returned a subset of the columns the UI displays. </p>
  
  <p>Postman query:</p>
  
  <p><code>https://{{SNOW_INSTANCE}}.service-now.com/api/now/table/sys_dictionary?sysparm_fields=internal_type,sys_name,name,read_only,max_length,active,mandatory,comments,sys_created_by,element&amp;name={{TableName}}&amp;sysparm_display_value=all</code></p>
  
  <p>I understand the reduced result set has something to do with them being real columns in the table vs. links to other tables but I can't find any documentation describing how to get the result set that the UI has using the REST api.  </p>
  
  <p>The follow on problem is that I can't find an example with an example payload where all standard fields have been filled out for the incident table so that I can populate as many fields as I have data for. </p>