Sanctions Search API: v2

<back to all web services

GetClient

Clients
The following routes are available for this service:
GET/clients/{Id}Get a client
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using SanctionsSearch.Api2.ServiceModel.Operations.Clients;
using SanctionsSearch.Api2.ServiceModel.Operations.Base;
using SanctionsSearch.Api2.ServiceModel.Types;

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

    [DataContract]
    public partial class BaseRequest
        : IBaseRequest
    {
        ///<summary>
        ///The authentication credentials
        ///</summary>
        [DataMember]
        [ApiMember(Description="The authentication credentials", IsRequired=true, ParameterType="header, body")]
        public virtual Authentication Authentication { get; set; }
    }

    public partial class BaseResponse
        : IBaseDataResponse, IHasResponseStatus
    {
        ///<summary>
        ///The status of the response
        ///</summary>
        [ApiMember(Description="The status of the response")]
        public virtual ResponseStatus ResponseStatus { get; set; }
    }

    [DataContract]
    public partial class ResponseError
    {
        public ResponseError()
        {
            Meta = new Dictionary<string, string>{};
        }

        [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; }

        [DataMember(Order=4)]
        public virtual Dictionary<string, string> Meta { get; set; }
    }

    [DataContract]
    public partial class ResponseStatus
    {
        public ResponseStatus()
        {
            Meta = new Dictionary<string, string>{};
        }

        [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; }

        [DataMember(Order=5)]
        public virtual Dictionary<string, string> Meta { get; set; }
    }

}

namespace SanctionsSearch.Api2.ServiceModel.Operations.Clients
{
    [DataContract]
    public partial class GetClient
        : BaseRequest
    {
        [DataMember]
        [ApiMember(IsRequired=true, ParameterType="path")]
        public virtual int Id { get; set; }
    }

    public partial class GetClientData
        : BaseResponse, IBaseSearchResponse
    {
        public virtual ArrayOfLinkedTo LinkedTo { get; set; }
        public virtual Client Client { get; set; }
    }

    [DataContract]
    public partial class GetClientResponse
    {
        [DataMember]
        public virtual GetClientData Data { get; set; }
    }

}

namespace SanctionsSearch.Api2.ServiceModel.Types
{
    public partial class ArrayOfDrivingLicences
        : List<DrivingLicence>
    {
    }

    public partial class ArrayOfImages
        : List<Image>
    {
    }

    public partial class ArrayOfLinkedTo
        : List<LinkedTo>
    {
    }

    public partial class ArrayOfOtherDocuments
        : List<OtherDocument>
    {
    }

    public partial class ArrayOfPassports
        : List<Passport>
    {
    }

    public partial class ArrayOfProofOfDocumentCategories
        : List<ProofOfDocumentCategory>
    {
    }

    public partial class ArrayOfProofOfDocuments
        : List<ProofOfDocument>
    {
    }

    [DataContract]
    public partial class Authentication
    {
        ///<summary>
        ///The API User ID provided by us when you signed up to use our API
        ///</summary>
        [DataMember]
        [ApiMember(Description="The API User ID provided by us when you signed up to use our API", IsRequired=true, ParameterType="header, body")]
        public virtual string ApiUserId { get; set; }

        ///<summary>
        ///The API User Key provided by us when you signed up to use our API
        ///</summary>
        [DataMember]
        [ApiMember(Description="The API User Key provided by us when you signed up to use our API", IsRequired=true, ParameterType="header, body")]
        public virtual string ApiUserKey { get; set; }
    }

    public partial class Client
    {
        public virtual int Id { get; set; }
        public virtual DateTime DateCreated { get; set; }
        public virtual string Name { get; set; }
        public virtual string Email { get; set; }
        public virtual string Reference { get; set; }
        public virtual ClientState State { get; set; }
        public virtual string MobileInternational { get; set; }
        public virtual string PostCode { get; set; }
        public virtual bool IsValidateMe { get; set; }
        public virtual Face Face { get; set; }
        public virtual Video Video { get; set; }
        public virtual Location Location { get; set; }
        public virtual int NumOfDocuments { get; set; }
        public virtual ArrayOfPassports Passports { get; set; }
        public virtual ArrayOfDrivingLicences DrivingLicences { get; set; }
        public virtual ArrayOfOtherDocuments OtherDocuments { get; set; }
        public virtual ArrayOfProofOfDocumentCategories ProofOfDocumentCategories { get; set; }
    }

