A package's API is the publicly documented entry points to the library or program within the package. For example, the classes or methods that are to be used with a PEAR package, or the commands for a command-line program are all elements of an API. Another example might be the templating language.

Any element of the program that is not intended to be used by the outside world, or is not documented, is not considered part of the API, and thus should not be relied upon in your programs as it may change in any future release.