Hopefully I have not misunderstood your question - I read it several times to make sure I understood what you need. It sounds like the 'API' you are attempting to build is really a DAL or Data Access Layer. The DAL in its simplest form takes care of all communication to the Data Layer which could include maintingin your connections, CRUD, etc. There are a lot of methods to designing the DAL and retrieving data, but in its basic form it can be a single binary (.dll) containing 1 or many classes that do the work that you need it to do to get back your data.
Now typically this data is then translated into some type of business object to be used with the UI in a traditional UI -> BLL -> DAL arcitecture. So to get you started I have some links that should help you with your design.
Building an N-Tier Application in .NET:
http://msdn.microsoft.com/en-us/library/ms973279.aspx
Tutorial 1: Creating a Data Access Layer:
http://msdn.microsoft.com/en-us/library/aa581778.aspx
Implement a Data Access Layer for Your App with ADO.NET:
http://msdn.microsoft.com/en-us/magazine/cc188750.aspx
.NET Application Architecture: the Data Access Layer:
http://www.simple-talk.com/dotnet/.net-framework/.net-application-architecture-the-data-access-layer/
If you need more information or were talking about something different, please post back to this thread.