// Path: src/main/com/sailthru/client/ApiAction.java
// public enum ApiAction {
//     event,
//     settings,
//     email,
//     send,
//     blast,
//     blast_repeat,
//     preview,
//     template,
//     list,
//     content,
//     alert,
//     stats,
//     purchase,
//     horizon,
//     job,
//     trigger,
//     inbox,
//     user,
//     RETURN, // the case is inconsistent, but "return" is a reserved keyword
//     content_watch { public String toString() { return "content/watch"; } },
//     content_watch_profile { public String toString() { return "content/watch/profile"; } },
// }


import com.google.gson.annotations.SerializedName;
import com.google.gson.reflect.TypeToken;
import com.sailthru.client.ApiAction;
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
    }

    public String getAppId() {
        return appId;
    }

    public Purchase setAppId(String appId) {
        this.appId = appId;
        return this;
    }

    public String getDeviceId() {
        return deviceId;
    }

    public Purchase setDeviceId(String deviceId) {
        this.deviceId = deviceId;
        return this;
    }

    public String getUserAgent() {
        return userAgent;
    }

    public Purchase setUserAgent(String userAgent) {
        this.userAgent = userAgent;
        return this;
    }

    @Override
// Path: src/main/com/sailthru/client/ApiAction.java
// public enum ApiAction {
//     event,
//     settings,
//     email,
//     send,
//     blast,
//     blast_repeat,
//     preview,
//     template,
//     list,
//     content,
//     alert,
//     stats,
//     purchase,
//     horizon,
//     job,
//     trigger,
//     inbox,
//     user,
//     RETURN, // the case is inconsistent, but "return" is a reserved keyword
//     content_watch { public String toString() { return "content/watch"; } },
//     content_watch_profile { public String toString() { return "content/watch/profile"; } },
// }


// Path: src/main/com/sailthru/client/params/Purchase.java
import com.google.gson.annotations.SerializedName;
import com.google.gson.reflect.TypeToken;
import com.sailthru.client.ApiAction;
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;

    }

    public String getAppId() {
        return appId;
    }

    public Purchase setAppId(String appId) {
        this.appId = appId;
        return this;
    }

    public String getDeviceId() {
        return deviceId;
    }

    public Purchase setDeviceId(String deviceId) {
        this.deviceId = deviceId;
        return this;
    }

    public String getUserAgent() {
        return userAgent;
    }

    public Purchase setUserAgent(String userAgent) {
        this.userAgent = userAgent;
        return this;
    }

    @Override
    public ApiAction getApiCall() {