An Application Programming interface (API) is the set of public element of an module (package, library)
The element of an API may be:
Programming interfaces are user interfaces.
The design of programming interfaces has a strong effect on whether humans can understand code and by extension whether they can learn to be proficient.