/* Options: Date: 2026-06-20 21:22:00 SwiftVersion: 6.0 Version: 8.80 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.simplified.id/v2 //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True //MakePropertiesOptional: True IncludeTypes: GetSearch.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: False //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/sanctions/get", "POST") // @DataContract public class GetSearch : BaseRequest, IReturn { public typealias Return = GetSearchResponse // @DataMember public var request:GetSearchRequest? required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case request } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) request = try container.decodeIfPresent(GetSearchRequest.self, forKey: .request) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if request != nil { try container.encode(request, forKey: .request) } } } // @DataContract public class GetSearchResponse : Codable { // @DataMember public var data:GetSearchData? required public init(){} } // @DataContract public class Authentication : Codable { /** * 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") public var apiUserId:String? /** * 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") public var apiUserKey:String? /** * 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") public var userId:String? required public init(){} } // @DataContract public class BaseRequest : IBaseRequest, Codable { /** * The authentication credentials */ // @DataMember // @ApiMember(Description="The authentication credentials", IsRequired=true, ParameterType="header, body") public var authentication:Authentication? required public init(){} } public protocol IBaseRequest { var authentication:Authentication? { get set } } public class GetSearchRequest : Codable { /** * If the search is being accessed by a sub user, specify their username here to validate they have permissions to view it */ // @ApiMember(Description="If the search is being accessed by a sub user, specify their username here to validate they have permissions to view it") public var subUserName:String? /** * If set to true, the response will exclude resolved search results, it will only include unresolved results */ // @ApiMember(Description="If set to true, the response will exclude resolved search results, it will only include unresolved results") public var onlyShowUnresolvedResults:Bool? public var id:Int? required public init(){} } public class GetSearchData : BaseResponse, IBaseSearchResponse { public var linkedTo:ArrayOfLinkedTo? public var searchRecord:SearchRecord? required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case linkedTo case searchRecord } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) linkedTo = try container.decodeIfPresent(ArrayOfLinkedTo.self, forKey: .linkedTo) searchRecord = try container.decodeIfPresent(SearchRecord.self, forKey: .searchRecord) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if linkedTo != nil { try container.encode(linkedTo, forKey: .linkedTo) } if searchRecord != nil { try container.encode(searchRecord, forKey: .searchRecord) } } } public class ArrayOfLinkedTo : 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 BaseResponse : IBaseDataResponse, IHasResponseStatus, Codable { /** * The status of the response */ // @ApiMember(Description="The status of the response") public var responseStatus:ResponseStatus? required public init(){} } public protocol IBaseDataResponse { var responseStatus:ResponseStatus? { get set } } public protocol IHasResponseStatus { var responseStatus:ResponseStatus? { get set } } public protocol IBaseSearchResponse : IBaseDataResponse { var linkedTo:ArrayOfLinkedTo? { get set } } public class SearchRecord : Codable { public var id:Int? public var searchType:String? public var dateSearched:Date? public var dateUpdated:Date? public var dateArchived:Date? public var isArchived:Bool? public var numOfResults:Int? public var clientInResults:Bool? public var clientNotInResults:Bool? public var affectedByUpdate:Bool? public var searchCriteria:SearchCriteria? public var searchResults:SearchResults? public var searchSources:[SearchSource]? public var listSearchResults:ArrayOfSearchResultEntries? required public init(){} } public class LinkedTo : Codable { public var clientId:Int? public var id:Int? public var type:String? public var subtype:String? public var status:String? public var Description:String? public var isArchived:Bool? public var name:String? public var date:Date? required public init(){} } 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 address:String? public var country:String? public var dateOfBirth:String? public var nationality:String? public var reference:String? required public init(){} } public class SearchResults : Codable { public var euResults:[SearchResultEu]? public var hmtResults:[SearchResultHmTreasury]? public var hmtUkraineResults:[SearchResultHmTreasury]? public var ofacResults:[SearchResultOfac]? public var ofacConsolidatedResults:[SearchResultOfac]? public var dfatResults:[SearchResultDfat]? public var osfiResults:[SearchResultOsfi]? public var canadianJusticeResults:[SearchResultCanadianJustice]? public var canadianSemaResults:[SearchResultCanadianSema]? public var swissSecoResults:[SearchResultEntry]? required public init(){} } public class SearchSource : Codable { public var listId:String? public var listName:String? public var listShortName:String? public var isAffectedByListUpdate:Bool? required public init(){} } public class ArrayOfSearchResultEntries : 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 SearchResultEu : Codable { public var resultStrength:Int? public var resultSimilarity:Double? public var resultResolved:Bool? public var resultType:String? public var dateUpdated:Date? public var addresses:[SearchResultEuAddress]? public var births:[SearchResultEuBirth]? public var citizenships:[SearchResultOfacEuCitizenship]? public var names:[SearchResultEuName]? public var passports:[SearchResultEuPassport]? 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 SearchResultDfat : Codable { public var resultStrength:Int? public var resultSimilarity:Double? public var resultResolved:Bool? public var resultType:String? public var dateUpdated:Date? public var fullName:String? public var address:String? public var dateOfBirth:String? public var placeOfBirth:String? public var nationality:String? required public init(){} } public class SearchResultOsfi : Codable { public var resultStrength:Int? public var resultSimilarity:Double? public var resultResolved:Bool? public var resultType:String? public var dateUpdated:Date? public var fullName:String? public var address:String? public var dateOfBirth:String? public var placeOfBirth:String? public var nationality:String? required public init(){} } public class SearchResultCanadianJustice : Codable { public var resultStrength:Int? public var resultSimilarity:Double? public var resultResolved:Bool? public var resultType:String? public var dateUpdated:Date? public var name:String? public var dateOfBirth:String? public var country:String? public var refId:Int? required public init(){} } public class SearchResultCanadianSema : Codable { public var resultStrength:Int? public var resultSimilarity:Double? public var resultResolved:Bool? public var resultType:String? public var dateUpdated:Date? public var name:String? public var dateOfBirth:String? public var country:String? public var schedule:String? public var item:String? required public init(){} } public class SearchResultEntry : Codable { public var searchResultId:Int? public var resultStrength:Int? public var resultSimilarity:Double? public var resultResolved:Bool? public var resultType:String? public var dateUpdated:Date? public var sanctionsListId:String? public var sanctionsListName:String? public var addresses:[SearchResultAddress]? public var datesOfBirth:[SearchResultDateOfBirth]? public var names:[SearchResultName]? public var nationalities:[SearchResultNationality]? public var placesOfBirth:[SearchResultPlaceOfBirth]? public var remarks:[SearchResultRemark]? required public init(){} } public class SearchResultEuAddress : Codable { public var street:String? public var city:String? public var country:String? public var postCode:String? public var other:String? required public init(){} } public class SearchResultEuBirth : Codable { public var date:String? public var place:String? public var country:String? required public init(){} } public class SearchResultOfacEuCitizenship : Codable { public var country:String? required public init(){} } public class SearchResultEuName : Codable { public var fullName:String? public var gender:String? required public init(){} } public class SearchResultEuPassport : Codable { public var number:String? public var country:String? 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(){} } public class SearchResultAddress : Codable { public var searchResultAddressId:Int? public var type:String? public var address1:String? public var address2:String? public var address3:String? public var city:String? public var county:String? public var postCode:String? public var country:String? required public init(){} } public class SearchResultDateOfBirth : Codable { public var searchResultDateOfBirthId:Int? public var dateOfBirth:String? public var year:Int16? public var month:UInt8? public var day:UInt8? public var type:String? required public init(){} } public class SearchResultName : Codable { public var searchResultNameId:Int? public var type:String? public var title:String? public var fullName:String? public var resultSimilarity:Double? required public init(){} } public class SearchResultNationality : Codable { public var searchResultNationalityId:Int? public var nationality:String? required public init(){} } public class SearchResultPlaceOfBirth : Codable { public var searchResultPlaceOfBirthId:Int? public var placeOfBirth:String? public var countryOfBirth:String? required public init(){} } public class SearchResultRemark : Codable { public var searchResultRemarkId:Int? public var name:String? public var Description:String? required public init(){} }