Testing performed on the code and specifications that an API consists of. It can, and should, be tested both in isolation and as a part of integration testing when the API is used to facilitate communications between systems.