/* Options: Date: 2025-05-05 11:56:03 SwiftVersion: 5.0 Version: 8.30 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.sanctionssearch.com/v1 //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True IncludeTypes: AddIndividualSearch.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack /** * Create a new sanctions search for a person. SanctionsListId: valid values: HMTSL and OFACL */ // @Route("/sanctions/individual/create", "POST") // @Api(Description="Create a new sanctions search for a person. SanctionsListId: valid values: HMTSL and OFACL") // @ApiResponse(Description="Your request is successful if the \"Data.ResponseStatus.Message\" field is \"Success\".", StatusCode=200) // @DataContract public class AddIndividualSearch : IReturn, IBaseRequest, Codable { public typealias Return = AddIndividualSearchResponse // @DataMember public var authentication:Authentication // @DataMember public var request:SearchIndividualRequest required public init(){} } // @DataContract public class AddIndividualSearchResponse : Codable { // @DataMember public var data:AddIndividualSearchData required public init(){} } // @DataContract public class Authentication : IAuthentication, Codable { /** * The API User ID that will authenticate your request */ // @DataMember // @ApiMember(DataType="string", Description="The API User ID that will authenticate your request", IsRequired=true) public var apiUserId:String /** * The API User Key that will authenticate your request */ // @DataMember // @ApiMember(DataType="string", Description="The API User Key that will authenticate your request", IsRequired=true) public var apiUserKey:String required public init(){} } public protocol IBaseRequest { var authentication:Authentication { get set } } public class SearchIndividualRequest : Codable { public var name1:String public var name2:String public var name3:String public var name4:String public var name5:String public var name6:String public var dateOfBirth:String public var countryOfBirth:String public var nationality:String public var address:String public var selectedSanctionsLists:ArrayOfSanctionsLists required public init(){} } // @DataContract public class AddIndividualSearchData : IBaseDataResponse, IHasResponseStatus, Codable { // @DataMember public var responseStatus:ResponseStatus // @DataMember public var searchRecord:SearchRecord required public init(){} } public protocol IAuthentication { var apiUserId:String { get set } var apiUserKey:String { get set } var userId:String { get set } } public class ArrayOfSanctionsLists : List { required public init(){ super.init() } required public init(from decoder: Decoder) throws { try super.init(from: decoder) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) } } public class SearchRecord : Codable { public var id:Int public var searchType:String public var dateSearched:Date public var dateUpdated:Date public var numOfResults:Int public var clientInResults:Bool public var clientNotInResults:Bool public var affectedByUpdate:Bool public var searchCriteria:SearchCriteria public var searchResults:SearchResults required public init(){} } public protocol IBaseDataResponse { var responseStatus:ResponseStatus { get set } } public protocol IHasResponseStatus { var responseStatus:ResponseStatus { get set } } public class ArrayOfResponseError : List { required public init(){ super.init() } required public init(from decoder: Decoder) throws { try super.init(from: decoder) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) } } public class SearchCriteria : Codable { public var name:String public var dateOfBirth:String public var countryOfBirth:String public var nationality:String public var address:String required public init(){} } public class SearchResults : Codable { public var hmtResults:[SearchResultHmTreasury] = [] public var ofacResults:[SearchResultOfac] = [] required public init(){} } public class SearchResultHmTreasury : Codable { public var resultStrength:Int public var resultSimilarity:Double public var resultResolved:Bool public var resultType:String public var dateListed:Date public var dateUpdated:Date public var name1:String public var name2:String public var name3:String public var name4:String public var name5:String public var name6:String public var dateOfBirth:String public var countryOfBirth:String public var nationality:String public var address1:String public var address2:String public var address3:String public var address4:String public var address5:String public var address6:String public var postCode:String public var country:String required public init(){} } public class SearchResultOfac : Codable { public var resultStrength:Int public var resultSimilarity:Double public var resultResolved:Bool public var resultType:String public var dateUpdated:Date public var firstName:String public var lastName:String public var addresses:[SearchResultOfacAddress] = [] public var akas:[SearchResultOfacAka] = [] public var dateOfBirths:[SearchResultOfacDateOfBirth] = [] public var nationalities:[SearchResultOfacNationality] = [] public var placeOfBirths:[SearchResultOfacPlaceOfBirth] = [] required public init(){} } public class SearchResultOfacAddress : Codable { public var address1:String public var address2:String public var address3:String public var city:String public var state:String public var postCode:String public var country:String required public init(){} } public class SearchResultOfacAka : Codable { public var firstName:String public var lastName:String public var type:String public var strength:String required public init(){} } public class SearchResultOfacDateOfBirth : Codable { public var dateOfBirth:String required public init(){} } public class SearchResultOfacNationality : Codable { public var country:String required public init(){} } public class SearchResultOfacPlaceOfBirth : Codable { public var placeOfBirth:String required public init(){} }