Sanctions Search API: v1

<back to all web services

AddCompanySearch

Create a new sanctions search for an entity

Create a new sanctions search for an entityThis will create a new sanctions search for an entity, such as a company, vessel, organisation, or group.
namespace Nugo.SanctionsSearch.Api.ServiceModel.Operations

open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations

    [<DataContract>]
    [<AllowNullLiteral>]
    type ResponseError() = 
        [<DataMember(Order=1)>]
        member val ErrorCode:String = null with get,set

        [<DataMember(Order=2)>]
        member val FieldName:String = null with get,set

        [<DataMember(Order=3)>]
        member val Message:String = null with get,set

    [<AllowNullLiteral>]
    type ArrayOfResponseError() = 
        inherit ResizeArray<ResponseError>()

    [<DataContract>]
    [<AllowNullLiteral>]
    type ResponseStatus() = 
        [<DataMember(Order=1)>]
        member val ErrorCode:String = null with get,set

        [<DataMember(Order=2)>]
        member val Message:String = null with get,set

        [<DataMember(Order=3)>]
        member val StackTrace:String = null with get,set

        [<DataMember(Order=4)>]
        member val Errors:ArrayOfResponseError = null with get,set

    [<AllowNullLiteral>]
    type SearchCriteria() = 
        member val Name:String = null with get,set
        member val DateOfBirth:String = null with get,set
        member val CountryOfBirth:String = null with get,set
        member val Nationality:String = null with get,set
        member val Address:String = null with get,set

    [<AllowNullLiteral>]
    type SearchResultHmTreasury() = 
        member val ResultStrength:Int32 = new Int32() with get,set
        member val ResultSimilarity:Decimal = new Decimal() with get,set
        member val ResultResolved:Boolean = new Boolean() with get,set
        member val ResultType:String = null with get,set
        member val DateListed:DateTime = new DateTime() with get,set
        member val DateUpdated:DateTime = new DateTime() with get,set
        member val Name1:String = null with get,set
        member val Name2:String = null with get,set
        member val Name3:String = null with get,set
        member val Name4:String = null with get,set
        member val Name5:String = null with get,set
        member val Name6:String = null with get,set
        member val DateOfBirth:String = null with get,set
        member val CountryOfBirth:String = null with get,set
        member val Nationality:String = null with get,set
        member val Address1:String = null with get,set
        member val Address2:String = null with get,set
        member val Address3:String = null with get,set
        member val Address4:String = null with get,set
        member val Address5:String = null with get,set
        member val Address6:String = null with get,set
        member val PostCode:String = null with get,set
        member val Country:String = null with get,set

    [<AllowNullLiteral>]
    type SearchResultOfacAddress() = 
        member val Address1:String = null with get,set
        member val Address2:String = null with get,set
        member val Address3:String = null with get,set
        member val City:String = null with get,set
        member val State:String = null with get,set
        member val PostCode:String = null with get,set
        member val Country:String = null with get,set

    [<AllowNullLiteral>]
    type SearchResultOfacAka() = 
        member val FirstName:String = null with get,set
        member val LastName:String = null with get,set
        member val Type:String = null with get,set
        member val Strength:String = null with get,set

    [<AllowNullLiteral>]
    type SearchResultOfacDateOfBirth() = 
        member val DateOfBirth:String = null with get,set

    [<AllowNullLiteral>]
    type SearchResultOfacNationality() = 
        member val Country:String = null with get,set

    [<AllowNullLiteral>]
    type SearchResultOfacPlaceOfBirth() = 
        member val PlaceOfBirth:String = null with get,set

    [<AllowNullLiteral>]
    type SearchResultOfac() = 
        member val ResultStrength:Int32 = new Int32() with get,set
        member val ResultSimilarity:Decimal = new Decimal() with get,set
        member val ResultResolved:Boolean = new Boolean() with get,set
        member val ResultType:String = null with get,set
        member val DateUpdated:DateTime = new DateTime() with get,set
        member val FirstName:String = null with get,set
        member val LastName:String = null with get,set
        member val Addresses:ResizeArray<SearchResultOfacAddress> = new ResizeArray<SearchResultOfacAddress>() with get,set
        member val Akas:ResizeArray<SearchResultOfacAka> = new ResizeArray<SearchResultOfacAka>() with get,set
        member val DateOfBirths:ResizeArray<SearchResultOfacDateOfBirth> = new ResizeArray<SearchResultOfacDateOfBirth>() with get,set
        member val Nationalities:ResizeArray<SearchResultOfacNationality> = new ResizeArray<SearchResultOfacNationality>() with get,set
        member val PlaceOfBirths:ResizeArray<SearchResultOfacPlaceOfBirth> = new ResizeArray<SearchResultOfacPlaceOfBirth>() with get,set

    [<AllowNullLiteral>]
    type SearchResults() = 
        member val HMTResults:ResizeArray<SearchResultHmTreasury> = new ResizeArray<SearchResultHmTreasury>() with get,set
        member val OfacResults:ResizeArray<SearchResultOfac> = new ResizeArray<SearchResultOfac>() with get,set

    [<AllowNullLiteral>]
    type SearchRecord() = 
        member val Id:Int64 = new Int64() with get,set
        member val SearchType:String = null with get,set
        member val DateSearched:DateTime = new DateTime() with get,set
        member val DateUpdated:DateTime = new DateTime() with get,set
        member val NumOfResults:Int32 = new Int32() with get,set
        member val ClientInResults:Boolean = new Boolean() with get,set
        member val ClientNotInResults:Boolean = new Boolean() with get,set
        member val AffectedByUpdate:Boolean = new Boolean() with get,set
        member val SearchCriteria:SearchCriteria = null with get,set
        member val SearchResults:SearchResults = null with get,set

    [<DataContract>]
    [<AllowNullLiteral>]
    type AddCompanySearchData() = 
        [<DataMember>]
        member val ResponseStatus:ResponseStatus = null with get,set

        [<DataMember>]
        member val SearchRecord:SearchRecord = null with get,set

    [<DataContract>]
    [<AllowNullLiteral>]
    type AddCompanySearchResponse() = 
        [<DataMember>]
        [<ApiMember(IsRequired=true)>]
        member val Data:AddCompanySearchData = null with get,set

    [<DataContract>]
    [<AllowNullLiteral>]
    type Authentication() = 
        ///<summary>
        ///The API User ID that will authenticate your request
        ///</summary>
        [<DataMember>]
        [<ApiMember(DataType="string", Description="The API User ID that will authenticate your request", IsRequired=true)>]
        member val ApiUserId:String = null with get,set

        ///<summary>
        ///The API User Key that will authenticate your request
        ///</summary>
        [<DataMember>]
        [<ApiMember(DataType="string", Description="The API User Key that will authenticate your request", IsRequired=true)>]
        member val ApiUserKey:String = null with get,set

    [<AllowNullLiteral>]
    type ArrayOfSanctionsLists() = 
        inherit ResizeArray<String>()

    [<AllowNullLiteral>]
    type SearchCompanyRequest() = 
        ///<summary>
        ///The name of the entity that is being searched.
        ///</summary>
        [<ApiMember(DataType="string", Description="The name of the entity that is being searched.", IsRequired=true)>]
        member val CompanyName:String = null with get,set

        ///<summary>
        ///The country where the entity is registered.
        ///</summary>
        [<ApiMember(DataType="string", Description="The country where the entity is registered.", Format="int64")>]
        member val Country:String = null with get,set

        ///<summary>
        ///The address where the entity is registered.
        ///</summary>
        [<ApiMember(DataType="string", Description="The address where the entity is registered.")>]
        member val Address:String = null with get,set

        ///<summary>
        ///Array of sanctions lists to be included in the search. At least one is required.
        ///</summary>
        [<ApiMember(DataType="ArrayOfSanctionsLists", Description="Array of sanctions lists to be included in the search. At least one is required.", IsRequired=true)>]
        member val SelectedSanctionsLists:ArrayOfSanctionsLists = null with get,set

    ///<summary>
    ///Create a new sanctions search for an entity
    ///</summary>
    [<Api(Description="Create a new sanctions search for an entity")>]
    [<ApiResponse(Description="Your request is successful if the \"<em>Data.ResponseStatus.Message</em>\" field is \"<b>Success</b>\".", StatusCode=200)>]
    [<DataContract>]
    [<AllowNullLiteral>]
    type AddCompanySearch() = 
        ///<summary>
        ///Authentication object
        ///</summary>
        [<DataMember>]
        [<ApiMember(DataType="Authentication", Description="Authentication object", IsRequired=true)>]
        member val Authentication:Authentication = null with get,set

        ///<summary>
        ///Request object
        ///</summary>
        [<DataMember>]
        [<ApiMember(DataType="SearchCompanyRequest", Description="Request object", IsRequired=true)>]
        member val Request:SearchCompanyRequest = null with get,set

