For the Apple II it was pure folklore, information passed on from developer to developer. Sample code is OK for docs. To be a platform at a theoretic level, you can stop there. Even an undocumented API with no developers, no users and no potential is a platform. But, to be interesting, a platform must have these other other things.
Users are very important.
Lots of them. People who are doing cooool things. Sometimes popular software or hardware doesn't become a platform until lots of people use them. The Lotus platform had an installed base of users right from day 1. There's strength in numbers.