Sanctions Search API: v2

<back to all web services

UpdateClient


// @DataContract
export class Authentication
{
    /** @description 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 apiUserId: string;

    /** @description 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 apiUserKey: string;

    public constructor(init?: Partial<Authentication>) { (Object as any).assign(this, init); }
}

// @DataContract
export class BaseRequest implements IBaseRequest
{
    /** @description The authentication credentials */
    // @DataMember
    // @ApiMember(Description="The authentication credentials", IsRequired=true, ParameterType="header, body")
    public authentication: Authentication;

    public constructor(init?: Partial<BaseRequest>) { (Object as any).assign(this, init); }
}

// @DataContract
export class ResponseError
{
    // @DataMember(Order=1)
    public errorCode: string;

    // @DataMember(Order=2)
    public fieldName: string;

    // @DataMember(Order=3)
    public message: string;

    // @DataMember(Order=4)
    public meta: { [index: string]: string; };

    public constructor(init?: Partial<ResponseError>) { (Object as any).assign(this, init); }
}

export class ArrayOfResponseError extends Array<ResponseError>
{

    public constructor(init?: Partial<ArrayOfResponseError>) { super(); (Object as any).assign(this, init); }
}

// @DataContract
export class ResponseStatus
{
    // @DataMember(Order=1)
    public errorCode: string;

    // @DataMember(Order=2)
    public message: string;

    // @DataMember(Order=3)
    public stackTrace: string;

    // @DataMember(Order=4)
    public errors: ArrayOfResponseError;

    // @DataMember(Order=5)
    public meta: { [index: string]: string; };

    public constructor(init?: Partial<ResponseStatus>) { (Object as any).assign(this, init); }
}

export class BaseResponse implements IBaseDataResponse, IHasResponseStatus
{
    /** @description The status of the response */
    // @ApiMember(Description="The status of the response")
    public responseStatus: ResponseStatus;

    public constructor(init?: Partial<BaseResponse>) { (Object as any).assign(this, init); }
}

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

export class Face
{
    public age?: number;
    public gender: string;
    public emotion: string;
    public smile?: number;
    public hairColour: string;
    public facialHair: string;
    public makeup: string;
    public glasses: string;
    public accessories: string;

    public constructor(init?: Partial<Face>) { (Object as any).assign(this, init); }
}

export class VideoTimestamp
{
    public tagName: string;
    public milli?: number;
    public imageUrl: string;

    public constructor(init?: Partial<VideoTimestamp>) { (Object as any).assign(this, init); }
}

export class Video
{
    public id: number;
    public videoUrl: string;
    public imageUrl: string;
    public videoTimestamps: VideoTimestamp[];

    public constructor(init?: Partial<Video>) { (Object as any).assign(this, init); }
}

export class Location
{
    public latitude: number;
    public longitude: number;

    public constructor(init?: Partial<Location>) { (Object as any).assign(this, init); }
}

export class Image
{
    public id: number;
    public name: string;
    public ocrId?: number;
    public url: string;

    public constructor(init?: Partial<Image>) { (Object as any).assign(this, init); }
}

export class ArrayOfImages extends Array<Image>
{

    public constructor(init?: Partial<ArrayOfImages>) { super(); (Object as any).assign(this, init); }
}

export class PassportChipData
{
    public isIssuerVerified: boolean;
    public issuerCommonName: string;
    public issuerOrganisationName: string;
    public issuerCountry: string;
    public mrzLine1: string;
    public mrzLine2: string;
    public isMrzLine1Verified: boolean;
    public isMrzLine2Verified: boolean;
    public dataGroupsVerified: number[];
    public dataGroupsFailed: number[];
    public isFaceMatch: boolean;
    public faceMatchConfidence?: number;

    public constructor(init?: Partial<PassportChipData>) { (Object as any).assign(this, init); }
}

export class Passport
{
    public clientFileId: number;
    public firstName: string;
    public middleName: string;
    public lastName: string;
    public dateOfBirth: string;
    public gender: string;
    public mrzLineOne: string;
    public mrzLineTwo1: string;
    public mrzLineTwo2: string;
    public mrzLineTwo3: string;
    public mrzLineTwo4: string;
    public mrzLineTwo5: string;
    public mrzLineTwo6: string;
    public mrzLineTwo7: string;
    public mrzLineTwo8: string;
    public images: ArrayOfImages;
    public isVerified: boolean;
    public isFaceMatch?: boolean;
    public faceMatchConfidence?: number;
    public hasPcvSearch: boolean;
    public hasDfaSearch: boolean;
    public isPassportChipVerified?: boolean;
    public passportChipData: PassportChipData;
    public isEligibleForPcv: boolean;
    public isEligibleForDfa: boolean;

    public constructor(init?: Partial<Passport>) { (Object as any).assign(this, init); }
}

export class ArrayOfPassports extends Array<Passport>
{

