/* Options:
Date: 2025-03-15 14:53:53
Version: 8.30
Tip: To override a DTO option, remove "//" prefix before updating
BaseUrl: https://api.sanctionssearch.com/v2

//Package: 
//GlobalNamespace: dtos
//AddPropertyAccessors: True
//SettersReturnThis: True
//AddServiceStackTypes: True
//AddResponseStatus: False
//AddDescriptionAsComments: True
//AddImplicitVersion: 
IncludeTypes: SaveValidId.*
//ExcludeTypes: 
//TreatTypesAsStrings: 
//DefaultImports: java.math.*,java.util.*,net.servicestack.client.*
*/

import java.math.*;
import java.util.*;
import net.servicestack.client.*;

public class dtos
{

    @Route(Path="/validid/save", Verbs="POST")
    @DataContract
    public static class SaveValidId extends BaseRequest implements IReturn<SaveValidIdResponse>
    {
        /**
        * The request data
        */
        @DataMember
        @ApiMember(Description="The request data", ParameterType="body")
        public SaveValidIdRequest request = null;
        
        public SaveValidIdRequest getRequest() { return request; }
        public SaveValidId setRequest(SaveValidIdRequest value) { this.request = value; return this; }
        private static Object responseType = SaveValidIdResponse.class;
        public Object getResponseType() { return responseType; }
    }

    @DataContract
    public static class SaveValidIdResponse
    {
        /**
        * The response data
        */
        @DataMember
        @ApiMember(Description="The response data")
        public SaveValidIdData data = null;
        
        public SaveValidIdData getData() { return data; }
        public SaveValidIdResponse setData(SaveValidIdData value) { this.data = value; return this; }
    }

    @DataContract
    public static class Authentication
    {
        /**
        * The API User ID provided by us when you signed up to use our API
        */
        @DataMember
        @ApiMember(Description="The API User ID provided by us when you signed up to use our API", IsRequired=true, ParameterType="header, body")
        public String apiUserId = null;

        /**
        * The API User Key provided by us when you signed up to use our API
        */
        @DataMember
        @ApiMember(Description="The API User Key provided by us when you signed up to use our API", IsRequired=true, ParameterType="header, body")
        public String apiUserKey = null;
        
        public String getApiUserId() { return apiUserId; }
        public Authentication setApiUserId(String value) { this.apiUserId = value; return this; }
        public String getApiUserKey() { return apiUserKey; }
        public Authentication setApiUserKey(String value) { this.apiUserKey = value; return this; }
    }

    @DataContract
    public static class BaseRequest implements IBaseRequest
    {
        /**
        * The authentication credentials
        */
        @DataMember
        @ApiMember(Description="The authentication credentials", IsRequired=true, ParameterType="header, body")
        public Authentication authentication = null;
        
        public Authentication getAuthentication() { return authentication; }
        public BaseRequest setAuthentication(Authentication value) { this.authentication = value; return this; }
    }

    public static interface IBaseRequest
    {
        public Authentication authentication = null;
    }

    public static class SaveValidIdRequest
    {
        /**
        * If the saved document should be kept within a single Sub User account, specify their username here
        */
        @ApiMember(Description="If the saved document should be kept within a single Sub User account, specify their username here")
        public String subUserName = null;

        /**
        * The ID of the search that is being saved
        */
        @ApiMember(Description="The ID of the search that is being saved")
        public Integer id = null;
        
        public String getSubUserName() { return subUserName; }
        public SaveValidIdRequest setSubUserName(String value) { this.subUserName = value; return this; }
        public Integer getId() { return id; }
        public SaveValidIdRequest setId(Integer value) { this.id = value; return this; }
    }

    public static class SaveValidIdData extends BaseResponse
    {
        /**
        * Did the request succeed
        */
        @ApiMember(Description="Did the request succeed")
        public Boolean success = null;
        
        public Boolean isSuccess() { return success; }
        public SaveValidIdData setSuccess(Boolean value) { this.success = value; return this; }
    }

    public static class BaseResponse implements IBaseDataResponse, IHasResponseStatus
    {
        /**
        * The status of the response
        */
        @ApiMember(Description="The status of the response")
        public ResponseStatus responseStatus = null;
        
        public ResponseStatus getResponseStatus() { return responseStatus; }
        public BaseResponse setResponseStatus(ResponseStatus value) { this.responseStatus = value; return this; }
    }

    public static interface IBaseDataResponse
    {
        public ResponseStatus responseStatus = null;
    }

    public static interface IHasResponseStatus
    {
        public ResponseStatus responseStatus = null;
    }

    public static class ArrayOfResponseError extends ArrayList<ResponseError>
    {
        
    }

}