API testing is a type of software testing that involves testing application programming interfaces
(APIs) directly and as part of integration testing to determine if they meet expectations for
functionality, reliability, performance, and security. Since APIs lack a GUI, API testing is performed
at the message layer.[2] API testing is now considered critical for automating testing because APIs
now serve as the primary interface to application logic and because GUI tests are difficult to
maintain with the short release cycles and frequent changes commonly used with Agile software
development and DevOps).