Sanctions Search API: v2

<back to all web services

GetClients

Clients
The following routes are available for this service:
GET/clientsGet all clients
namespace SanctionsSearch.Api2.ServiceModel.Operations.Base

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

    [<DataContract>]
    [<AllowNullLiteral>]
    type 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")>]
        member val ApiUserId:String = null with 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")>]
        member val ApiUserKey:String = null with get,set

    [<DataContract>]
    [<AllowNullLiteral>]
    type BaseRequest() = 
        ///<summary>
        ///The authentication credentials
        ///</summary>
        [<DataMember>]
        [<ApiMember(Description="The authentication credentials", IsRequired=true, ParameterType="header, body")>]
        member val Authentication:Authentication = null with get,set

    [<DataContract>]
    [<AllowNullLiteral>]
    type PagedRequest() = 
        inherit BaseRequest()
        ///<summary>
        ///The maximum number of records to be returned in one page
        ///</summary>
        [<DataMember(Name="page[limit]")>]
        [<ApiMember(Description="The maximum number of records to be returned in one page", ParameterType="query")>]
        member val PageLimit:Int32 = new Int32() with get,set

        ///<summary>
        ///The starting point in the list of records from where the data should be fetched. Zero based index.
        ///</summary>
        [<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")>]
        member val PageOffset:Int32 = new Int32() with get,set

        ///<summary>
        ///The term to determine the order in which the data is returned
        ///</summary>
        [<DataMember>]
        [<ApiMember(Description="The term to determine the order in which the data is returned", ParameterType="query")>]
        member val Sort:String = null with get,set

    [<DataContract(Name="ClientState", Namespace="http://schemas.servicestack.net/types")>]
    type ClientState =
        | Undefined = 0
        | PendingCompletion = 1
        | PendingOcr = 2
        | PendingVerification = 3
        | Verified = 4

    [<DataContract>]
    [<AllowNullLiteral>]
    type GetClients() = 
        inherit PagedRequest()
        ///<summary>
        ///Filter the results to those that have a State matching the state specified
        ///</summary>
        [<DataMember>]
        [<ApiMember(Description="Filter the results to those that have a State matching the state specified", ParameterType="query")>]
        member val State:ClientState = new ClientState() with get,set

        ///<summary>
        ///Filter the results to those that have a IsValidateMe flag matching the specified value
        ///</summary>
        [<DataMember>]
        [<ApiMember(Description="Filter the results to those that have a IsValidateMe flag matching the specified value", ParameterType="query")>]
        member val IsValidateMe:Nullable<Boolean> = new Nullable<Boolean>() with get,set

        ///<summary>
        ///Filter the results to those that have a Name including the specified value
        ///</summary>
        [<DataMember>]
        [<ApiMember(Description="Filter the results to those that have a Name including the specified value", ParameterType="query")>]
        member val Name:String = null with get,set

        ///<summary>
        ///Filter the results to those that were created after (or on) this date
        ///</summary>
        [<DataMember>]
        [<ApiMember(Description="Filter the results to those that were created after (or on) this date", ParameterType="query")>]
        member val DateFrom:DateTime = new DateTime() with get,set

        ///<summary>
        ///Filter the results to those that were created before this date
        ///</summary>
        [<DataMember>]
        [<ApiMember(Description="Filter the results to those that were created before this date", ParameterType="query")>]
        member val DateTo:DateTime = new DateTime() with get,set

        ///<summary>
        ///If the searches are being accessed by a sub user, specify their username here to only return searches they have permissions to view
        ///</summary>
        [<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")>]
        member val SubUserName:String = null with get,set

    [<AllowNullLiteral>]
    type Links() = 
        [<ApiMember>]
        member val Self:String = null with get,set

    [<AllowNullLiteral>]
    type Image() = 
        member val Id:Int32 = new Int32() with get,set
        member val Name:String = null with get,set
        member val OcrId:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val Url:String = null with get,set

    [<AllowNullLiteral>]
    type ClientShort() = 
        member val Id:Int32 = new Int32() with get,set
        member val DateCreated:DateTime = new DateTime() with get,set
        member val Name:String = null with get,set
        member val Reference:String = null with get,set
        member val IsValidateMe:Boolean = new Boolean() with get,set
        member val State:ClientState = new ClientState() with get,set
        member val Links:Links = null with get,set
        member val NumOfDocuments:Int32 = new Int32() with get,set
        member val Photo:Image = null with get,set

    [<AllowNullLiteral>]
    type ArrayOfClientShort() = 
        inherit ResizeArray<ClientShort>()

    [<AllowNullLiteral>]
    type GetClientsData() = 
        inherit PagedResponse<GetClients>()
        member val Clients:ArrayOfClientShort = null with get,set

    [<DataContract>]
    [<AllowNullLiteral>]
    type GetClientsResponse() = 
        [<DataMember>]
        member val Data:GetClientsData = null with get,set

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

        [<DataMember(Order=4)>]
        member val Meta:Dictionary<String, String> = new Dictionary<String, String>() 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

        [<DataMember(Order=5)>]
        member val Meta:Dictionary<String, String> = new Dictionary<String, String>() with get,set

    [<AllowNullLiteral>]
    type BaseResponse() = 
        ///<summary>
        ///The status of the response
        ///</summary>
        [<ApiMember(Description="The status of the response")>]
        member val ResponseStatus:ResponseStatus = null with get,set

    [<AllowNullLiteral>]
    type PagedResponse<T>() = 
        inherit BaseResponse()
        ///<summary>
        ///The response Metadata
        ///</summary>
        [<ApiMember(Description="The response Metadata")>]
        member val Meta:Meta<T> = null with get,set

    [<AllowNullLiteral>]
    type MetaLinks() = 
        inherit Links()
        ///<summary>
        ///The link to the first page of records
        ///</summary>
        [<ApiMember(Description="The link to the first page of records")>]
        member val First:String = null with get,set

        ///<summary>
        ///The link to the last page of records
        ///</summary>
        [<ApiMember(Description="The link to the last page of records")>]
        member val Last:String = null with get,set

        ///<summary>
        ///The link to the next page of records, if applicable
        ///</summary>
        [<ApiMember(Description="The link to the next page of records, if applicable")>]
        member val Next:String = null with get,set

        ///<summary>
        ///The link to the last page of records, if applicable
        ///</summary>
        [<ApiMember(Description="The link to the last page of records, if applicable")>]
        member val Prev:String = null with get,set

    [<AllowNullLiteral>]
    type Meta<T>() = 
        ///<summary>
        ///Pagination links
        ///</summary>
        [<ApiMember(Description="Pagination links")>]
        member val Links:MetaLinks = null with get,set

        ///<summary>
        ///The total number of records for the query
        ///</summary>
        [<ApiMember(Description="The total number of records for the query")>]
        member val TotalCount:Nullable<Int32> = new Nullable<Int32>() with get,set

        ///<summary>
        ///The maximum number of records to be returned in one page
        ///</summary>
        [<ApiMember(Description="The maximum number of records to be returned in one page")>]
        member val PageLimit:Nullable<Int32> = new Nullable<Int32>() with get,set

        ///<summary>
        ///The starting point in the list of records from where the data should be fetched. Zero based index.
        ///</summary>
        [<ApiMember(Description="The starting point in the list of records from where the data should be fetched. Zero based index.")>]
        member val PageOffset:Nullable<Int32> = new Nullable<Int32>() with get,set

F# GetClients 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 HTTP/1.1 
Host: api.sanctionssearch.com 
Accept: application/xml
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<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>
        <Photo>
          <Id>0</Id>
          <Name>String</Name>
          <OcrId>0</OcrId>
          <Url>String</Url>
        </Photo>
        <Reference>String</Reference>
        <State>Undefined</State>
      </ClientShort>
    </Clients>
  </Data>
</GetClientsResponse>