| POST | /peps/get | Get a PEP search |
|---|
import Foundation
import ServiceStack
// @DataContract
public class GetPepSearch : BaseRequest
{
// @DataMember
public var request:GetPepSearchRequest
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(GetPepSearchRequest.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. 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(){}
}
public class GetPepSearchRequest : Codable
{
/**
* If the search was created against a single Sub User account, specify their username here
*/
// @ApiMember(Description="If the search was created against a single Sub User account, specify their username here")
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 GetPepSearchResponse : Codable
{
// @DataMember
public var data:GetPepSearchData
required public init(){}
}
public class GetPepSearchData : BaseResponse, IBaseSearchResponse
{
public var linkedTo:ArrayOfLinkedTo
public var searchRecord:PepSearchRecord
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(PepSearchRecord.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 PepSearchRecord : Codable
{
public var id:Int
public var searchType:String
public var dateSearched:Date
public var dateUpdated:Date
public var dateRenewal: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 isDayOneSearch:Bool
public var searchCriteria:SearchCriteria
public var searchResults:PepSearchResults
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 PepSearchResults : Codable
{
public var results:[PepSearchResult] = []
required public init(){}
}
public class PepSearchResult : Codable
{
public var resultSimilarity:Double
public var resultResolved:Bool
public var dateLastUpdated:Date
public var resultIsClient:Bool
public var id:Int
public var type:String
public var title:String
public var forename:String
public var middlename:String
public var surname:String
public var softDelete:Bool?
public var dateOfSoftDelete:Date?
public var dateOfCapture:Date?
public var dateOfBirth:Date?
public var dateOfDeath:Date?
public var yearOfBirth:Int?
public var yearOfDeath:Int?
public var gender:String
public var homeTelephone:String
public var businessTelephone:String
public var mobileTelephone:String
public var fax:String
public var email:String
public var nationality:String
public var source:String
public var category:String
public var picture:String
public var alternateTitle:String
public var businessName:String
public var Description:String
public var telephone:String
public var website:String
public var pepTier:Int?
public var faceIsMatch:Bool?
public var faceIsMatchConfidence:Double?
public var addresses:[PepSearchResultAddress] = []
public var aliases:[PepSearchResultAlias] = []
public var articles:[PepSearchResultArticle] = []
public var associations:[PepSearchResultIndividualAssociation] = []
public var businessAssociations:[PepSearchResultBusinessAssociation] = []
public var notes:[PepSearchResultNote] = []
public var politicalPositions:[PepSearchResultPoliticalPosition] = []
required public init(){}
}
public class PepSearchResultAddress : Codable
{
public var addressLine1:String
public var addressLine2:String
public var addressLine3:String
public var addressLine4:String
public var town:String
public var county:String
public var postCode:String
public var country:String
public var isoCountry:String
public var softDelete:Bool?
public var dateLastUpdated:Date
required public init(){}
}
public class PepSearchResultAlias : Codable
{
public var forename:String
public var middleName:String
public var surname:String
public var softDelete:Bool?
public var dateOfSoftDelete:Date?
public var dateLastUpdated:Date
public var title:String
public var alternateTitle:String
public var businessName:String
required public init(){}
}
public class PepSearchResultArticle : Codable
{
public var url:String
public var originalUrl:String
public var source:String
public var dateOfCapture:Date?
public var dateLastUpdated:Date
public var snippets:[PepSearchResultArticleSnippet] = []
required public init(){}
}
public class PepSearchResultArticleSnippet : Codable
{
public var title:String
public var text:String
public var adverseTerms:String
required public init(){}
}
public class PepSearchResultIndividualAssociation : Codable
{
public var linkDescription:String
public var softDelete:Bool?
public var dateLastUpdated:Date
public var fullName:String
required public init(){}
}
public class PepSearchResultBusinessAssociation : Codable
{
public var linkDescription:String
public var softDelete:Bool?
public var dateLastUpdated:Date
public var businessName:String
required public init(){}
}
public class PepSearchResultNote : Codable
{
public var source:String
public var notes:String
public var softDelete:Bool?
public var dateLastUpdated:Date
required public init(){}
}
public class PepSearchResultPoliticalPosition : Codable
{
public var Description:String
public var from:String
public var to:String
public var country:String
public var softDelete:Bool?
public var dateLastUpdated:Date
required public init(){}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /peps/get HTTP/1.1
Host: api.sanctionssearch.com
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<GetPepSearch xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.servicestack.net/types">
<Authentication>
<ApiUserId>String</ApiUserId>
<ApiUserKey>String</ApiUserKey>
<UserId>String</UserId>
</Authentication>
<Request>
<Id>0</Id>
<OnlyShowUnresolvedResults>false</OnlyShowUnresolvedResults>
<SubUserName>String</SubUserName>
</Request>
</GetPepSearch>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<GetPepSearchResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.servicestack.net/types">
<Data>
<ResponseStatus>
<ErrorCode>String</ErrorCode>
<Message>String</Message>
<StackTrace>String</StackTrace>
<Errors>
<ResponseError>
<ErrorCode>String</ErrorCode>
<FieldName>String</FieldName>
<Message>String</Message>
<Meta xmlns:d6p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d6p1:KeyValueOfstringstring>
<d6p1:Key>String</d6p1:Key>
<d6p1:Value>String</d6p1:Value>
</d6p1:KeyValueOfstringstring>
</Meta>
</ResponseError>
</Errors>
<Meta xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d4p1:KeyValueOfstringstring>
<d4p1:Key>String</d4p1:Key>
<d4p1:Value>String</d4p1:Value>
</d4p1:KeyValueOfstringstring>
</Meta>
</ResponseStatus>
<LinkedTo>
<LinkedTo>
<ClientId>0</ClientId>
<Date>0001-01-01T00:00:00</Date>
<Description>String</Description>
<Id>0</Id>
<IsArchived>false</IsArchived>
<Name>String</Name>
<Status>String</Status>
<Subtype>String</Subtype>
<Type>String</Type>
</LinkedTo>
</LinkedTo>
<SearchRecord>
<AffectedByUpdate>false</AffectedByUpdate>
<ClientInResults>false</ClientInResults>
<ClientNotInResults>false</ClientNotInResults>
<DateArchived>0001-01-01T00:00:00</DateArchived>
<DateRenewal>0001-01-01T00:00:00</DateRenewal>
<DateSearched>0001-01-01T00:00:00</DateSearched>
<DateUpdated>0001-01-01T00:00:00</DateUpdated>
<Id>0</Id>
<IsArchived>false</IsArchived>
<IsDayOneSearch>false</IsDayOneSearch>
<NumOfResults>0</NumOfResults>
<SearchCriteria>
<Address>String</Address>
<Country>String</Country>
<DateOfBirth>String</DateOfBirth>
<Name>String</Name>
<Nationality>String</Nationality>
<Reference>String</Reference>
</SearchCriteria>
<SearchResults>
<Results>
<PepSearchResult>
<Addresses>
<PepSearchResultAddress>
<AddressLine1>String</AddressLine1>
<AddressLine2>String</AddressLine2>
<AddressLine3>String</AddressLine3>
<AddressLine4>String</AddressLine4>
<Country>String</Country>
<County>String</County>
<DateLastUpdated>0001-01-01T00:00:00</DateLastUpdated>
<ISOCountry>String</ISOCountry>
<PostCode>String</PostCode>
<SoftDelete>false</SoftDelete>
<Town>String</Town>
</PepSearchResultAddress>
</Addresses>
<Aliases>
<PepSearchResultAlias>
<AlternateTitle>String</AlternateTitle>
<BusinessName>String</BusinessName>
<DateLastUpdated>0001-01-01T00:00:00</DateLastUpdated>
<DateOfSoftDelete>0001-01-01T00:00:00</DateOfSoftDelete>
<Forename>String</Forename>
<MiddleName>String</MiddleName>
<SoftDelete>false</SoftDelete>
<Surname>String</Surname>
<Title>String</Title>
</PepSearchResultAlias>
</Aliases>
<AlternateTitle>String</AlternateTitle>
<Articles>
<PepSearchResultArticle>
<DateLastUpdated>0001-01-01T00:00:00</DateLastUpdated>
<DateOfCapture>0001-01-01T00:00:00</DateOfCapture>
<OriginalUrl>String</OriginalUrl>
<Snippets>
<PepSearchResultArticleSnippet>
<AdverseTerms>String</AdverseTerms>
<Text>String</Text>
<Title>String</Title>
</PepSearchResultArticleSnippet>
</Snippets>
<Source>String</Source>
<Url>String</Url>
</PepSearchResultArticle>
</Articles>
<Associations>
<PepSearchResultIndividualAssociation>
<DateLastUpdated>0001-01-01T00:00:00</DateLastUpdated>
<FullName>String</FullName>
<LinkDescription>String</LinkDescription>
<SoftDelete>false</SoftDelete>
</PepSearchResultIndividualAssociation>
</Associations>
<BusinessAssociations>
<PepSearchResultBusinessAssociation>
<BusinessName>String</BusinessName>
<DateLastUpdated>0001-01-01T00:00:00</DateLastUpdated>
<LinkDescription>String</LinkDescription>
<SoftDelete>false</SoftDelete>
</PepSearchResultBusinessAssociation>
</BusinessAssociations>
<BusinessName>String</BusinessName>
<BusinessTelephone>String</BusinessTelephone>
<Category>String</Category>
<DateLastUpdated>0001-01-01T00:00:00</DateLastUpdated>
<DateOfBirth>0001-01-01T00:00:00</DateOfBirth>
<DateOfCapture>0001-01-01T00:00:00</DateOfCapture>
<DateOfDeath>0001-01-01T00:00:00</DateOfDeath>
<DateOfSoftDelete>0001-01-01T00:00:00</DateOfSoftDelete>
<Description>String</Description>
<Email>String</Email>
<FaceIsMatch>false</FaceIsMatch>
<FaceIsMatchConfidence>0</FaceIsMatchConfidence>
<Fax>String</Fax>
<Forename>String</Forename>
<Gender>String</Gender>
<HomeTelephone>String</HomeTelephone>
<Id>0</Id>
<Middlename>String</Middlename>
<MobileTelephone>String</MobileTelephone>
<Nationality>String</Nationality>
<Notes>
<PepSearchResultNote>
<DateLastUpdated>0001-01-01T00:00:00</DateLastUpdated>
<Notes>String</Notes>
<SoftDelete>false</SoftDelete>
<Source>String</Source>
</PepSearchResultNote>
</Notes>
<PepTier>0</PepTier>
<Picture>String</Picture>
<PoliticalPositions>
<PepSearchResultPoliticalPosition>
<Country>String</Country>
<DateLastUpdated>0001-01-01T00:00:00</DateLastUpdated>
<Description>String</Description>
<From>String</From>
<SoftDelete>false</SoftDelete>
<To>String</To>
</PepSearchResultPoliticalPosition>
</PoliticalPositions>
<ResultIsClient>false</ResultIsClient>
<ResultResolved>false</ResultResolved>
<ResultSimilarity>0</ResultSimilarity>
<SoftDelete>false</SoftDelete>
<Source>String</Source>
<Surname>String</Surname>
<Telephone>String</Telephone>
<Title>String</Title>
<Type>String</Type>
<Website>String</Website>
<YearOfBirth>0</YearOfBirth>
<YearOfDeath>0</YearOfDeath>
</PepSearchResult>
</Results>
</SearchResults>
<SearchType>String</SearchType>
</SearchRecord>
</Data>
</GetPepSearchResponse>