POST | /dbs | Add a DBS Search |
---|
import java.math.*
import java.util.*
import net.servicestack.client.*
import com.google.gson.annotations.*
import com.google.gson.reflect.*
@DataContract
open class AddDbsSearch : BaseRequest()
{
@DataMember
var request:AddDbsSearchRequest? = null
}
@DataContract
open class BaseRequest : IBaseRequest
{
/**
* The authentication credentials
*/
@DataMember
@ApiMember(Description="The authentication credentials", IsRequired=true, ParameterType="header, body")
var authentication:Authentication? = null
}
@DataContract
open class Authentication
{
/**
* 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")
var apiUserId:String? = null
/**
* 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")
var apiUserKey:String? = null
}
open class AddDbsSearchRequest
{
/**
* The full name of the applicant
*/
@ApiMember(Description="The full name of the applicant", IsRequired=true)
var name:String? = null
/**
* The date of birth for the applicant (DD/MM/YYYY format)
*/
@ApiMember(Description="The date of birth for the applicant (DD/MM/YYYY format)", IsRequired=true)
var dateOfBirth:String? = null
/**
* The email address of the applicant
*/
@ApiMember(Description="The email address of the applicant", IsRequired=true)
var email:String? = null
/**
* The applicant's mobile phone number in international format (e.g. '+447123456789')
*/
@ApiMember(Description="The applicant's mobile phone number in international format (e.g. '+447123456789')", IsRequired=true)
var mobileInternational:String? = null
/**
* The country where the job is located
*/
@ApiMember(Description="The country where the job is located", IsRequired=true)
var jobLocation:String? = null
/**
* The disclosure level of the DBS required
*/
@ApiMember(Description="The disclosure level of the DBS required", IsRequired=true)
var disclosureLevel:String? = null
/**
* Your reference, if any
*/
@ApiMember(Description="Your reference, if any")
var reference:String? = null
/**
* If this is specified, the search will be created for the specified sub user, otherwise it will be created in the main user account
*/
@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")
var subUserName:String? = null
/**
* If the search should be linked to other searches, specify the them here
*/
@ApiMember(Description="If the search should be linked to other searches, specify the them here")
var linkedTo:ArrayOfLinkedTo? = null
}
open class ArrayOfLinkedTo : ArrayList<LinkedTo>()
{
}
open class LinkedTo
{
var clientId:Int? = null
var id:Long? = null
@SerializedName("type") var Type:String? = null
var subtype:String? = null
var status:String? = null
var description:String? = null
var isArchived:Boolean? = null
var name:String? = null
var date:Date? = null
}
@DataContract
open class AddDbsSearchResponse
{
@DataMember
@SerializedName("data") var Data:AddDbsSearchData? = null
}
open class AddDbsSearchData : BaseResponse(), IBaseSearchResponse
{
var linkedTo:ArrayOfLinkedTo? = null
var summary:DbsSearchSummary? = null
}
open class BaseResponse : IBaseDataResponse, IHasResponseStatus
{
/**
* The status of the response
*/
@ApiMember(Description="The status of the response")
var responseStatus:ResponseStatus? = null
}
open class ArrayOfResponseError : ArrayList<ResponseError>()
{
}
open class DbsSearchSummary
{
var id:Long? = null
var dateSearched:Date? = null
var dateUpdated:Date? = null
var status:String? = null
var disclosureStatus:String? = null
var isApplicantInfoCompleted:Boolean? = null
var isIdCheckCompleted:Boolean? = null
var isApplicationCompleted:Boolean? = null
var isApplicationSubmitted:Boolean? = null
var isApplicationDisclosed:Boolean? = null
var disclosureLevel:String? = null
var applicantInformation:ApplicantInformation? = null
}
open class ApplicantInformation
{
var name:String? = null
var dateOfBirth:String? = null
var email:String? = null
var mobileInternational:String? = null
var jobLocation:String? = null
var reference:String? = null
}
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"}}}}