Service Provider Interface (SPI) is an API intended to be implemented or extended by a third party. It can be used to enable framework extension and replaceable components.
Details
From Java documentation:
The concept can be extended to other platforms using the corresponding tools. In the Java Runtime Environment, SPIs are used in:
References
Service provider interface Wikipedia(Text) CC BY-SA