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.
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using Nugo.SanctionsSearch.Api.ServiceModel.Operations;
using Nugo.SanctionsSearch.Api.ServiceModel.Types;
using Nugo.SanctionsSearch.Api.ServiceModel.Operations.Base;

namespace Nugo.SanctionsSearch.Api.ServiceModel.Operations
{
    ///<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]
    public partial class AddCompanySearch
        : IBaseRequest
    {
        ///<summary>
        ///Authentication object
        ///</summary>
        [DataMember]
        [ApiMember(DataType="Authentication", Description="Authentication object", IsRequired=true)]
        public virtual Authentication Authentication { get; set; }

        ///<summary>
        ///Request object
        ///</summary>
        [DataMember]
        [ApiMember(DataType="SearchCompanyRequest", Description="Request object", IsRequired=true)]
        public virtual SearchCompanyRequest Request { get; set; }
    }

    [DataContract]
    public partial class AddCompanySearchData
        : IBaseDataResponse, IHasResponseStatus
    {
        [DataMember]
        public virtual ResponseStatus ResponseStatus { get; set; }

        [DataMember]
        public virtual SearchRecord SearchRecord { get; set; }
    }

    [DataContract]
    public partial class AddCompanySearchResponse
    {
        [DataMember]
        [ApiMember(IsRequired=true)]
        public virtual AddCompanySearchData Data { get; set; }
    }

}

namespace Nugo.SanctionsSearch.Api.ServiceModel.Operations.Base
{
    public partial class ArrayOfResponseError
        : List<ResponseError>
    {
    }

    [DataContract]
    public partial class ResponseError
    {
        [DataMember(Order=1)]
        public virtual string ErrorCode { get; set; }

        [DataMember(Order=2)]
        public virtual string FieldName { get; set; }

        [DataMember(Order=3)]
        public virtual string Message { get; set; }
    }

    [DataContract]
    public partial class ResponseStatus
    {
        [DataMember(Order=1)]
        public virtual string ErrorCode { get; set; }

        [DataMember(Order=2)]
        public virtual string Message { get; set; }

        [DataMember(Order=3)]
        public virtual string StackTrace { get; set; }

        [DataMember(Order=4)]
        public virtual ArrayOfResponseError Errors { get; set; }
    }

}

namespace Nugo.SanctionsSearch.Api.ServiceModel.Types
{
    public partial class ArrayOfSanctionsLists
        : List<string>
    {
    }

    [DataContract]
    public partial class Authentication
        : IAuthentication
    {
        ///<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)]
        public virtual string ApiUserId { 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)]
        public virtual string ApiUserKey { get; set; }
    }

    public partial class 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)]
        public virtual string CompanyName { get; set; }

        ///<summary>
        ///The country where the entity is registered.
        ///</summary>
        [ApiMember(DataType="string", Description="The country where the entity is registered.", Format="int64")]
        public virtual string Country { get; set; }

        ///<summary>
        ///The address where the entity is registered.
        ///</summary>
        [ApiMember(DataType="string", Description="The address where the entity is registered.")]
        public virtual string Address { 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)]
        public virtual ArrayOfSanctionsLists SelectedSanctionsLists { get; set; }
    }

    public partial class SearchCriteria
    {
        public virtual string Name { get; set; }
        public virtual string DateOfBirth { get; set; }
        public virtual string CountryOfBirth { get; set; }
        public virtual string Nationality { get; set; }
        public virtual string Address { get; set; }
    }

    public partial class SearchRecord
    {
        public virtual long Id { get; set; }
        public virtual string SearchType { get; set; }
        public virtual DateTime DateSearched { get; set; }
        public virtual DateTime DateUpdated { get; set; }
        public virtual int NumOfResults { get; set; }
        public virtual bool ClientInResults { get; set; }
        public virtual bool ClientNotInResults { get; set; }
        public virtual bool AffectedByUpdate { get; set; }
        public virtual SearchCriteria SearchCriteria { get; set; }
        public virtual SearchResults SearchResults { get; set; }
    }

    public partial class SearchResultHmTreasury
    {
        public virtual int ResultStrength { get; set; }
        public virtual decimal ResultSimilarity { get; set; }
        public virtual bool ResultResolved { get; set; }
        public virtual string ResultType { get; set; }
        public virtual DateTime DateListed { get; set; }
        public virtual DateTime DateUpdated { get; set; }
        public virtual string Name1 { get; set; }
        public virtual string Name2 { get; set; }
        public virtual string Name3 { get; set; }
        public virtual string Name4 { get; set; }
        public virtual string Name5 { get; set; }
        public virtual string Name6 { get; set; }
        public virtual string DateOfBirth { get; set; }
        public virtual string CountryOfBirth { get; set; }
        public virtual string Nationality { get; set; }
        public virtual string Address1 { get; set; }
        public virtual string Address2 { get; set; }
        public virtual string Address3 { get; set; }
        public virtual string Address4 { get; set; }
        public virtual string Address5 { get; set; }
        public virtual string Address6 { get; set; }
        public virtual string PostCode { get; set; }
        public virtual string Country { get; set; }
    }

    public partial class SearchResultOfac
    {
        public SearchResultOfac()
        {
            Addresses = new List<SearchResultOfacAddress>{};
            Akas = new List<SearchResultOfacAka>{};
            DateOfBirths = new List<SearchResultOfacDateOfBirth>{};
            Nationalities = new List<SearchResultOfacNationality>{};
            PlaceOfBirths = new List<SearchResultOfacPlaceOfBirth>{};
        }

        public virtual int ResultStrength { get; set; }
        public virtual decimal ResultSimilarity { get; set; }
        public virtual bool ResultResolved { get; set; }
        public virtual string ResultType { get; set; }
        public virtual DateTime DateUpdated { get; set; }
        public virtual string FirstName { get; set; }
        public virtual string LastName { get; set; }
        public virtual List<SearchResultOfacAddress> Addresses { get; set; }
        public virtual List<SearchResultOfacAka> Akas { get; set; }
        public virtual List<SearchResultOfacDateOfBirth> DateOfBirths { get; set; }
        public virtual List<SearchResultOfacNationality> Nationalities { get; set; }
        public virtual List<SearchResultOfacPlaceOfBirth> PlaceOfBirths { get; set; }
    }

    public partial class SearchResultOfacAddress
    {
        public virtual string Address1 { get; set; }
        public virtual string Address2 { get; set; }
        public virtual string Address3 { get; set; }
        public virtual string City { get; set; }
        public virtual string State { get; set; }
        public virtual string PostCode { get; set; }
        public virtual string Country { get; set; }
    }

    public partial class SearchResultOfacAka
    {
        public virtual string FirstName { get; set; }
        public virtual string LastName { get; set; }
        public virtual string Type { get; set; }
        public virtual string Strength { get; set; }
    }

    public partial class SearchResultOfacDateOfBirth
    {
        public virtual string DateOfBirth { get; set; }
    }

    public partial class SearchResultOfacNationality
    {
        public virtual string Country { get; set; }
    }

    public partial class SearchResultOfacPlaceOfBirth
    {
        public virtual string PlaceOfBirth { get; set; }
    }

    public partial class SearchResults
    {
        public SearchResults()
        {
            HMTResults = new List<SearchResultHmTreasury>{};
            OfacResults = new List<SearchResultOfac>{};
        }

        public virtual List<SearchResultHmTreasury> HMTResults { get; set; }
        public virtual List<SearchResultOfac> OfacResults { get; set; }
    }

}

C# 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>