Add support for typed input validations; override API base as a constructor argument