In the previous Dynamics365 SDK, accessing metadata required that you go through a completely different service to get at the structure of your data. With the WebApi, this has changed to simply be another querystring string call to get at your information.
Ignoring how to setup a connection, the query can be as simple as this;
string dataResponse = DynamicsHelper.Instance.GetFromDynamics("/api/data/v9.0/EntityDefinitions?$select=MetadataId,SchemaName");
Where my request for the name and id of all entities in the system is sent via EntityDefinitions.
At this stage in your query, you cannot filter out which entities you want to query for due to the fact that functions such as “contains” are not supported in this interface, thereby forcing you to do this client-side instead of during your trip to the server.
In my scenario I only wanted to return entity