from my case I found it useful only when you need to expose a library to other modules,for example lets say a library like firebase ui built on top of other firebase libraries other than implementing all this libraries again while you can use api to expose them to other modules in the event you need to go beyond the abstraction