Implemented and tested validation of api client input

The actual constraints for the validation probably need to be tweaked.  But in the general sense it's implemented and working.

Closes #56