    public constructor(init?: Partial<ArrayOfPassports>) { super(); (Object as any).assign(this, init); }
}

export class DrivingLicence
{
    public clientFileId: number;
    public firstName: string;
    public middleName: string;
    public lastName: string;
    public dateOfBirth: string;
    public address: string;
    public drivingLicenceNumber: string;
    public images: ArrayOfImages;
    public isVerified: boolean;
    public isFaceMatch?: boolean;
    public faceMatchConfidence?: number;
    public hasDfaSearch: boolean;

    public constructor(init?: Partial<DrivingLicence>) { (Object as any).assign(this, init); }
}

export class ArrayOfDrivingLicences extends Array<DrivingLicence>
{

    public constructor(init?: Partial<ArrayOfDrivingLicences>) { super(); (Object as any).assign(this, init); }
}

export class OtherDocument
{
    public clientFileId: number;
    public type: string;
    public typeOther: string;
    public description: string;
    public originalImageUrl: string;
    public croppedImageUrl: string;
    public isVerified: boolean;

    public constructor(init?: Partial<OtherDocument>) { (Object as any).assign(this, init); }
}

export class ArrayOfOtherDocuments extends Array<OtherDocument>
{

    public constructor(init?: Partial<ArrayOfOtherDocuments>) { super(); (Object as any).assign(this, init); }
}

export class ProofOfDocument
{
    /** @description The ID of the ProofOfDocument */
    // @ApiMember(Description="The ID of the ProofOfDocument", IsRequired=true)
    public id: number;

    /** @description The name of the ProofOfDocument */
    // @ApiMember(Description="The name of the ProofOfDocument", IsRequired=true)
    public name: string;

    public constructor(init?: Partial<ProofOfDocument>) { (Object as any).assign(this, init); }
}

export class ArrayOfProofOfDocuments extends Array<ProofOfDocument>
{

    public constructor(init?: Partial<ArrayOfProofOfDocuments>) { super(); (Object as any).assign(this, init); }
}

export class ProofOfDocumentCategory
{
    /** @description The ID of the ProofOfDocumentCategory */
    // @ApiMember(Description="The ID of the ProofOfDocumentCategory", IsRequired=true)
    public id: number;

    /** @description The category or subject that requires proof (e.g., 'Name', 'Address', 'Right to work') */
    // @ApiMember(Description="The category or subject that requires proof (e.g., 'Name', 'Address', 'Right to work')", IsRequired=true)
    public proofOf: string;

    /** @description The documents that can be used to provide proof for the specified category. */
    // @ApiMember(Description="The documents that can be used to provide proof for the specified category.", IsRequired=true)
    public proofOfDocuments: ArrayOfProofOfDocuments;

    public constructor(init?: Partial<ProofOfDocumentCategory>) { (Object as any).assign(this, init); }
}

export class ArrayOfProofOfDocumentCategories extends Array<ProofOfDocumentCategory>
{

    public constructor(init?: Partial<ArrayOfProofOfDocumentCategories>) { super(); (Object as any).assign(this, init); }
}

export class Client
{
    public id: number;
    public dateCreated: string;
    public name: string;
    public email: string;
    public reference: string;
    public state: ClientState;
    public mobileInternational: string;
    public postCode: string;
    public isValidateMe: boolean;
    public face: Face;
    public video: Video;
    public location: Location;
    public numOfDocuments: number;
    public passports: ArrayOfPassports;
    public drivingLicences: ArrayOfDrivingLicences;
    public otherDocuments: ArrayOfOtherDocuments;
    public proofOfDocumentCategories: ArrayOfProofOfDocumentCategories;

    public constructor(init?: Partial<Client>) { (Object as any).assign(this, init); }
}

export class UpdateClientData extends BaseResponse
{
    public client: Client;

    public constructor(init?: Partial<UpdateClientData>) { super(init); (Object as any).assign(this, init); }
}

// @DataContract
export class UpdateClientResponse
{
    // @DataMember
    public data: UpdateClientData;

    public constructor(init?: Partial<UpdateClientResponse>) { (Object as any).assign(this, init); }
}

// @DataContract
export class UpdateClient extends BaseRequest
{
    // @DataMember
    // @ApiMember(IsRequired=true, ParameterType="path")
    public id: number;

    // @DataMember
    public request: Client;

    public constructor(init?: Partial<UpdateClient>) { super(init); (Object as any).assign(this, init); }
}

TypeScript UpdateClient 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: UpdateClient

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

<UpdateClient xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.servicestack.net/types">
  <Authentication>
    <ApiUserId>String</ApiUserId>
    <ApiUserKey>String</ApiUserKey>
  </Authentication>
  <Id>0</Id>
  <Request>
    <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:d6p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
            <d6p1:int>0</d6p1:int>
          </DataGroupsFailed>
          <DataGroupsVerified xmlns:d6p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
            <d6p1:int>0</d6p1: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>
  </Request>
</UpdateClient>

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

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

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