Application Programming Interface.
APIs are a way for one program to use the functions of another program. For example, If I write a program that catalogs the name, address and phone numbers of my favorite restaurants, I can use the Google Maps API, to incorporate maps and directions to these locations. I don’t have to add the mapping functionality to my program.
Most SDN implementations utilize a REST (or RESTful) API. This type of API allow the programmer to use information from the network, either to see status, make changes, etc. without having to write a networking application, or dig through a database of information.
In SDN-world, APIs are divided into two groups;
Northbound – which are APIs from the Higher layer orchestration or management layer. OpenStack Neutron (the networking component of OpenStack) has an API which would be considered a northbound API (OpenStack can make changes to the network using this API).