knowledgecenter-breadcrum

Knowledge Center

28 Feb, 2023

Filter in expand query of OData (D365 CE)

Posted on 28 Feb, 2023 by Admin, Posted in Dynamics 365 Web Api Dataverse

Filter in expand query of OData (D365 CE) Blogs

Introduction: In this Blog, we will learn how to use filter in expand of OData.

Example:
Let’s say we have an account with multiple contacts, and we want to filter out only the contacts who have their contact method listed as ‘Email’.

How to write API Request:

a. You can get Service Root URL from Advance Settings >> Customizations >> Developer Resources.

b. You have to put  Entity Set Name after Service Root URL and it can be get from XRM Tool Box. (The tool name is MetaData Browser).


c. You have to put Guid of the entity that you have given in Point b. (GUID is a unique ID for all the records in CRM).


d. $select is used to select the attribute which you want to show in output.

e. $expand is used to expand the lookup field. You can get the relationship of the of account and contact from XRM Tool Box. (The tool name is MetaData Browser).


Solution:
Write an OData query for a particular account from which we will select attributes like name, telephone, and Parent account. We will do expand (contact related to account) to get some data want from the contact like firstname, lastname, email address, mobilephone, contact method.

API Request:
https://dev-onepiece07.api.crm7.dynamics.com/api/data/v9.2/accounts(c07762b7-96b2-ed11-83ff 002248627a02)?$select=name,telephone1,_parentaccountid_value&$expand=contact_customer_accounts($select=firstname,lastname,emailaddress1,mobilephone,statecode,preferredcontactmethodcode)
Output:

2. We will set filter condition by filtering contact method = Email in expand to filter all the contact who has Email in contact method.


API Request:
https://dev-onepiece07.api.crm7.dynamics.com/api/data/v9.2/accounts(c07762b7-96b2-ed11-83ff-002248627a02)?$select=name,telephone1,_parentaccountid_value&$expand=contact_customer_accounts($select=firstname,lastname,emailaddress1,mobilephone,statecode,preferredcontactmethodcode;$filter=preferredcontactmethodcode eq 2)
Output:

We have successfully applied a filter to display only the contacts that have an email listed as their contact method.

Comment

This is a Required Field

Loading

Recent Updates

How to Populate Dynamic Content Using Repeating Controls in a Word Document
Blogs
20 Jul, 2026

How to Populate Dynamic Content Using Repeating Controls in a Word Document

Introduction: Organizations frequently generate documents like invoices, certificates, quotations, transcripts, inspection reports etc. While single-value fields such as Name, Email,…

READ MORE
Blogs
15 Jul, 2026

Recovering a Deleted Option Set(Choice) Value in Dynamics 365 Using Web API

The Problem Recently, we faced an interesting issue while working with the Status Reason (statuscode) field on the Contact table.…

READ MORE
Blogs
25 Jun, 2026

Dynamics CRM Testing Checklist Before Production Deployment

There are certain things in a CRM project that a QA must validate or verify before any solutions gets deploy…

READ MORE