Re: API documentation…
Well, the API is most definitely there and there’s also the codex. If you are a developer, then you should know code. So if you see a function somewhere and want to know what it does, just search for it in the BP folder and it’ll tell you all you need to know.
If you want to know if there is a function that does thing x, then just look in the respective file (if it’s something to do with activity, then look at bp-activity.php for example). All the function names are very descriptive, so it shouldn’t take more than a few seconds to find a function that fits your needs.
Database classes can be found in these files:
bp-{component name}/bp-{component name}-classes-php
Template functions can be found here:
bp-{component name}/bp-{component name}-templatetags-php
Once you realize how files and functions within files are organized it’s actually quite intuitive.