# API
The API service modules and pods are generated using the `genapi/gen.pl` script.
See the `genapi/README` for details how to add new service and/or methods.
# Methods
Methods can be called as follows:
* directly from base auth, using `api_<service>_<method>` method name
* TODO: instantiate a service instance via `service`, and then call `method`
TODO: If no endpoint is found, try to discover it.
TODO: If no version is set, use `CURRENT` from version API
# Code Flow
* Call method with args
* AUTOLOAD in Client::API
* retrieve from API::Magic
* looks for description/api data in API::<Service>::<version>
* if not found, looks for function in Client::<Service>::<version>
* process_args from API::Magic
* if API:: is used
* preps request instance based on data and args
* executes and returns the request with rest(request) call
* if Client:: is used
* calls function as aif it were a method
# TODO
Generate / prefill the value list from the API documentation.