The query /_api/lists/getbytitle('<list title>')/items?$select=*
returns list items for visible fields only (SP.Field.hidden property is set to false
).
To be more precise the expression $select=*
returns:
visible
fields values (query that returns visible field names: /_api/Web/Lists/getByTitle('<list title>')/fields?$select=InternalName&$filter=Hidden eq false
)
FileSystemObjectType
hidden field value
- not all visible field values are returned, for example ItemChildCount is not available:
How to return an additional fields
In order to return an additional fields, the field name(s) have to be specified explicitly using $select
query option. For example, to return hidden system field FileRef
you could utilize the following query:
/_api/Web/Lists/getByTitle('<list title>')/items?$select=FileRef
or
/_api/Web/Lists/getByTitle('<list title>')/items?$select=FileRef,*
While the first query will return only a single FileRef
field value, the
latter query will return list field values plus FileRef
field value.
About deferred fields
For some field types such as SP.FieldUser or SP.FieldLookup $select
expressions returns only the identifier (ID) of the list item that this field is referring to. For example, the query: /_api/Web/Lists/getByTitle('<list title>')/items
for Editor
field returns only user id (EditorId
)
For that case $expand
query option comes to the rescue that is intended for retrieving projected fields, for example the query:
/_api/Web/Lists/getByTitle('<list title>')/items?$select=Editor/Title,Editor/Id&$expand=Editor
returns Title
and Id
properties of Editor
field