    [DataContract(Name="ClientState", Namespace="http://schemas.servicestack.net/types")]
    public enum ClientState
    {
        Undefined,
        PendingCompletion,
        PendingOcr,
        PendingVerification,
        Verified,
    }

    public partial class DrivingLicence
    {
        public virtual int ClientFileId { get; set; }
        public virtual string FirstName { get; set; }
        public virtual string MiddleName { get; set; }
        public virtual string LastName { get; set; }
        public virtual string DateOfBirth { get; set; }
        public virtual string Address { get; set; }
        public virtual string DrivingLicenceNumber { get; set; }
        public virtual ArrayOfImages Images { get; set; }
        public virtual bool IsVerified { get; set; }
        public virtual bool? IsFaceMatch { get; set; }
        public virtual decimal? FaceMatchConfidence { get; set; }
        public virtual bool HasDfaSearch { get; set; }
    }

    public partial class Face
    {
        public virtual double? Age { get; set; }
        public virtual string Gender { get; set; }
        public virtual string Emotion { get; set; }
        public virtual double? Smile { get; set; }
        public virtual string HairColour { get; set; }
        public virtual string FacialHair { get; set; }
        public virtual string Makeup { get; set; }
        public virtual string Glasses { get; set; }
        public virtual string Accessories { get; set; }
    }

    public partial class Image
    {
        public virtual int Id { get; set; }
        public virtual string Name { get; set; }
        public virtual int? OcrId { get; set; }
        public virtual string Url { get; set; }
    }

    public partial class LinkedTo
    {
        public virtual int? ClientId { get; set; }
        public virtual long? Id { get; set; }
        public virtual string Type { get; set; }
        public virtual string Subtype { get; set; }
        public virtual string Status { get; set; }
        public virtual string Description { get; set; }
        public virtual bool? IsArchived { get; set; }
        public virtual string Name { get; set; }
        public virtual DateTime? Date { get; set; }
    }

    public partial class Location
    {
        public virtual double Latitude { get; set; }
        public virtual double Longitude { get; set; }
    }

    public partial class OtherDocument
    {
        public virtual int ClientFileId { get; set; }
        public virtual string Type { get; set; }
        public virtual string TypeOther { get; set; }
        public virtual string Description { get; set; }
        public virtual string OriginalImageUrl { get; set; }
        public virtual string CroppedImageUrl { get; set; }
        public virtual bool IsVerified { get; set; }
    }

    public partial class Passport
    {
        public virtual int ClientFileId { get; set; }
        public virtual string FirstName { get; set; }
        public virtual string MiddleName { get; set; }
        public virtual string LastName { get; set; }
        public virtual string DateOfBirth { get; set; }
        public virtual string Gender { get; set; }
        public virtual string MrzLineOne { get; set; }
        public virtual string MrzLineTwo1 { get; set; }
        public virtual string MrzLineTwo2 { get; set; }
        public virtual string MrzLineTwo3 { get; set; }
        public virtual string MrzLineTwo4 { get; set; }
        public virtual string MrzLineTwo5 { get; set; }
        public virtual string MrzLineTwo6 { get; set; }
        public virtual string MrzLineTwo7 { get; set; }
        public virtual string MrzLineTwo8 { get; set; }
        public virtual ArrayOfImages Images { get; set; }
        public virtual bool IsVerified { get; set; }
        public virtual bool? IsFaceMatch { get; set; }
        public virtual decimal? FaceMatchConfidence { get; set; }
        public virtual bool HasPcvSearch { get; set; }
        public virtual bool HasDfaSearch { get; set; }
        public virtual bool? IsPassportChipVerified { get; set; }
        public virtual PassportChipData PassportChipData { get; set; }
        public virtual bool IsEligibleForPcv { get; set; }
        public virtual bool IsEligibleForDfa { get; set; }
    }

