Sanctions Search API: v2

<back to all web services

GetDbsSearch

DBS
The following routes are available for this service:
GET/dbs/{Id}Get a DBS Search
import Foundation
import ServiceStack

// @DataContract
public class GetDbsSearch : BaseRequest
{
    /**
    * The ID of the DBS Search
    */
    // @DataMember
    // @ApiMember(Description="The ID of the DBS Search", IsRequired=true, ParameterType="path")
    public var id:Int

    /**
    * Provide a value to only return a search that the specified sub user has permission to access. If this is null or empty, then sub user permissions will not be enforced and the search will be returned
    */
    // @DataMember
    // @ApiMember(Description="Provide a value to only return a search that the specified sub user has permission to access. If this is null or empty, then sub user permissions will not be enforced and the search will be returned", ParameterType="query")
    public var subUserName:String

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case id
        case subUserName
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        id = try container.decodeIfPresent(Int.self, forKey: .id)
        subUserName = try container.decodeIfPresent(String.self, forKey: .subUserName)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if id != nil { try container.encode(id, forKey: .id) }
        if subUserName != nil { try container.encode(subUserName, forKey: .subUserName) }
    }
}

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

    required public init(){}
}

// @DataContract
public class Authentication : Codable
{
    /**
    * 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 var apiUserId:String

    /**
    * 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 var apiUserKey:String

    required public init(){}
}

// @DataContract
public class GetDbsSearchResponse : Codable
{
    // @DataMember
    public var data:GetDbsSearchData

    required public init(){}
}

public class GetDbsSearchData : BaseResponse, IBaseSearchResponse
{
    public var linkedTo:ArrayOfLinkedTo
    public var summary:DbsSearchSummary

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case linkedTo
        case summary
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        linkedTo = try container.decodeIfPresent(ArrayOfLinkedTo.self, forKey: .linkedTo)
        summary = try container.decodeIfPresent(DbsSearchSummary.self, forKey: .summary)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if linkedTo != nil { try container.encode(linkedTo, forKey: .linkedTo) }
        if summary != nil { try container.encode(summary, forKey: .summary) }
    }
}

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

    required public init(){}
}

public class ArrayOfResponseError : List<ResponseError>
{
    required public init(){ super.init() }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
    }
}

public class ArrayOfLinkedTo : List<LinkedTo>
{
    required public init(){ super.init() }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
    }
}

public class LinkedTo : Codable
{
    public var clientId:Int?
    public var id:Int?
    public var type:String
    public var subtype:String
    public var status:String
    public var Description:String
    public var isArchived:Bool?
    public var name:String
    public var date:Date?

    required public init(){}
}

public class DbsSearchSummary : Codable
{
    public var id:Int
    public var dateSearched:Date
    public var dateUpdated:Date
    public var status:String
    public var disclosureStatus:String
    public var isApplicantInfoCompleted:Bool
    public var isIdCheckCompleted:Bool
    public var isApplicationCompleted:Bool
    public var isApplicationSubmitted:Bool
    public var isApplicationDisclosed:Bool
    public var disclosureLevel:String
    public var applicantInformation:ApplicantInformation

    required public init(){}
}

public class ApplicantInformation : Codable
{
    public var name:String
    public var dateOfBirth:String
    public var email:String
    public var mobileInternational:String
    public var jobLocation:String
    public var reference:String

    required public init(){}
}


Swift GetDbsSearch DTOs

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

To embed the response in a jsonp callback, append ?callback=myCallback

HTTP + JSON

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

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

{"data":{"linkedTo":[{"clientId":0,"id":0,"type":"String","subtype":"String","status":"String","description":"String","isArchived":false,"name":"String","date":"\/Date(-62135596800000-0000)\/"}],"summary":{"id":0,"dateSearched":"\/Date(-62135596800000-0000)\/","dateUpdated":"\/Date(-62135596800000-0000)\/","status":"String","disclosureStatus":"String","isApplicantInfoCompleted":false,"isIdCheckCompleted":false,"isApplicationCompleted":false,"isApplicationSubmitted":false,"isApplicationDisclosed":false,"disclosureLevel":"String","applicantInformation":{"name":"String","dateOfBirth":"String","email":"String","mobileInternational":"String","jobLocation":"String","reference":"String"}},"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}}}