POST | /sanctions/get | Get a sanctions search |
---|
import Foundation
import ServiceStack
// @DataContract
public class GetSearch : BaseRequest
{
// @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 BaseRequest : IBaseRequest, Codable
{
/**
* The authentication credentials
*/
// @DataMember
// @ApiMember(Description="The authentication credentials", IsRequired=true, ParameterType="header, body")
public var authentication:Authentication
required public init(){}
}
// @DataContract
public class Authentication : Codable
{
/**
* 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 var apiUserId:String
/**
* 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 var apiUserKey:String
required public init(){}
}
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(){}
}
// @DataContract
public class GetSearchResponse : Codable
{
// @DataMember
public var data:GetSearchData
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 BaseResponse : IBaseDataResponse, IHasResponseStatus, Codable
{
/**
* The status of the response
*/
// @ApiMember(Description="The status of the response")
public var responseStatus:ResponseStatus
required public init(){}
}
public class ArrayOfResponseError : List<ResponseError>
{
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 ArrayOfLinkedTo : List<LinkedTo>
{
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 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 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 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 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 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 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(){}
}
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 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(){}
}
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<SearchResultEntry>
{
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)
}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json
To embed the response in a jsonp callback, append ?callback=myCallback
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /sanctions/get HTTP/1.1
Host: api.sanctionssearch.com
Accept: application/json
Content-Type: application/json
Content-Length: length
{"request":{"subUserName":"String","onlyShowUnresolvedResults":false,"id":0},"authentication":{"apiUserId":"String","apiUserKey":"String"}}
HTTP/1.1 200 OK Content-Type: application/json Content-Length: length {"data":{"linkedTo":[{"clientId":0,"id":0,"type":"String","subtype":"String","status":"String","description":"String","isArchived":false,"name":"String","date":"\/Date(-62135596800000-0000)\/"}],"searchRecord":{"id":0,"searchType":"String","dateSearched":"\/Date(-62135596800000-0000)\/","dateUpdated":"\/Date(-62135596800000-0000)\/","dateArchived":"\/Date(-62135596800000-0000)\/","isArchived":false,"numOfResults":0,"clientInResults":false,"clientNotInResults":false,"affectedByUpdate":false,"searchCriteria":{"name":"String","address":"String","country":"String","dateOfBirth":"String","nationality":"String","reference":"String"},"searchResults":{"euResults":[{"resultStrength":0,"resultSimilarity":0,"resultResolved":false,"resultType":"String","dateUpdated":"\/Date(-62135596800000-0000)\/","addresses":[{"street":"String","city":"String","country":"String","postCode":"String","other":"String"}],"births":[{"date":"String","place":"String","country":"String"}],"citizenships":[{"country":"String"}],"names":[{"fullName":"String","gender":"String"}],"passports":[{"number":"String","country":"String"}]}],"hmtResults":[{"resultStrength":0,"resultSimilarity":0,"resultResolved":false,"resultType":"String","dateListed":"\/Date(-62135596800000-0000)\/","dateUpdated":"\/Date(-62135596800000-0000)\/","name1":"String","name2":"String","name3":"String","name4":"String","name5":"String","name6":"String","dateOfBirth":"String","countryOfBirth":"String","nationality":"String","address1":"String","address2":"String","address3":"String","address4":"String","address5":"String","address6":"String","postCode":"String","country":"String"}],"hmtUkraineResults":[{"resultStrength":0,"resultSimilarity":0,"resultResolved":false,"resultType":"String","dateListed":"\/Date(-62135596800000-0000)\/","dateUpdated":"\/Date(-62135596800000-0000)\/","name1":"String","name2":"String","name3":"String","name4":"String","name5":"String","name6":"String","dateOfBirth":"String","countryOfBirth":"String","nationality":"String","address1":"String","address2":"String","address3":"String","address4":"String","address5":"String","address6":"String","postCode":"String","country":"String"}],"ofacResults":[{"resultStrength":0,"resultSimilarity":0,"resultResolved":false,"resultType":"String","dateUpdated":"\/Date(-62135596800000-0000)\/","firstName":"String","lastName":"String","addresses":[{"address1":"String","address2":"String","address3":"String","city":"String","state":"String","postCode":"String","country":"String"}],"akas":[{"firstName":"String","lastName":"String","type":"String","strength":"String"}],"dateOfBirths":[{"dateOfBirth":"String"}],"nationalities":[{"country":"String"}],"placeOfBirths":[{"placeOfBirth":"String"}]}],"ofacConsolidatedResults":[{"resultStrength":0,"resultSimilarity":0,"resultResolved":false,"resultType":"String","dateUpdated":"\/Date(-62135596800000-0000)\/","firstName":"String","lastName":"String","addresses":[{"address1":"String","address2":"String","address3":"String","city":"String","state":"String","postCode":"String","country":"String"}],"akas":[{"firstName":"String","lastName":"String","type":"String","strength":"String"}],"dateOfBirths":[{"dateOfBirth":"String"}],"nationalities":[{"country":"String"}],"placeOfBirths":[{"placeOfBirth":"String"}]}],"dfatResults":[{"resultStrength":0,"resultSimilarity":0,"resultResolved":false,"resultType":"String","dateUpdated":"\/Date(-62135596800000-0000)\/","fullName":"String","address":"String","dateOfBirth":"String","placeOfBirth":"String","nationality":"String"}],"osfiResults":[{"resultStrength":0,"resultSimilarity":0,"resultResolved":false,"resultType":"String","dateUpdated":"\/Date(-62135596800000-0000)\/","fullName":"String","address":"String","dateOfBirth":"String","placeOfBirth":"String","nationality":"String"}],"canadianJusticeResults":[{"resultStrength":0,"resultSimilarity":0,"resultResolved":false,"resultType":"String","dateUpdated":"\/Date(-62135596800000-0000)\/","name":"String","dateOfBirth":"String","country":"String","refId":0}],"canadianSemaResults":[{"resultStrength":0,"resultSimilarity":0,"resultResolved":false,"resultType":"String","dateUpdated":"\/Date(-62135596800000-0000)\/","name":"String","dateOfBirth":"String","country":"String","schedule":"String","item":"String"}],"swissSecoResults":[{"searchResultId":0,"resultStrength":0,"resultSimilarity":0,"resultResolved":false,"resultType":"String","dateUpdated":"\/Date(-62135596800000-0000)\/","sanctionsListId":"String","sanctionsListName":"String","addresses":[{"searchResultAddressId":0,"type":"String","address1":"String","address2":"String","address3":"String","city":"String","county":"String","postCode":"String","country":"String"}],"datesOfBirth":[{"searchResultDateOfBirthId":0,"dateOfBirth":"String","year":0,"month":0,"day":0,"type":"String"}],"names":[{"searchResultNameId":0,"type":"String","title":"String","fullName":"String","resultSimilarity":0}],"nationalities":[{"searchResultNationalityId":0,"nationality":"String"}],"placesOfBirth":[{"searchResultPlaceOfBirthId":0,"placeOfBirth":"String","countryOfBirth":"String"}],"remarks":[{"searchResultRemarkId":0,"name":"String","description":"String"}]}]},"searchSources":[{"listId":"String","listName":"String","listShortName":"String","isAffectedByListUpdate":false}],"listSearchResults":[{"searchResultId":0,"resultStrength":0,"resultSimilarity":0,"resultResolved":false,"resultType":"String","dateUpdated":"\/Date(-62135596800000-0000)\/","sanctionsListId":"String","sanctionsListName":"String","addresses":[{"searchResultAddressId":0,"type":"String","address1":"String","address2":"String","address3":"String","city":"String","county":"String","postCode":"String","country":"String"}],"datesOfBirth":[{"searchResultDateOfBirthId":0,"dateOfBirth":"String","year":0,"month":0,"day":0,"type":"String"}],"names":[{"searchResultNameId":0,"type":"String","title":"String","fullName":"String","resultSimilarity":0}],"nationalities":[{"searchResultNationalityId":0,"nationality":"String"}],"placesOfBirth":[{"searchResultPlaceOfBirthId":0,"placeOfBirth":"String","countryOfBirth":"String"}],"remarks":[{"searchResultRemarkId":0,"name":"String","description":"String"}]}]},"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}}}