import Foundation
import ServiceStack
// @DataContract
public class AddValidIdTemplate : BaseRequest
{
// @DataMember
// @ApiMember(IsRequired=true)
public var clientId:Int
required public init(){ super.init() }
private enum CodingKeys : String, CodingKey {
case clientId
}
required public init(from decoder: Decoder) throws {
try super.init(from: decoder)
let container = try decoder.container(keyedBy: CodingKeys.self)
clientId = try container.decodeIfPresent(Int.self, forKey: .clientId)
}
public override func encode(to encoder: Encoder) throws {
try super.encode(to: encoder)
var container = encoder.container(keyedBy: CodingKeys.self)
if clientId != nil { try container.encode(clientId, forKey: .clientId) }
}
}
// @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(){}
}
// @DataContract
public class AddValidIdTemplateResponse : Codable
{
// @DataMember
public var data:AddValidIdTemplateData
required public init(){}
}
public class AddValidIdTemplateData : BaseResponse
{
public var request:AddValidIdRequest
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(AddValidIdRequest.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) }
}
}
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 AddValidIdRequest : Codable
{
/**
* If the search should be saved against a single Sub User account, specify their username here
*/
// @ApiMember(Description="If the search should be saved against a single Sub User account, specify their username here")
public var subUserName:String
public var type:String
public var addPepSearch:Bool
public var pepSearchType:String
public var addSanctionsSearch:Bool
public var selectedLists:ArrayOfLists
public var reference:String
/**
* If the search should be linked to other searches, specify the them here
*/
// @ApiMember(Description="If the search should be linked to other searches, specify the them here")
public var linkedTo:ArrayOfLinkedTo
public var basicRequest:ValidIdBasicRequest
public var passportRequest:ValidIdPassportRequest
public var drivingRequest:ValidIdDrivingRequest
public var birthRequest:ValidIdBirthRequest
public var niRequest:ValidIdNIRequest
public var nhsRequest:ValidIdNHSRequest
public var electricityRequest:ValidIdElectricityRequest
public var bankRequest:ValidIdBankRequest
public var cardNumberRequest:ValidIdCardNumberRequest
public var travelVisaRequest:ValidIdTravelVisaRequest
public var idCardRequest:ValidIdIdCardRequest
public var pollNumberRequest:ValidIdPollNumberRequest
public var marriageRequest:ValidIdMarriageRequest
public var passportEnabled:Bool
public var passportChipEnabled:Bool
public var drivingEnabled:Bool
public var smartlinkEnabled:Bool
public var niEnabled:Bool
public var nhsEnabled:Bool
public var electricityEnabled:Bool
public var bankEnabled:Bool
public var creditActiveEnabled:Bool
public var idCardEnabled:Bool
public var bankLiveEnabled:Bool
public var companyDirectorEnabled:Bool
public var searchActivityEnabled:Bool
public var prsEnabled:Bool
required public init(){}
}
public class ArrayOfLists : List<String>
{
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 ValidIdBasicRequest : Codable
{
public var name1:String
public var name2:String
public var name3:String
public var dateOfBirth:Date?
public var gender:String
public var address1:String
public var address2:String
public var address3:String
public var address4:String
public var address5:String
public var postCode:String
required public init(){}
}
public class ValidIdPassportRequest : Codable
{
public var passport1:String
public var passport2:String
public var passport3:String
public var passport4:String
public var passport5:String
public var passport6:String
public var passport7:String
public var passport8:String
public var passportMrzLineOne1:String
public var passportMrzLineOne2:String
public var passportMrzLineOne3:String
required public init(){}
}
public class ValidIdDrivingRequest : Codable
{
public var driving1:String
public var driving2:String
public var driving3:String
public var drivingPostcode:String
public var drivingMailSort:String
required public init(){}
}
public class ValidIdBirthRequest : Codable
{
public var birthForeName:String
public var birthMiddleName:String
public var birthSurname:String
public var birthMaidenName:String
public var birthDistrict:String
public var birthCertIssueNum:String
required public init(){}
}
public class ValidIdNIRequest : Codable
{
public var niNumber:String
required public init(){}
}
public class ValidIdNHSRequest : Codable
{
public var nhsNumber:String
required public init(){}
}
public class ValidIdElectricityRequest : Codable
{
public var mpanNumber1:String
public var mpanNumber2:String
public var mpanNumber3:String
public var mpanNumber4:String
required public init(){}
}
public class ValidIdBankRequest : Codable
{
public var bankSortCode:String
public var bankAccountNumber:String
required public init(){}
}
public class ValidIdCardNumberRequest : Codable
{
public var cardNumber:String
public var cardType:String
required public init(){}
}
public class ValidIdTravelVisaRequest : Codable
{
public var travelVisa1:String
public var travelVisa2:String
public var travelVisa3:String
public var travelVisa4:String
public var travelVisa5:String
public var travelVisa6:String
public var travelVisa7:String
public var travelVisa8:String
public var travelVisa9:String
required public init(){}
}
public class ValidIdIdCardRequest : Codable
{
public var idCard1:String
public var idCard2:String
public var idCard3:String
public var idCard4:String
public var idCard5:String
public var idCard6:String
public var idCard7:String
public var idCard8:String
public var idCard9:String
public var idCard10:String
required public init(){}
}
public class ValidIdPollNumberRequest : Codable
{
public var pollNumber:String
required public init(){}
}
public class ValidIdMarriageRequest : Codable
{
public var forename:String
public var surname:String
public var partnerForename:String
public var partnerSurname:String
public var date:String
public var district:String
public var certIssueNum:String
required public init(){}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .soap11 suffix or ?format=soap11
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /soap11 HTTP/1.1
Host: api.sanctionssearch.com
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: AddValidIdTemplate
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<AddValidIdTemplate xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.servicestack.net/types">
<Authentication>
<ApiUserId>String</ApiUserId>
<ApiUserKey>String</ApiUserKey>
</Authentication>
<ClientId>0</ClientId>
</AddValidIdTemplate>
</soap:Body>
</soap:Envelope>
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <AddValidIdTemplateResponse 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> <Request> <AddPepSearch>false</AddPepSearch> <AddSanctionsSearch>false</AddSanctionsSearch> <BankEnabled>false</BankEnabled> <BankLiveEnabled>false</BankLiveEnabled> <BankRequest> <BankAccountNumber>String</BankAccountNumber> <BankSortCode>String</BankSortCode> </BankRequest> <BasicRequest> <Address1>String</Address1> <Address2>String</Address2> <Address3>String</Address3> <Address4>String</Address4> <Address5>String</Address5> <DateOfBirth>0001-01-01T00:00:00</DateOfBirth> <Gender>String</Gender> <Name1>String</Name1> <Name2>String</Name2> <Name3>String</Name3> <PostCode>String</PostCode> </BasicRequest> <BirthRequest> <BirthCertIssueNum>String</BirthCertIssueNum> <BirthDistrict>String</BirthDistrict> <BirthForeName>String</BirthForeName> <BirthMaidenName>String</BirthMaidenName> <BirthMiddleName>String</BirthMiddleName> <BirthSurname>String</BirthSurname> </BirthRequest> <CardNumberRequest> <CardNumber>String</CardNumber> <CardType>String</CardType> </CardNumberRequest> <CompanyDirectorEnabled>false</CompanyDirectorEnabled> <CreditActiveEnabled>false</CreditActiveEnabled> <DrivingEnabled>false</DrivingEnabled> <DrivingRequest> <Driving1>String</Driving1> <Driving2>String</Driving2> <Driving3>String</Driving3> <DrivingMailSort>String</DrivingMailSort> <DrivingPostcode>String</DrivingPostcode> </DrivingRequest> <ElectricityEnabled>false</ElectricityEnabled> <ElectricityRequest> <MPANNumber1>String</MPANNumber1> <MPANNumber2>String</MPANNumber2> <MPANNumber3>String</MPANNumber3> <MPANNumber4>String</MPANNumber4> </ElectricityRequest> <IdCardEnabled>false</IdCardEnabled> <IdCardRequest> <IdCard1>String</IdCard1> <IdCard10>String</IdCard10> <IdCard2>String</IdCard2> <IdCard3>String</IdCard3> <IdCard4>String</IdCard4> <IdCard5>String</IdCard5> <IdCard6>String</IdCard6> <IdCard7>String</IdCard7> <IdCard8>String</IdCard8> <IdCard9>String</IdCard9> </IdCardRequest> <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> <MarriageRequest> <CertIssueNum>String</CertIssueNum> <Date>String</Date> <District>String</District> <Forename>String</Forename> <PartnerForename>String</PartnerForename> <PartnerSurname>String</PartnerSurname> <Surname>String</Surname> </MarriageRequest> <NHSEnabled>false</NHSEnabled> <NHSRequest> <NHSNumber>String</NHSNumber> </NHSRequest> <NIEnabled>false</NIEnabled> <NIRequest> <NINumber>String</NINumber> </NIRequest> <PRSEnabled>false</PRSEnabled> <PassportChipEnabled>false</PassportChipEnabled> <PassportEnabled>false</PassportEnabled> <PassportRequest> <Passport1>String</Passport1> <Passport2>String</Passport2> <Passport3>String</Passport3> <Passport4>String</Passport4> <Passport5>String</Passport5> <Passport6>String</Passport6> <Passport7>String</Passport7> <Passport8>String</Passport8> <PassportMrzLineOne1>String</PassportMrzLineOne1> <PassportMrzLineOne2>String</PassportMrzLineOne2> <PassportMrzLineOne3>String</PassportMrzLineOne3> </PassportRequest> <PepSearchType>String</PepSearchType> <PollNumberRequest> <PollNumber>String</PollNumber> </PollNumberRequest> <Reference>String</Reference> <SearchActivityEnabled>false</SearchActivityEnabled> <SelectedLists> <ListId>String</ListId> </SelectedLists> <SmartlinkEnabled>false</SmartlinkEnabled> <SubUserName>String</SubUserName> <TravelVisaRequest> <TravelVisa1>String</TravelVisa1> <TravelVisa2>String</TravelVisa2> <TravelVisa3>String</TravelVisa3> <TravelVisa4>String</TravelVisa4> <TravelVisa5>String</TravelVisa5> <TravelVisa6>String</TravelVisa6> <TravelVisa7>String</TravelVisa7> <TravelVisa8>String</TravelVisa8> <TravelVisa9>String</TravelVisa9> </TravelVisaRequest> <Type>String</Type> </Request> </Data> </AddValidIdTemplateResponse> </soap:Body> </soap:Envelope>