F# AddCompanySearch DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .soap11 suffix or ?format=soap11

HTTP + 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: AddCompanySearch

<?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>

<AddCompanySearch xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.servicestack.net/types">
  <Authentication>
    <ApiUserId>String</ApiUserId>
    <ApiUserKey>String</ApiUserKey>
  </Authentication>
  <Request>
    <Address>String</Address>
    <CompanyName>String</CompanyName>
    <Country>String</Country>
    <SelectedSanctionsLists>
      <SanctionsListId>String</SanctionsListId>
    </SelectedSanctionsLists>
  </Request>
</AddCompanySearch>

</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>

<AddCompanySearchResponse 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>
        </ResponseError>
      </Errors>
    </ResponseStatus>
    <SearchRecord>
      <AffectedByUpdate>false</AffectedByUpdate>
      <ClientInResults>false</ClientInResults>
      <ClientNotInResults>false</ClientNotInResults>
      <DateSearched>0001-01-01T00:00:00</DateSearched>
      <DateUpdated>0001-01-01T00:00:00</DateUpdated>
      <Id>0</Id>
      <NumOfResults>0</NumOfResults>
      <SearchCriteria>
        <Address>String</Address>
        <CountryOfBirth>String</CountryOfBirth>
        <DateOfBirth>String</DateOfBirth>
        <Name>String</Name>
        <Nationality>String</Nationality>
      </SearchCriteria>
      <SearchResults>
        <HMTResults>
          <SearchResultHmTreasury>
            <Address1>String</Address1>
            <Address2>String</Address2>
            <Address3>String</Address3>
            <Address4>String</Address4>
            <Address5>String</Address5>
            <Address6>String</Address6>
            <Country>String</Country>
            <CountryOfBirth>String</CountryOfBirth>
            <DateListed>0001-01-01T00:00:00</DateListed>
            <DateOfBirth>String</DateOfBirth>
            <DateUpdated>0001-01-01T00:00:00</DateUpdated>
            <Name1>String</Name1>
            <Name2>String</Name2>
            <Name3>String</Name3>
            <Name4>String</Name4>
            <Name5>String</Name5>
            <Name6>String</Name6>
            <Nationality>String</Nationality>
            <PostCode>String</PostCode>
            <ResultResolved>false</ResultResolved>
            <ResultSimilarity>0</ResultSimilarity>
            <ResultStrength>0</ResultStrength>
            <ResultType>String</ResultType>
          </SearchResultHmTreasury>
        </HMTResults>
        <OfacResults>
          <SearchResultOfac>
            <Addresses>
              <SearchResultOfacAddress>
                <Address1>String</Address1>
                <Address2>String</Address2>
                <Address3>String</Address3>
                <City>String</City>
                <Country>String</Country>
                <PostCode>String</PostCode>
                <State>String</State>
              </SearchResultOfacAddress>
            </Addresses>
            <Akas>
              <SearchResultOfacAka>
                <FirstName>String</FirstName>
                <LastName>String</LastName>
                <Strength>String</Strength>
                <Type>String</Type>
              </SearchResultOfacAka>
            </Akas>
            <DateOfBirths>
              <SearchResultOfacDateOfBirth>
                <DateOfBirth>String</DateOfBirth>
              </SearchResultOfacDateOfBirth>
            </DateOfBirths>
            <DateUpdated>0001-01-01T00:00:00</DateUpdated>
            <FirstName>String</FirstName>
            <LastName>String</LastName>
            <Nationalities>
              <SearchResultOfacNationality>
                <Country>String</Country>
              </SearchResultOfacNationality>
            </Nationalities>
            <PlaceOfBirths>
              <SearchResultOfacPlaceOfBirth>
                <PlaceOfBirth>String</PlaceOfBirth>
              </SearchResultOfacPlaceOfBirth>
            </PlaceOfBirths>
            <ResultResolved>false</ResultResolved>
            <ResultSimilarity>0</ResultSimilarity>
            <ResultStrength>0</ResultStrength>
            <ResultType>String</ResultType>
          </SearchResultOfac>
        </OfacResults>
      </SearchResults>
      <SearchType>String</SearchType>
    </SearchRecord>
  </Data>
</AddCompanySearchResponse>

</soap:Body>
</soap:Envelope>