Hi Julio Bellano,
Thank you for sharing the details. I completely understand how confusing it can be when the API behaves differently across lists.
From what you described, it seems you are encountering a behavior documented for FieldValueSet here: FieldValueSet properties – Microsoft Graph
When retrieving multiple list items via the Graph API, using select on expand=fields does not consistently include all complex field types, such as Managed Metadata. This is expected based on how FieldValueSet works internally.
Why does another list return everything? I tested with a basic list and confirmed that GET /sites/{site-id}/lists/{list-id}/items?$expand=fields can return Managed Metadata values in some cases.
So the difference you see (one list works, another doesn’t) is likely due to the number and type of fields being expanded in a single query especially when there are many lookup or complex columns.
Quick check: Do you have more than 12 lookup or complex columns in your list? This can affect how data is returned when expanding fields.
If you need reliable values for that managed metadata field, a practical workaround is:
- Get item IDs:
GET /sites/{site-id}/lists/{list-id}/items?$select=id - For each ID, call:
GET /sites/{site-id}/lists/{list-id}/items/{item-id}?$expand=fields
The single‑item endpoint isn’t affected in the same way and will consistently return the full managed metadata object.
I hope the information I’ve shared gives you additional insight to clarify the issue. If you have any concerns, questions, or if I’ve misunderstood or explained anything unclearly, please feel free to reach out. I’m happy to assist further.
If the answer is partially helpful, please click "Accept Answer" and kindly upvote it. If you have extra questions about this answer, please click "Comment".
Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.