Hola alexis como estas,
weno no soy un guru en este tema pero vamos a ver como podemos ayudar
API definicion :
wikipedia dice que es un conjunto de librerías y funciones de una aplicacion, osea que cuando tenemos nuestra aplicación podriamos utilizar las librerias de la misma para que otras aplicaciones la puedan usar, tambien podemos ver ejemplos clasicos como el de eBay en el cual odemos usar su SOAP API, o Google Base data API este ejemplo me gusta mucho
http://code.google.com/apis/base/samples/csharp/csharp-sample.html; como podemos lograr hacer un api en c#, todo viene a raiz de la reutilizacion de codigo como es esto simple POO recuerdan esto esto seria la teoria como lo llevamos a la practicas clases, metodos y librerias haciendo una sopa de todo esto podemos tener DLLs que no solo lo utilice nuestra aplicacion si no que conociendo la estructuras de la mismas mediante la teoria del encapsulamiento podemos saber que contiene que nos pueda servir a nuestras aplicaciones sin saber como funciona o como fue construida y asi otras personas podrian utilizar nuestros apis de nuestras aplicaciones a ellos no les interesaria que demencia hicieron para hacerla pero saben los metodos que pueden utilzar en sus aplicaciones una vez añaden las referencias el cecreto de todo esta en la planiacion de tu codigo llevarlo al nivel mas reutilizable que se pueda...
un ejemplo podria ser un DLL echo en c# que contenga ditintos origenes de coneccion a BD y que añadamos a nuestras aplicaciones y solo le enviemos nombre BD, PWD, contraseña, tipo motor BD y que el DLL se encargue de conectarse a la BD con estos 5 parametros sin que las personas que estan utilizando este DLL se preocupen por el conection string los espacios de nombre utilizados las clases utilizadas etc..
Bueno espero que este pequeño aporte te ayude a encaminarte por lo que quieres lograr y estamos aqui para servirte..
Saludos Mago...