This should be the password, passphrase, or other credential used to authenticate your user initially. If for some reason your client doesn't have this, set it to an empty string and ignore it in "submit" method.

Many remote APIs have a test mode, that is different from live transactions. Use this to turn that on. It could toggle a different endpoint, or simply a parameter. Defaults to 1 because it's better to send fake requests than accidentally send live ones. Remember to always set this on APIs that use it.

The above is the method signature this should implement. Submit should take a request object that can serialize and return a response object. Throwable exceptions should occur if there is a network transmission error.