[[java-rest-high-start-trial]] === Start Trial [[java-rest-high-start-trial-execution]] ==== Execution This API creates and enables a trial license using the `startTrial()` method. ["source","java",subs="attributes,callouts,macros"] --------------------------------------------------- include-tagged::{doc-tests}/LicensingDocumentationIT.java[start-trial-execute] --------------------------------------------------- <1> Sets the "acknowledge" parameter to true, indicating the user has acknowledged that starting a trial license may affect commercial features [[java-rest-high-start-trial-response]] ==== Response The returned `StartTrialResponse` returns a field indicating whether the trial was started. If it was started, the response returns a the type of license started. If it was not started, it returns an error message describing why. Acknowledgement messages may also be returned if this API was called without the `acknowledge` flag set to `true`. In this case you need to display the messages to the end user and if they agree, resubmit the request with the `acknowledge` flag set to `true`. Please note that the response will still return a 200 return code even if it requires an acknowledgement. So, it is necessary to check the `acknowledged` flag. ["source","java",subs="attributes,callouts,macros"] -------------------------------------------------- include-tagged::{doc-tests}/LicensingDocumentationIT.java[start-trial-response] -------------------------------------------------- <1> Whether or not the request had the `acknowledge` flag set <2> Whether or not this request caused a trial to start <3> If this request caused a trial to start, which type of license it registered <4> If this request did not cause a trial to start, a message explaining why <5> If the user's request did not have the `acknowledge` flag set, a summary of the user's acknowledgement required for this API <6> If the user's request did not have the `acknowledge` flag set, contains keys of commercial features and values of messages describing how they will be affected by licensing changes as the result of starting a trial [[java-rest-high-start-trial-async]] ==== Asynchronous execution This request can be executed asynchronously: ["source","java",subs="attributes,callouts,macros"] -------------------------------------------------- include-tagged::{doc-tests}/LicensingDocumentationIT.java[start-trial-execute-async] -------------------------------------------------- The asynchronous method does not block and returns immediately. Once it is completed the `ActionListener` is called back using the `onResponse` method if the execution successfully completed or using the `onFailure` method if it failed. A typical listener for `StartTrialResponse` looks like: ["source","java",subs="attributes,callouts,macros"] -------------------------------------------------- include-tagged::{doc-tests}/LicensingDocumentationIT.java[start-trial-execute-listener] -------------------------------------------------- <1> Called when the execution is successfully completed. The response is provided as an argument <2> Called in case of failure. The raised exception is provided as an argument