POST | /companylookups/create | Create a company lookup |
---|
import Foundation
import ServiceStack
// @DataContract
public class AddCompanyLookup : BaseRequest
{
// @DataMember
public var request:AddCompanyLookupRequest
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(AddCompanyLookupRequest.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 AddCompanyLookupRequest : 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 companyLookupId:Int?
public var companyRegistrationNumber:String
public var companyName:String
public var companyAddress:String
public var companyCountry:String
public var performEnhancedSearch:Bool
public var selectedLists:ArrayOfLists
/**
* 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
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(){}
}
// @DataContract
public class AddCompanyLookupResponse : Codable
{
// @DataMember
public var data:AddCompanyLookupData
required public init(){}
}
public class AddCompanyLookupData : BaseResponse, IBaseSearchResponse
{
public var linkedTo:ArrayOfLinkedTo
public var searchRecord:CompanyLookupSearchRecord
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(CompanyLookupSearchRecord.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 CompanyLookupSearchRecord : Codable
{
public var id:Int
public var searchCriteria:SearchCriteria
public var selectedLists:ArrayOfLists
public var date:Date
public var hasCompanyId:Bool
public var hasCompanyDetails:Bool
public var hasStartedSearches:Bool
public var hasCompletedSearches:Bool
public var companyDirectorsAndShareholders:[CompanyDirectorOrShareholder] = []
public var companySearchRecord:SearchListItem
public var hasEnhancedInformation:Bool
public var enhancedInformation:CompanyLookupEnhanced
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 CompanyDirectorOrShareholder : 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 isDirector:Bool
public var isShareholder:Bool
required public init(){}
}
public class SearchListItem : 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 searchSources:[SearchSource] = []
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 CompanyLookupEnhanced : Codable
{
public var summary:CompanyLookupEnhancedSummary
public var contactInformation:CompanyLookupEnhancedContactInfo
public var sicCodes:[CompanyLookupEnhancedSicCode] = []
public var previousNames:[CompanyLookupEnhancedPreviousName] = []
public var shareStructure:CompanyLookupEnhancedShareStructure
public var directors:CompanyLookupEnhancedDirectors
public var groupStructure:CompanyLookupEnhancedStructure
public var countyCourtJudgements:CompanyLookupEnhancedCCJs
public var eventHistory:[CompanyLookupEnhancedEvent] = []
public var commentaries:[CompanyLookupEnhancedCommentary] = []
public var creditAccounts:CompanyLookupEnhancedCreditAccount
public var financialStatements:[CompanyLookupEnhancedFinancialStatement] = []
required public init(){}
}
public class CompanyLookupEnhancedSummary : Codable
{
public var name:String
public var country:String
public var registrationNumber:String
public var dateOfIncorporation:String
public var typeOfIncorporation:String
public var companyStatus:String
public var address:String
public var telephone:String
public var sicCode:String
public var sicDescription:String
public var principleActivity:String
public var latestAccounts:CompanyLookupEnhancedLatestAccounts
required public init(){}
}
public class CompanyLookupEnhancedLatestAccounts : Codable
{
public var currency:String
public var turnover:Double?
public var shareholdersEquity:Double?
public var creditRating:Int?
public var creditLimit:Int?
public var creditRatingDescription:String
public var accountRefDay:Int?
public var accountRefMonth:Int?
public var accountNextDueDate:Date?
public var accountLastMadeUpDate:Date?
public var accountCategory:String
public var returnLastMadeUpDate:Date?
required public init(){}
}
public class CompanyLookupEnhancedContactInfo : Codable
{
public var registeredAddress:CompanyLookupEnhancedAddress
public var tradingAddresses:[CompanyLookupEnhancedAddress] = []
public var websites:[CompanyLookupEnhancedWebsite] = []
public var additionalContactInfo:CompanyLookupEnhancedAdditionalContact
required public init(){}
}
public class CompanyLookupEnhancedAddress : Codable
{
public var fullAddress:String
public var address1:String
public var address2:String
public var address3:String
public var address4:String
public var postCode:String
public var telephone:String
required public init(){}
}
public class CompanyLookupEnhancedWebsite : Codable
{
public var website:String
required public init(){}
}
public class CompanyLookupEnhancedAdditionalContact : Codable
{
public var telephone:String
public var faxNumber:String
public var emailAddress:String
public var webAddress:String
public var twitter:String
public var facebook:String
public var googlePlus:String
public var linkedIn:String
public var contactName:String
public var businessClassification:String
required public init(){}
}
public class CompanyLookupEnhancedSicCode : Codable
{
public var sicCode2003:Int?
public var sicCode2003Description:String
public var sicCode2007:Int?
public var sicCode2007Description:String
public var status:String
required public init(){}
}
public class CompanyLookupEnhancedPreviousName : Codable
{
public var dateChanged:Date?
public var name:String
required public init(){}
}
public class CompanyLookupEnhancedShareStructure : Codable
{
public var issuedShareCapital:Double?
public var shareholders:[CompanyLookupEnhancedShareholder] = []
required public init(){}
}
public class CompanyLookupEnhancedShareholder : Codable
{
public var title:String
public var forename:String
public var surname: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
public var shareType:String
public var number:Double?
public var value:Double?
public var currency:String
public var shareholderType:String
public var shareClass:String
required public init(){}
}
public class CompanyLookupEnhancedDirectors : Codable
{
public var currentDirectors:[CompanyLookupEnhancedDirector] = []
public var previousDirectors:[CompanyLookupEnhancedDirector] = []
required public init(){}
}
public class CompanyLookupEnhancedDirector : Codable
{
public var name:String
public var address:String
public var gender:String
public var appointmentDate:Date?
public var resignationDate:Date?
public var dateOfBirth:Date?
public var position:String
public var idNumber:Int?
public var currentDirectorships:Int?
public var previousDirectorships:Int?
public var totalDirectorships:Int?
required public init(){}
}
public class CompanyLookupEnhancedStructure : Codable
{
public var parentCompanies:[CompanyLookupEnhancedCompany] = []
public var subsidiaryCompanies:[CompanyLookupEnhancedCompany] = []
required public init(){}
}
public class CompanyLookupEnhancedCompany : Codable
{
public var country:String
public var companyName:String
public var companyNumber:String
required public init(){}
}
public class CompanyLookupEnhancedCCJs : Codable
{
public var possibleCCJs:[CompanyLookupEnhancedCCJ] = []
public var exactCCJs:[CompanyLookupEnhancedCCJ] = []
required public init(){}
}
public class CompanyLookupEnhancedCCJ : Codable
{
public var date:Date?
public var court:String
public var amount:Double?
public var caseNumber:String
public var status:String
public var datePaid:String
public var incomingRecordDetails:String
required public init(){}
}
public class CompanyLookupEnhancedEvent : Codable
{
public var date:Date?
public var Description:String
required public init(){}
}
public class CompanyLookupEnhancedCommentary : Codable
{
public var text:String
public var positiveOrNegative:String
public var priority:Int?
required public init(){}
}
public class CompanyLookupEnhancedCreditAccount : Codable
{
public var creditLimitHistory:[CompanyLookupEnhancedCreditLimit] = []
public var creditRatingHistory:[CompanyLookupEnhancedCreditRating] = []
required public init(){}
}
public class CompanyLookupEnhancedCreditLimit : Codable
{
public var date:Date?
public var dateOrder:Int?
public var amount:Int?
required public init(){}
}
public class CompanyLookupEnhancedCreditRating : Codable
{
public var date:Date?
public var dateOrder:Int?
public var amount:Int?
public var shortDescription:String
public var Description:String
required public init(){}
}
public class CompanyLookupEnhancedFinancialStatement : Codable
{
public var yearEndDateOrder:Int?
public var yearEndDate:Date?
public var summaryNumberOfWeeks:Int?
public var summaryCurrency:String
public var summaryConsolidatedAccount:String
public var profitAndLoss:CompanyLookupFinancialProfit
public var balanceSheet:CompanyLookupFinancialBalance
public var capitalAndReserves:CompanyLookupFinancialCapital
public var other:CompanyLookupFinancialOther
public var cash:CompanyLookupFinancialCash
public var misc:CompanyLookupFinancialMisc
public var ratios:CompanyLookupFinancialRatios
required public init(){}
}
public class CompanyLookupFinancialProfit : Codable
{
public var turnover:Double?
public var export:Double?
public var costOfSales:Double?
public var grossProfit:Double?
public var wagesAndSalaries:Double?
public var directorEmolument:Double?
public var operatingProfit:Double?
public var depreciation:Double?
public var auditFees:Double?
public var interestPayments:Double?
public var pretaxProfit:Double?
public var taxation:Double?
public var profitAfterTax:Double?
public var dividendsPayable:Double?
public var retainedProfit:Double?
required public init(){}
}
public class CompanyLookupFinancialBalance : Codable
{
public var tangibleAccounts:Double?
public var intangibleAssets:Double?
public var totalFixedAssets:Double?
public var stock:Double?
public var tradeDebtors:Double?
public var cash:Double?
public var otherDebtors:Double?
public var miscCurrentAssets:Double?
public var totalCurrentAssets:Double?
public var tradeCreditors:Double?
public var bankLoansAndOverdrafts:Double?
public var otherShortTermFinance:Double?
public var miscCurrentLiabilities:Double?
public var totalCurrentLiabilities:Double?
public var bankLoansAndOverdraftsAndLTL:Double?
public var otherLongTermFinance:Double?
public var totalLongTermFinance:Double?
required public init(){}
}
public class CompanyLookupFinancialCapital : Codable
{
public var calledUpSharedCapital:Double?
public var profitAndLossAccountReserve:Double?
public var revaluationReserve:Double?
public var sundryReserves:Double?
public var shareholderFunds:Double?
required public init(){}
}
public class CompanyLookupFinancialOther : Codable
{
public var netWorth:Double?
public var netAssets:Double?
public var workingCapital:Double?
public var totalAssets:Double?
public var totalLiabilities:Double?
required public init(){}
}
public class CompanyLookupFinancialCash : Codable
{
public var netCashFlowFromOperations:Double?
public var netCashFlowBeforeFinancing:Double?
public var netCashFlowFromFinancing:Double?
public var increaseInCash:Double?
required public init(){}
}
public class CompanyLookupFinancialMisc : Codable
{
public var contingentLiability:String
public var capitalEmployed:Double?
public var numberOfEmployees:Double?
public var auditors:String
public var auditorComments:String
public var bankers:String
public var bankBranchCode:String
required public init(){}
}
public class CompanyLookupFinancialRatios : Codable
{
public var preTaxProfitMargin:Double?
public var currentRatio:Double?
public var salesNetworkingCapital:Double?
public var gearing:Double?
public var equity:Double?
public var creditorDays:Double?
public var debtorDays:Double?
public var liquidityAcidTest:Double?
public var returnOnCapitalEmployed:Double?
public var returnOnNetAssetsEmployed:Double?
public var returnOnTotalAssetsEmployed:Double?
public var currentDebtRatio:Double?
public var totalDebtRatio:Double?
public var stockTurnoverRatio:Double?
required public init(){}
}
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 /companylookups/create HTTP/1.1
Host: api.sanctionssearch.com
Accept: application/json
Content-Type: application/json
Content-Length: length
{"request":{"subUserName":"String","companyLookupId":0,"companyRegistrationNumber":"String","companyName":"String","companyAddress":"String","companyCountry":"String","performEnhancedSearch":false,"selectedLists":["String"],"linkedTo":[{"clientId":0,"id":0,"type":"String","subtype":"String","status":"String","description":"String","isArchived":false,"name":"String","date":"\/Date(-62135596800000-0000)\/"}]},"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,"searchCriteria":{"name":"String","address":"String","country":"String","dateOfBirth":"String","nationality":"String","reference":"String"},"selectedLists":["String"],"date":"\/Date(-62135596800000-0000)\/","hasCompanyId":false,"hasCompanyDetails":false,"hasStartedSearches":false,"hasCompletedSearches":false,"companyDirectorsAndShareholders":[{"id":0,"searchType":"String","dateSearched":"\/Date(-62135596800000-0000)\/","dateUpdated":"\/Date(-62135596800000-0000)\/","numOfResults":0,"clientInResults":false,"clientNotInResults":false,"affectedByUpdate":false,"searchCriteria":{"name":"String","address":"String","country":"String","dateOfBirth":"String","nationality":"String","reference":"String"},"isDirector":false,"isShareholder":false}],"companySearchRecord":{"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"},"searchSources":[{"listId":"String","listName":"String","listShortName":"String","isAffectedByListUpdate":false}]},"hasEnhancedInformation":false,"enhancedInformation":{"summary":{"name":"String","country":"String","registrationNumber":"String","dateOfIncorporation":"String","typeOfIncorporation":"String","companyStatus":"String","address":"String","telephone":"String","sicCode":"String","sicDescription":"String","principleActivity":"String","latestAccounts":{"currency":"String","turnover":0,"shareholdersEquity":0,"creditRating":0,"creditLimit":0,"creditRatingDescription":"String","accountRefDay":0,"accountRefMonth":0,"accountNextDueDate":"\/Date(-62135596800000-0000)\/","accountLastMadeUpDate":"\/Date(-62135596800000-0000)\/","accountCategory":"String","returnLastMadeUpDate":"\/Date(-62135596800000-0000)\/"}},"contactInformation":{"registeredAddress":{"fullAddress":"String","address1":"String","address2":"String","address3":"String","address4":"String","postCode":"String","telephone":"String"},"tradingAddresses":[{"fullAddress":"String","address1":"String","address2":"String","address3":"String","address4":"String","postCode":"String","telephone":"String"}],"websites":[{"website":"String"}],"additionalContactInfo":{"telephone":"String","faxNumber":"String","emailAddress":"String","webAddress":"String","twitter":"String","facebook":"String","googlePlus":"String","linkedIn":"String","contactName":"String","businessClassification":"String"}},"sicCodes":[{"sicCode2003":0,"sicCode2003Description":"String","sicCode2007":0,"sicCode2007Description":"String","status":"String"}],"previousNames":[{"dateChanged":"\/Date(-62135596800000-0000)\/","name":"String"}],"shareStructure":{"issuedShareCapital":0,"shareholders":[{"title":"String","forename":"String","surname":"String","address1":"String","address2":"String","address3":"String","address4":"String","address5":"String","postCode":"String","shareType":"String","number":0,"value":0,"currency":"String","shareholderType":"String","shareClass":"String"}]},"directors":{"currentDirectors":[{"name":"String","address":"String","gender":"String","appointmentDate":"\/Date(-62135596800000-0000)\/","resignationDate":"\/Date(-62135596800000-0000)\/","dateOfBirth":"\/Date(-62135596800000-0000)\/","position":"String","idNumber":0,"currentDirectorships":0,"previousDirectorships":0,"totalDirectorships":0}],"previousDirectors":[{"name":"String","address":"String","gender":"String","appointmentDate":"\/Date(-62135596800000-0000)\/","resignationDate":"\/Date(-62135596800000-0000)\/","dateOfBirth":"\/Date(-62135596800000-0000)\/","position":"String","idNumber":0,"currentDirectorships":0,"previousDirectorships":0,"totalDirectorships":0}]},"groupStructure":{"parentCompanies":[{"country":"String","companyName":"String","companyNumber":"String"}],"subsidiaryCompanies":[{"country":"String","companyName":"String","companyNumber":"String"}]},"countyCourtJudgements":{"possibleCCJs":[{"date":"\/Date(-62135596800000-0000)\/","court":"String","amount":0,"caseNumber":"String","status":"String","datePaid":"String","incomingRecordDetails":"String"}],"exactCCJs":[{"date":"\/Date(-62135596800000-0000)\/","court":"String","amount":0,"caseNumber":"String","status":"String","datePaid":"String","incomingRecordDetails":"String"}]},"eventHistory":[{"date":"\/Date(-62135596800000-0000)\/","description":"String"}],"commentaries":[{"text":"String","positiveOrNegative":"String","priority":0}],"creditAccounts":{"creditLimitHistory":[{"date":"\/Date(-62135596800000-0000)\/","dateOrder":0,"amount":0}],"creditRatingHistory":[{"date":"\/Date(-62135596800000-0000)\/","dateOrder":0,"amount":0,"shortDescription":"String","description":"String"}]},"financialStatements":[{"yearEndDateOrder":0,"yearEndDate":"\/Date(-62135596800000-0000)\/","summaryNumberOfWeeks":0,"summaryCurrency":"String","summaryConsolidatedAccount":"String","profitAndLoss":{"turnover":0,"export":0,"costOfSales":0,"grossProfit":0,"wagesAndSalaries":0,"directorEmolument":0,"operatingProfit":0,"depreciation":0,"auditFees":0,"interestPayments":0,"pretaxProfit":0,"taxation":0,"profitAfterTax":0,"dividendsPayable":0,"retainedProfit":0},"balanceSheet":{"tangibleAccounts":0,"intangibleAssets":0,"totalFixedAssets":0,"stock":0,"tradeDebtors":0,"cash":0,"otherDebtors":0,"miscCurrentAssets":0,"totalCurrentAssets":0,"tradeCreditors":0,"bankLoansAndOverdrafts":0,"otherShortTermFinance":0,"miscCurrentLiabilities":0,"totalCurrentLiabilities":0,"bankLoansAndOverdraftsAndLTL":0,"otherLongTermFinance":0,"totalLongTermFinance":0},"capitalAndReserves":{"calledUpSharedCapital":0,"profitAndLossAccountReserve":0,"revaluationReserve":0,"sundryReserves":0,"shareholderFunds":0},"other":{"netWorth":0,"netAssets":0,"workingCapital":0,"totalAssets":0,"totalLiabilities":0},"cash":{"netCashFlowFromOperations":0,"netCashFlowBeforeFinancing":0,"netCashFlowFromFinancing":0,"increaseInCash":0},"misc":{"contingentLiability":"String","capitalEmployed":0,"numberOfEmployees":0,"auditors":"String","auditorComments":"String","bankers":"String","bankBranchCode":"String"},"ratios":{"preTaxProfitMargin":0,"currentRatio":0,"salesNetworkingCapital":0,"gearing":0,"equity":0,"creditorDays":0,"debtorDays":0,"liquidityAcidTest":0,"returnOnCapitalEmployed":0,"returnOnNetAssetsEmployed":0,"returnOnTotalAssetsEmployed":0,"currentDebtRatio":0,"totalDebtRatio":0,"stockTurnoverRatio":0}}]}},"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}}}