POST | /dbs | Add a DBS Search |
---|
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 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 LinkedTo() =
member val ClientId:Nullable<Int32> = new Nullable<Int32>() with get,set
member val Id:Nullable<Int64> = new Nullable<Int64>() with get,set
member val Type:String = null with get,set
member val Subtype:String = null with get,set
member val Status:String = null with get,set
member val Description:String = null with get,set
member val IsArchived:Nullable<Boolean> = new Nullable<Boolean>() with get,set
member val Name:String = null with get,set
member val Date:Nullable<DateTime> = new Nullable<DateTime>() with get,set
[<AllowNullLiteral>]
type ArrayOfLinkedTo() =
inherit ResizeArray<LinkedTo>()
[<AllowNullLiteral>]
type ApplicantInformation() =
member val Name:String = null with get,set
member val DateOfBirth:String = null with get,set
member val Email:String = null with get,set
member val MobileInternational:String = null with get,set
member val JobLocation:String = null with get,set
member val Reference:String = null with get,set
[<AllowNullLiteral>]
type DbsSearchSummary() =
member val Id:Int64 = new Int64() with get,set
member val DateSearched:DateTime = new DateTime() with get,set
member val DateUpdated:DateTime = new DateTime() with get,set
member val Status:String = null with get,set
member val DisclosureStatus:String = null with get,set
member val IsApplicantInfoCompleted:Boolean = new Boolean() with get,set
member val IsIdCheckCompleted:Boolean = new Boolean() with get,set
member val IsApplicationCompleted:Boolean = new Boolean() with get,set
member val IsApplicationSubmitted:Boolean = new Boolean() with get,set
member val IsApplicationDisclosed:Boolean = new Boolean() with get,set
member val DisclosureLevel:String = null with get,set
member val ApplicantInformation:ApplicantInformation = null with get,set
[<AllowNullLiteral>]
type AddDbsSearchData() =
inherit BaseResponse()
member val LinkedTo:ArrayOfLinkedTo = null with get,set
member val Summary:DbsSearchSummary = null with get,set
[<DataContract>]
[<AllowNullLiteral>]
type AddDbsSearchResponse() =
[<DataMember>]
member val Data:AddDbsSearchData = null with get,set
[<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
[<AllowNullLiteral>]
type AddDbsSearchRequest() =
///<summary>
///The full name of the applicant
///</summary>
[<ApiMember(Description="The full name of the applicant", IsRequired=true)>]
member val Name:String = null with get,set
///<summary>
///The date of birth for the applicant (DD/MM/YYYY format)
///</summary>
[<ApiMember(Description="The date of birth for the applicant (DD/MM/YYYY format)", IsRequired=true)>]
member val DateOfBirth:String = null with get,set
///<summary>
///The email address of the applicant
///</summary>
[<ApiMember(Description="The email address of the applicant", IsRequired=true)>]
member val Email:String = null with get,set
///<summary>
///The applicant's mobile phone number in international format (e.g. '+447123456789')
///</summary>
[<ApiMember(Description="The applicant's mobile phone number in international format (e.g. '+447123456789')", IsRequired=true)>]
member val MobileInternational:String = null with get,set
///<summary>
///The country where the job is located
///</summary>
[<ApiMember(Description="The country where the job is located", IsRequired=true)>]
member val JobLocation:String = null with get,set
///<summary>
///The disclosure level of the DBS required
///</summary>
[<ApiMember(Description="The disclosure level of the DBS required", IsRequired=true)>]
member val DisclosureLevel:String = null with get,set
///<summary>
///Your reference, if any
///</summary>
[<ApiMember(Description="Your reference, if any")>]
member val Reference:String = null with get,set
///<summary>
///If this is specified, the search will be created for the specified sub user, otherwise it will be created in the main user account
///</summary>
[<ApiMember(Description="If this is specified, the search will be created for the specified sub user, otherwise it will be created in the main user account")>]
member val SubUserName:String = null with get,set
///<summary>
///If the search should be linked to other searches, specify the them here
///</summary>
[<ApiMember(Description="If the search should be linked to other searches, specify the them here")>]
member val LinkedTo:ArrayOfLinkedTo = null with get,set
[<DataContract>]
[<AllowNullLiteral>]
type AddDbsSearch() =
inherit BaseRequest()
[<DataMember>]
member val Request:AddDbsSearchRequest = null with get,set
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
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /dbs HTTP/1.1
Host: api.sanctionssearch.com
Accept: application/json
Content-Type: application/json
Content-Length: length
{"request":{"name":"String","dateOfBirth":"String","email":"String","mobileInternational":"String","jobLocation":"String","disclosureLevel":"String","reference":"String","subUserName":"String","linkedTo":[{"clientId":0,"id":0,"type":"String","subtype":"String","status":"String","description":"String","isArchived":false,"name":"String","date":"\/Date(-62135596800000-0000)\/"}]},"authentication":{"apiUserId":"String","apiUserKey":"String"}}
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"}}}}