We do not recommend using legacy web services for new projects. While we do not intend to remove them in the medium term, all new services will be built for the external GraphQL API, which has a number of advantages over the legacy system.
Web services can be extended by creating a file called
externallib.php in a plugin's root code folder. The file should require
lib/externallib.php then create a class that extends the
See existing examples in the codebase for details.