/* Options: Date: 2026-06-20 21:22:02 Version: 8.80 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.simplified.id/v2 //Package: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: GetClient.* //ExcludeTypes: //InitializeCollections: False //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,java.io.InputStream,net.servicestack.client.*,com.google.gson.annotations.*,com.google.gson.reflect.* */ import java.math.* import java.util.* import java.io.InputStream import net.servicestack.client.* import com.google.gson.annotations.* import com.google.gson.reflect.* @Route(Path="/clients/{Id}", Verbs="GET") @DataContract open class GetClient : BaseRequest(), IReturn { @DataMember @ApiMember(IsRequired=true, ParameterType="path") open var id:Int? = null companion object { private val responseType = GetClientResponse::class.java } override fun getResponseType(): Any? = GetClient.responseType } @DataContract open class GetClientResponse { @DataMember @SerializedName("data") open var Data:GetClientData? = null } @DataContract open class Authentication { /** * The API User ID provided by us when you signed up to use our API. Can be provided in the request body, or as a header parameter (X-Api-User) */ @DataMember @ApiMember(Description="The API User ID provided by us when you signed up to use our API. Can be provided in the request body, or as a header parameter (X-Api-User)", IsRequired=true, ParameterType="header, body") open var apiUserId:String? = null /** * The API User Key provided by us when you signed up to use our API. Can be provided in the request body, or as a header parameter (X-Api-Key) */ @DataMember @ApiMember(Description="The API User Key provided by us when you signed up to use our API. Can be provided in the request body, or as a header parameter (X-Api-Key)", IsRequired=true, ParameterType="header, body") open var apiUserKey:String? = null /** * The User ID of the user making the request (e.g. a sub user). This is optional but can be used to associate API requests with a specific user, thereby allowing user permissions to be enforced. Can be provided in the body, or as a header parameter (X-User-Id). */ @DataMember @ApiMember(Description="The User ID of the user making the request (e.g. a sub user). This is optional but can be used to associate API requests with a specific user, thereby allowing user permissions to be enforced. Can be provided in the body, or as a header parameter (X-User-Id).", ParameterType="header, body") open var userId:String? = null } @DataContract open class BaseRequest : IBaseRequest { /** * The authentication credentials */ @DataMember @ApiMember(Description="The authentication credentials", IsRequired=true, ParameterType="header, body") override var authentication:Authentication? = null } interface IBaseRequest { var authentication:Authentication? } @DataContract(Name="ClientState", Namespace="http://schemas.servicestack.net/types") enum class ClientState { Undefined, PendingCompletion, PendingOcr, PendingVerification, Verified, } open class Client { open var id:Int? = null open var dateCreated:Date? = null open var name:String? = null open var email:String? = null open var reference:String? = null open var state:ClientState? = null open var mobileInternational:String? = null open var postCode:String? = null open var isValidateMe:Boolean? = null open var face:Face? = null open var video:Video? = null open var location:Location? = null open var numOfDocuments:Int? = null open var numOfVideos:Int? = null open var passports:ArrayOfPassports? = null open var drivingLicences:ArrayOfDrivingLicences? = null open var otherDocuments:ArrayOfOtherDocuments? = null open var proofOfDocumentCategories:ArrayOfProofOfDocumentCategories? = null } open class GetClientData : BaseResponse(), IBaseSearchResponse { override var linkedTo:ArrayOfLinkedTo? = null open var client:Client? = null } open class ArrayOfProofOfDocumentCategories : ArrayList() { } open class ArrayOfLinkedTo : ArrayList() { } open class Face { open var age:Double? = null open var gender:String? = null open var emotion:String? = null open var smile:Double? = null open var hairColour:String? = null open var facialHair:String? = null open var makeup:String? = null open var glasses:String? = null open var accessories:String? = null } open class Video { open var id:Int? = null open var videoUrl:String? = null open var imageUrl:String? = null open var videoTimestamps:ArrayList? = null } open class Location { open var latitude:Double? = null open var longitude:Double? = null } open class ArrayOfPassports : ArrayList() { } open class ArrayOfDrivingLicences : ArrayList() { } open class ArrayOfOtherDocuments : ArrayList() { } open class BaseResponse : IBaseDataResponse, IHasResponseStatus { /** * The status of the response */ @ApiMember(Description="The status of the response") override var responseStatus:ResponseStatus? = null } interface IBaseDataResponse { var responseStatus:ResponseStatus? } interface IHasResponseStatus { var responseStatus:ResponseStatus? } interface IBaseSearchResponse : IBaseDataResponse { var linkedTo:ArrayOfLinkedTo? } open class ProofOfDocumentCategory { /** * The ID of the ProofOfDocumentCategory */ @ApiMember(Description="The ID of the ProofOfDocumentCategory", IsRequired=true) open var id:Int? = null /** * The category or subject that requires proof (e.g., 'Name', 'Address', 'Right to work') */ @ApiMember(Description="The category or subject that requires proof (e.g., 'Name', 'Address', 'Right to work')", IsRequired=true) open var proofOf:String? = null /** * The documents that can be used to provide proof for the specified category. */ @ApiMember(Description="The documents that can be used to provide proof for the specified category.", IsRequired=true) open var proofOfDocuments:ArrayOfProofOfDocuments? = null } open class LinkedTo { open var clientId:Int? = null open var id:Long? = null @SerializedName("type") open var Type:String? = null open var subtype:String? = null open var status:String? = null open var description:String? = null open var isArchived:Boolean? = null open var name:String? = null open var date:Date? = null } open class VideoTimestamp { open var tagName:String? = null open var milli:Int? = null open var imageUrl:String? = null } open class Passport { open var clientFileId:Int? = null open var firstName:String? = null open var middleName:String? = null open var lastName:String? = null open var dateOfBirth:String? = null open var gender:String? = null open var mrzLineOne:String? = null open var mrzLineTwo1:String? = null open var mrzLineTwo2:String? = null open var mrzLineTwo3:String? = null open var mrzLineTwo4:String? = null open var mrzLineTwo5:String? = null open var mrzLineTwo6:String? = null open var mrzLineTwo7:String? = null open var mrzLineTwo8:String? = null open var images:ArrayOfImages? = null open var isVerified:Boolean? = null open var isFaceMatch:Boolean? = null open var faceMatchConfidence:BigDecimal? = null open var hasPcvSearch:Boolean? = null open var hasDfaSearch:Boolean? = null open var isPassportChipVerified:Boolean? = null open var passportChipData:PassportChipData? = null open var isEligibleForPcv:Boolean? = null open var isEligibleForDfa:Boolean? = null } open class DrivingLicence { open var clientFileId:Int? = null open var firstName:String? = null open var middleName:String? = null open var lastName:String? = null open var dateOfBirth:String? = null open var address:String? = null open var drivingLicenceNumber:String? = null open var expiryDate:String? = null open var images:ArrayOfImages? = null open var isVerified:Boolean? = null open var isFaceMatch:Boolean? = null open var faceMatchConfidence:BigDecimal? = null open var hasDfaSearch:Boolean? = null } open class OtherDocument { open var clientFileId:Int? = null @SerializedName("type") open var Type:String? = null open var typeOther:String? = null open var description:String? = null open var originalImageUrl:String? = null open var croppedImageUrl:String? = null open var isVerified:Boolean? = null } open class ArrayOfResponseError : ArrayList() { } open class ArrayOfProofOfDocuments : ArrayList() { } open class ArrayOfImages : ArrayList() { } open class PassportChipData { open var isIssuerVerified:Boolean? = null open var issuerCommonName:String? = null open var issuerOrganisationName:String? = null open var issuerCountry:String? = null open var mrzLine1:String? = null open var mrzLine2:String? = null open var isMrzLine1Verified:Boolean? = null open var isMrzLine2Verified:Boolean? = null open var dataGroupsVerified:ArrayList? = null open var dataGroupsFailed:ArrayList? = null open var isFaceMatch:Boolean? = null open var faceMatchConfidence:BigDecimal? = null } open class Image { open var id:Int? = null open var name:String? = null open var ocrId:Int? = null open var url:String? = null } open class ProofOfDocument { /** * The ID of the ProofOfDocument */ @ApiMember(Description="The ID of the ProofOfDocument", IsRequired=true) open var id:Int? = null /** * The name of the ProofOfDocument */ @ApiMember(Description="The name of the ProofOfDocument", IsRequired=true) open var name:String? = null }