An application programming (interface) is a collection of definitions based on which a computer program can communicate with another program or component.