Sanctions Search API: v2

<back to all web services

SaveSearch

Save a sanctions search
Imports System
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports SanctionsSearch.Api2.ServiceModel.Operations.Searches
Imports SanctionsSearch.Api2.ServiceModel.Operations.Base
Imports SanctionsSearch.Api2.ServiceModel.Types

Namespace Global

    Namespace SanctionsSearch.Api2.ServiceModel.Operations.Base

        Public Partial Class ArrayOfResponseError
            Inherits List(Of ResponseError)
        End Class

        <DataContract>
        Public Partial Class BaseRequest
            Implements IBaseRequest
            '''<Summary>
            '''The authentication credentials
            '''</Summary>
            <DataMember>
            <ApiMember(Description:="The authentication credentials", IsRequired:=true, ParameterType:="header, body")>
            Public Overridable Property Authentication As Authentication
        End Class

        Public Partial Class BaseResponse
            Implements IBaseDataResponse
            Implements IHasResponseStatus
            '''<Summary>
            '''The status of the response
            '''</Summary>
            <ApiMember(Description:="The status of the response")>
            Public Overridable Property ResponseStatus As ResponseStatus
        End Class

        <DataContract>
        Public Partial Class ResponseError
            Public Sub New()
                Meta = New Dictionary(Of String, String)
            End Sub

            <DataMember(Order:=1)>
            Public Overridable Property ErrorCode As String

            <DataMember(Order:=2)>
            Public Overridable Property FieldName As String

            <DataMember(Order:=3)>
            Public Overridable Property Message As String

            <DataMember(Order:=4)>
            Public Overridable Property Meta As Dictionary(Of String, String)
        End Class

        <DataContract>
        Public Partial Class ResponseStatus
            Public Sub New()
                Meta = New Dictionary(Of String, String)
            End Sub

            <DataMember(Order:=1)>
            Public Overridable Property ErrorCode As String

            <DataMember(Order:=2)>
            Public Overridable Property Message As String

            <DataMember(Order:=3)>
            Public Overridable Property StackTrace As String

            <DataMember(Order:=4)>
            Public Overridable Property Errors As ArrayOfResponseError

            <DataMember(Order:=5)>
            Public Overridable Property Meta As Dictionary(Of String, String)
        End Class
    End Namespace

    Namespace SanctionsSearch.Api2.ServiceModel.Operations.Searches

        <DataContract>
        Public Partial Class SaveSearch
            Inherits BaseRequest
            '''<Summary>
            '''The request data
            '''</Summary>
            <DataMember>
            <ApiMember(Description:="The request data", ParameterType:="body")>
            Public Overridable Property Request As SaveSearchRequest
        End Class

        Public Partial Class SaveSearchData
            Inherits BaseResponse
            '''<Summary>
            '''Did the request succeed
            '''</Summary>
            <ApiMember(Description:="Did the request succeed")>
            Public Overridable Property Success As Boolean
        End Class

        Public Partial Class SaveSearchRequest
            '''<Summary>
            '''If the saved document should be kept within a single Sub User account, specify their username here
            '''</Summary>
            <ApiMember(Description:="If the saved document should be kept within a single Sub User account, specify their username here")>
            Public Overridable Property SubUserName As String

            '''<Summary>
            '''The ID of the search that is being saved
            '''</Summary>
            <ApiMember(Description:="The ID of the search that is being saved")>
            Public Overridable Property Id As Long
        End Class

        <DataContract>
        Public Partial Class SaveSearchResponse
            '''<Summary>
            '''The response data
            '''</Summary>
            <DataMember>
            <ApiMember(Description:="The response data")>
            Public Overridable Property Data As SaveSearchData
        End Class
    End Namespace

    Namespace SanctionsSearch.Api2.ServiceModel.Types

        <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 Overridable Property ApiUserId As String

            '''<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 Overridable Property ApiUserKey As String
        End Class
    End Namespace
End Namespace

VB.NET SaveSearch DTOs

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

HTTP + SOAP12

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

POST /soap12 HTTP/1.1 
Host: api.sanctionssearch.com 
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>

<SaveSearch xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.servicestack.net/types">
  <Authentication>
    <ApiUserId>String</ApiUserId>
    <ApiUserKey>String</ApiUserKey>
  </Authentication>
  <Request>
    <Id>0</Id>
    <SubUserName>String</SubUserName>
  </Request>
</SaveSearch>

</soap12:Body>
</soap12:Envelope>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>

<SaveSearchResponse 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>
    <Success>false</Success>
  </Data>
</SaveSearchResponse>

</soap12:Body>
</soap12:Envelope>