    public partial class PassportChipData
    {
        public PassportChipData()
        {
            DataGroupsVerified = new int[]{};
            DataGroupsFailed = new int[]{};
        }

        public virtual bool IsIssuerVerified { get; set; }
        public virtual string IssuerCommonName { get; set; }
        public virtual string IssuerOrganisationName { get; set; }
        public virtual string IssuerCountry { get; set; }
        public virtual string MRZLine1 { get; set; }
        public virtual string MRZLine2 { get; set; }
        public virtual bool IsMrzLine1Verified { get; set; }
        public virtual bool IsMrzLine2Verified { get; set; }
        public virtual int[] DataGroupsVerified { get; set; }
        public virtual int[] DataGroupsFailed { get; set; }
        public virtual bool IsFaceMatch { get; set; }
        public virtual decimal? FaceMatchConfidence { get; set; }
    }

    public partial class ProofOfDocument
    {
        ///<summary>
        ///The ID of the ProofOfDocument
        ///</summary>
        [ApiMember(Description="The ID of the ProofOfDocument", IsRequired=true)]
        public virtual int Id { get; set; }

        ///<summary>
        ///The name of the ProofOfDocument
        ///</summary>
        [ApiMember(Description="The name of the ProofOfDocument", IsRequired=true)]
        public virtual string Name { get; set; }
    }

    public partial class ProofOfDocumentCategory
    {
        ///<summary>
        ///The ID of the ProofOfDocumentCategory
        ///</summary>
        [ApiMember(Description="The ID of the ProofOfDocumentCategory", IsRequired=true)]
        public virtual int Id { get; set; }

        ///<summary>
        ///The category or subject that requires proof (e.g., 'Name', 'Address', 'Right to work')
        ///</summary>
        [ApiMember(Description="The category or subject that requires proof (e.g., 'Name', 'Address', 'Right to work')", IsRequired=true)]
        public virtual string ProofOf { get; set; }

        ///<summary>
        ///The documents that can be used to provide proof for the specified category.
        ///</summary>
        [ApiMember(Description="The documents that can be used to provide proof for the specified category.", IsRequired=true)]
        public virtual ArrayOfProofOfDocuments ProofOfDocuments { get; set; }
    }

    public partial class Video
    {
        public Video()
        {
            VideoTimestamps = new List<VideoTimestamp>{};
        }

        public virtual int Id { get; set; }
        public virtual string VideoUrl { get; set; }
        public virtual string ImageUrl { get; set; }
        public virtual List<VideoTimestamp> VideoTimestamps { get; set; }
    }

    public partial class VideoTimestamp
    {
        public virtual string TagName { get; set; }
        public virtual int? Milli { get; set; }
        public virtual string ImageUrl { get; set; }
    }

}

C# GetClient DTOs

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

HTTP + XML

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

