web
You’re offline. This is a read only version of the page.
close
Skip to main content

Announcements

No record found.

News and Announcements icon
Community site session details

Community site session details

Session Id :
Microsoft Dynamics 365 | Integration, Dataverse...
Suggested Answer

Retrieve all tables from solution

(0) ShareShare
ReportReport
Posted on by 92

Hello,

I want to create a web API call to retrieve all tables from a solution by the solution's unique name. For example, I tried using https://[organization url].crm4.dynamics.com/api/data/v9.2/solutions?$filter=(endswith(uniquename, 'Solution Name')), but I cannot retrieve the tables from the solution. I got the table's unique identifier, but I want to get the table's logical name. Can someone help me with my quest? 

Thank you!

I have the same question (0)
  • Suggested answer
    Guido Preite Profile Picture
    54,086 Moderator on at

    I don't know if you can do in a single query, but first one will be to retrieve the solution components (type entity) with the filter or the guid of the solution, for example:

    /api/data/v9.2/solutioncomponents?$select=componenttype,objectid&$filter=(_solutionid_value eq cd1014b3-34e5-454f-96b1-d2a23855d5ea and componenttype eq 1)

    in this way inside the column objectid you get the IDs of the tables involved.

    At this point you can query or the metadata or the Entity table. With the Entity table will be something like:

    /api/data/v9.2/entities?$select=entityid,logicalname&$filter=Microsoft.Dynamics.CRM.In(PropertyName='entityid',PropertyValues=['409c8fb7-cd2e-4b10-b18d-1a52509e778d','cdacaa99-750e-47b8-ba95-13855ff0360f'])

    a note here: I am doing a IN operator to a primary key, is something that works but I can't guarantee 100%, the alternative is to create a OR condition with all the values, something like

    /api/data/v9.2/entities?$select=entityid,logicalname&$filter=(entityid eq 409c8fb7-cd2e-4b10-b18d-1a52509e778d or entityid eq cdacaa99-750e-47b8-ba95-13855ff0360f)

    Because is a GET request if you your values create a string way too long you need to batch the request to be a POST.

    Another safe approach is to retrieve all the entities first, cache the values and after map with the objectid values you get from the solution components. (really depends on what you are doing here)

    hope it helps

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Introducing the 2026 Season 1 community Super Users

Congratulations to our 2026 Super Stars!

Congratulations to our 2025 Community Spotlights

Thanks to all of our 2025 Community Spotlight stars!

Leaderboard > Microsoft Dynamics 365 | Integration, Dataverse, and general topics

#1
11manish Profile Picture

11manish 156

#2
Pallavi Phade Profile Picture

Pallavi Phade 102 Super User 2026 Season 1

#3
Abhilash Warrier Profile Picture

Abhilash Warrier 55 Super User 2026 Season 1

Last 30 days Overall leaderboard

Product updates

Dynamics 365 release plans