// @DataContract
export class Authentication
{
/** @description The API User ID provided by us when you signed up to use our API. Can be provided in the request body, or as a header parameter (X-Api-User) */
// @DataMember
// @ApiMember(Description="The API User ID provided by us when you signed up to use our API. Can be provided in the request body, or as a header parameter (X-Api-User)", IsRequired=true, ParameterType="header, body")
public apiUserId: string;
/** @description The API User Key provided by us when you signed up to use our API. Can be provided in the request body, or as a header parameter (X-Api-Key) */
// @DataMember
// @ApiMember(Description="The API User Key provided by us when you signed up to use our API. Can be provided in the request body, or as a header parameter (X-Api-Key)", IsRequired=true, ParameterType="header, body")
public apiUserKey: string;
/** @description The User ID of the user making the request (e.g. a sub user). This is optional but can be used to associate API requests with a specific user, thereby allowing user permissions to be enforced. Can be provided in the body, or as a header parameter (X-User-Id). */
// @DataMember
// @ApiMember(Description="The User ID of the user making the request (e.g. a sub user). This is optional but can be used to associate API requests with a specific user, thereby allowing user permissions to be enforced. Can be provided in the body, or as a header parameter (X-User-Id).", ParameterType="header, body")
public userId: 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 PagedRequest extends BaseRequest
{
/** @description The maximum number of records to be returned in one page */
// @DataMember(Name="page[limit]")
// @ApiMember(Description="The maximum number of records to be returned in one page", ParameterType="query")
public page_limit_: number;
/** @description The starting point in the list of records from where the data should be fetched. Zero based index. */
// @DataMember(Name="page[offset]")
// @ApiMember(Description="The starting point in the list of records from where the data should be fetched. Zero based index.", ParameterType="query")
public page_offset_: number;
/** @description The term to determine the order in which the data is returned */
// @DataMember
// @ApiMember(Description="The term to determine the order in which the data is returned", ParameterType="query")
public sort: string;
public constructor(init?: Partial<PagedRequest>) { super(init); (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',
}
// @DataContract
export class GetClients extends PagedRequest
{
/** @description Filter the results to those that have a State matching the state specified */
// @DataMember
// @ApiMember(Description="Filter the results to those that have a State matching the state specified", ParameterType="query")
public state: ClientState;
/** @description Filter the results to those that have a IsValidateMe flag matching the specified value */
// @DataMember
// @ApiMember(Description="Filter the results to those that have a IsValidateMe flag matching the specified value", ParameterType="query")
public isValidateMe?: boolean;
/** @description Filter the results to those that have a Name including the specified value */
// @DataMember
// @ApiMember(Description="Filter the results to those that have a Name including the specified value", ParameterType="query")
public name: string;
/** @description Filter the results to those that were created after (or on) this date */
// @DataMember
// @ApiMember(Description="Filter the results to those that were created after (or on) this date", ParameterType="query")
public dateFrom: string;
/** @description Filter the results to those that were created before this date */
// @DataMember
// @ApiMember(Description="Filter the results to those that were created before this date", ParameterType="query")
public dateTo: string;
/** @description If the searches are being accessed by a sub user, specify their username here to only return searches they have permissions to view */
// @DataMember
// @ApiMember(Description="If the searches are being accessed by a sub user, specify their username here to only return searches they have permissions to view", ParameterType="query")
public subUserName: string;
public constructor(init?: Partial<GetClients>) { super(init); (Object as any).assign(this, init); }
}
export class Links
{
// @ApiMember()
public self: string;
public constructor(init?: Partial<Links>) { (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 ClientShort
{
public id: number;
public dateCreated: string;
public name: string;
public reference: string;
public isValidateMe: boolean;
public state: ClientState;
public links: Links;
public numOfDocuments: number;
public numOfVideos: number;
public photo: Image;
public constructor(init?: Partial<ClientShort>) { (Object as any).assign(this, init); }
}
export class ArrayOfClientShort extends Array<ClientShort>
{
public constructor(init?: Partial<ArrayOfClientShort>) { super(); (Object as any).assign(this, init); }
}
export class GetClientsData extends PagedResponse<GetClients>
{
public clients: ArrayOfClientShort;
public constructor(init?: Partial<GetClientsData>) { super(init); (Object as any).assign(this, init); }
}
// @DataContract
export class GetClientsResponse
{
// @DataMember
public data: GetClientsData;
public constructor(init?: Partial<GetClientsResponse>) { (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); }
}
export class PagedResponse<T> extends BaseResponse
{
/** @description The response Metadata */
// @ApiMember(Description="The response Metadata")
public meta: Meta<T>;
public constructor(init?: Partial<PagedResponse<T>>) { super(init); (Object as any).assign(this, init); }
}
export class MetaLinks extends Links
{
/** @description The link to the first page of records */
// @ApiMember(Description="The link to the first page of records")
public first: string;
/** @description The link to the last page of records */
// @ApiMember(Description="The link to the last page of records")
public last: string;
/** @description The link to the next page of records, if applicable */
// @ApiMember(Description="The link to the next page of records, if applicable")
public next: string;
/** @description The link to the last page of records, if applicable */
// @ApiMember(Description="The link to the last page of records, if applicable")
public prev: string;
public constructor(init?: Partial<MetaLinks>) { super(init); (Object as any).assign(this, init); }
}
export class Meta<T>
{
/** @description Pagination links */
// @ApiMember(Description="Pagination links")
public links: MetaLinks;
/** @description The total number of records for the query */
// @ApiMember(Description="The total number of records for the query")
public totalCount?: number;
/** @description The maximum number of records to be returned in one page */
// @ApiMember(Description="The maximum number of records to be returned in one page")
public pageLimit?: number;
/** @description The starting point in the list of records from where the data should be fetched. Zero based index. */
// @ApiMember(Description="The starting point in the list of records from where the data should be fetched. Zero based index.")
public pageOffset?: number;
public constructor(init?: Partial<Meta<T>>) { (Object as any).assign(this, init); }
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .soap11 suffix or ?format=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: GetClients
<?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>
<GetClients xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.servicestack.net/types">
<Authentication>
<ApiUserId>String</ApiUserId>
<ApiUserKey>String</ApiUserKey>
<UserId>String</UserId>
</Authentication>
<Sort>String</Sort>
<page_x005B_limit_x005D_>0</page_x005B_limit_x005D_>
<page_x005B_offset_x005D_>0</page_x005B_offset_x005D_>
<DateFrom>0001-01-01T00:00:00</DateFrom>
<DateTo>0001-01-01T00:00:00</DateTo>
<IsValidateMe>false</IsValidateMe>
<Name>String</Name>
<State>Undefined</State>
<SubUserName>String</SubUserName>
</GetClients>
</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>
<GetClientsResponse 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>
<Meta>
<Links>
<Self>String</Self>
<First>String</First>
<Last>String</Last>
<Next>String</Next>
<Prev>String</Prev>
</Links>
<PageLimit>0</PageLimit>
<PageOffset>0</PageOffset>
<TotalCount>0</TotalCount>
</Meta>
<Clients>
<ClientShort>
<DateCreated>0001-01-01T00:00:00</DateCreated>
<Id>0</Id>
<IsValidateMe>false</IsValidateMe>
<Links>
<Self>String</Self>
</Links>
<Name>String</Name>
<NumOfDocuments>0</NumOfDocuments>
<NumOfVideos>0</NumOfVideos>
<Photo>
<Id>0</Id>
<Name>String</Name>
<OcrId>0</OcrId>
<Url>String</Url>
</Photo>
<Reference>String</Reference>
<State>Undefined</State>
</ClientShort>
</Clients>
</Data>
</GetClientsResponse>
</soap:Body>
</soap:Envelope>