GET /clients/{Id} HTTP/1.1 
Host: api.sanctionssearch.com 
Accept: application/xml
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<GetClientResponse 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>
    <Client>
      <DateCreated>0001-01-01T00:00:00</DateCreated>
      <DrivingLicences>
        <Passport>
          <Address>String</Address>
          <ClientFileId>0</ClientFileId>
          <DateOfBirth>String</DateOfBirth>
          <DrivingLicenceNumber>String</DrivingLicenceNumber>
          <FaceMatchConfidence>0</FaceMatchConfidence>
          <FirstName>String</FirstName>
          <HasDfaSearch>false</HasDfaSearch>
          <Images>
            <CategoryId>
              <Id>0</Id>
              <Name>String</Name>
              <OcrId>0</OcrId>
              <Url>String</Url>
            </CategoryId>
          </Images>
          <IsFaceMatch>false</IsFaceMatch>
          <IsVerified>false</IsVerified>
          <LastName>String</LastName>
          <MiddleName>String</MiddleName>
        </Passport>
      </DrivingLicences>
      <Email>String</Email>
      <Face>
        <Accessories>String</Accessories>
        <Age>0</Age>
        <Emotion>String</Emotion>
        <FacialHair>String</FacialHair>
        <Gender>String</Gender>
        <Glasses>String</Glasses>
        <HairColour>String</HairColour>
        <Makeup>String</Makeup>
        <Smile>0</Smile>
      </Face>
      <Id>0</Id>
      <IsValidateMe>false</IsValidateMe>
      <Location>
        <Latitude>0</Latitude>
        <Longitude>0</Longitude>
      </Location>
      <MobileInternational>String</MobileInternational>
      <Name>String</Name>
      <NumOfDocuments>0</NumOfDocuments>
      <OtherDocuments>
        <OtherDocument>
          <ClientFileId>0</ClientFileId>
          <CroppedImageUrl>String</CroppedImageUrl>
          <Description>String</Description>
          <IsVerified>false</IsVerified>
          <OriginalImageUrl>String</OriginalImageUrl>
          <Type>String</Type>
          <TypeOther>String</TypeOther>
        </OtherDocument>
      </OtherDocuments>
      <Passports>
        <Passport>
          <ClientFileId>0</ClientFileId>
          <DateOfBirth>String</DateOfBirth>
          <FaceMatchConfidence>0</FaceMatchConfidence>
          <FirstName>String</FirstName>
          <Gender>String</Gender>
          <HasDfaSearch>false</HasDfaSearch>
          <HasPcvSearch>false</HasPcvSearch>
          <Images>
            <CategoryId>
              <Id>0</Id>
              <Name>String</Name>
              <OcrId>0</OcrId>
              <Url>String</Url>
            </CategoryId>
          </Images>
          <IsEligibleForDfa>false</IsEligibleForDfa>
          <IsEligibleForPcv>false</IsEligibleForPcv>
          <IsFaceMatch>false</IsFaceMatch>
          <IsPassportChipVerified>false</IsPassportChipVerified>
          <IsVerified>false</IsVerified>
          <LastName>String</LastName>
          <MiddleName>String</MiddleName>
          <MrzLineOne>String</MrzLineOne>
          <MrzLineTwo1>String</MrzLineTwo1>
          <MrzLineTwo2>String</MrzLineTwo2>
          <MrzLineTwo3>String</MrzLineTwo3>
          <MrzLineTwo4>String</MrzLineTwo4>
          <MrzLineTwo5>String</MrzLineTwo5>
          <MrzLineTwo6>String</MrzLineTwo6>
          <MrzLineTwo7>String</MrzLineTwo7>
          <MrzLineTwo8>String</MrzLineTwo8>
          <PassportChipData>
            <DataGroupsFailed xmlns:d7p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
              <d7p1:int>0</d7p1:int>
            </DataGroupsFailed>
            <DataGroupsVerified xmlns:d7p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
              <d7p1:int>0</d7p1:int>
            </DataGroupsVerified>
            <FaceMatchConfidence>0</FaceMatchConfidence>
            <IsFaceMatch>false</IsFaceMatch>
            <IsIssuerVerified>false</IsIssuerVerified>
            <IsMrzLine1Verified>false</IsMrzLine1Verified>
            <IsMrzLine2Verified>false</IsMrzLine2Verified>
            <IssuerCommonName>String</IssuerCommonName>
            <IssuerCountry>String</IssuerCountry>
            <IssuerOrganisationName>String</IssuerOrganisationName>
            <MRZLine1>String</MRZLine1>
            <MRZLine2>String</MRZLine2>
          </PassportChipData>
        </Passport>
      </Passports>
      <PostCode>String</PostCode>
      <ProofOfDocumentCategories>
        <CategoryId>
          <Id>0</Id>
          <ProofOf>String</ProofOf>
          <ProofOfDocuments>
            <DocumentId>
              <Id>0</Id>
              <Name>String</Name>
            </DocumentId>
          </ProofOfDocuments>
        </CategoryId>
      </ProofOfDocumentCategories>
      <Reference>String</Reference>
      <State>Undefined</State>
      <Video>
        <Id>0</Id>
        <ImageUrl>String</ImageUrl>
        <VideoTimestamps>
          <VideoTimestamp>
            <ImageUrl>String</ImageUrl>
            <Milli>0</Milli>
            <TagName>String</TagName>
          </VideoTimestamp>
        </VideoTimestamps>
        <VideoUrl>String</VideoUrl>
      </Video>
    </Client>
    <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>
  </Data>
</GetClientResponse>