[api] Added public api documentation

Fixes #104
Fixes #3
Fixes #77