API Reference

Overview

The Intercheck API is used to submit background checking requests.
The API is built using RESTful endpoints and standard HTTPS verbs.
Response codes are used to indicate the status of the message and any error codes.
JSON is returned on all our API responses, including errors, with a consistent structure for all messages.
Authentication to the API is performed via Token-based auth.
Requests to our API should be made as JSON, except when uploading documents.

COMMAND PURPOSE
POST Create an object
GET Fetch one or more object
PUT Update an object
DELETE Remove an object
Note: All API requests must be made over HTTPS. Calls made over plain HTTP will fail

TYPE OF CHECKS

Deciding which type of check to perform essentially depends on whether your system already has
the applicant’s necessary information to perform the check or whether you need their input to be
collected by us.
Depending on the type of check you wish to perform, different information will be required when you
are creating an applicant. This is detailed under the create applicant endpoint.
Some types of reports are only available within Portal checks, due to the comprehensive data
required from an applicant. Report availability is indicated in the Report Types section.

AUTHENTICATION

The API uses token-based authentication. You will be provided with a token which must be included in the header of all requests made to the API.

All API requests must be made over HTTPS. Any requests made over HTTP will fail.

In addition, to add an extra layer of security, in some cases, Intercheck API uses the Allow and Deny policy to determine the IP request that can access the API.

However, Intercheck provides IP access control therefore, you should provide a specific list of IP addresses.

ERRORS:

Standard API error codes are returned in the case of a failure.

There are 2 types of failure: FALSE or TRUE

If there is any error, the system will send the message to the administrator.

RETRIEVE APPLICANTS API

Purpose

  • Getting a report on a single applicant.
  • A single applicant can be retrieved by calling this endpoint along with the applicant’s by Email and By Reference Number

1. Get Applicant’s information by Email

GET
https://secure.policecheckexpress.com.au/pce/api/policeCheck?token=SECURE_TOKEN&applicant=APPLICANT_EMAIL


Parameters

Attribute Type Description
id integer  Application reference number
firstName string  Applicant’s first name
lastName string  Applicant’s last name
email string  Applicant’s email
purpose string  Applicant’s check purpose
status string  Applicant’s status
error boolean  error code
errorMessage string  error message

applicant: Applicant Email

Ajax

var url = “https://secure.policecheckexpress.com.au/pce/api/policeCheck”;

var source =

{

 datatype: “json”,

 datafields: [

 {name: ‘id’, type: ‘int’},

 {name: ‘firstName’, type: ‘string’},

 {name: ‘lastName’, type: ‘string’},

 {name: ’email’, type: ‘string’},

 {name: ‘purpose’, type: ‘string’},

 {name: ‘status’, type: ‘string’},

 {name: ‘error’, type: ‘boolean’},

 {name: ‘errorMessage’, type: ‘string’}

 ],

url: url,

data: {

 token: xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx,

 applicant: APPLICANT_EMAIL

 }

};

Results

{

“id”: APPLICANT_REFERENCE_NO,
“firstName”: APPLICANT_FIRST_NAME,
“lastName”: APPLICANT_LAST_NAME,
“email”: APPLICANT_EMAIL,
“purpose”: APPLICANT_PURPOSE,
“status”: (YES/NO/PENDING),
“error”: (true/false),
“errorMessage”: (if error = true , it shows error message)
}

2. Get applicant’s information by Reference Number

GET
https://secure.policecheckexpress.com.au/pce/api/policeCheck/reference?token=SECURE_TOKEN&refno=REFERENCE_NUMBER

Parameters

Attribute Type Description
id integer  Application Reference Number
firstName string  Applicant’s first name
lastName string  Applicant’s last name
email string  Applicant’s email
purpose string  Applicant’s check purpose
status string  Applicant’s status
error boolean  Error code
errorMessage string   Error message

Ajax

var url = “https://secure.policecheckexpress.com.au/pce/api/policeCheck/reference”;

var source =

{

 datatype: “json”,

 datafields: [

 {name: ‘id’, type: ‘int’},

{name: ‘firstName’, type: ‘string’},

 {name: ‘lastName’, type: ‘string’},

 {name: ’email’, type: ‘string’},

 {name: ‘purpose’, type: ‘string’},

 {name: ‘status’, type: ‘string’},

 {name: ‘error’, type: ‘boolean’},

 {name: ‘errorMessage’, type: ‘string’}

 ],

url: url,

data: {

 token: xxxx-xxxx-xxxx-xxxx-xxxxxxxxx,

 refno: APPLICANT_EMAIL

 }

};

Results

{
“id”: APPLICANT_REFERENCE_NO,
“firstName”: APPLICANT_FIRST_NAME,
“lastName”: APPLICANT_LAST_NAME,
“email”: APPLICANT_EMAIL,
“purpose”: APPLICANT_PURPOSE,
“status”: (YES/NO/PENDING),
“error”: (true/false),
“errorMessage”: (if error = true , it shows error message)
}

Errors

Miss Parameters: When The parameter is incorrect

The Applicant Email is not valid: When The Format of Email is incorrect

The Token is not valid: When The Secure Token is incorrect

IP Restriction: When request sent from an IP that is not included in saved list of safe IP addresses

The Applicant not found: When we cannot find Applicant’s Email you sent or you don’t have access to police check for this applicant

General Exception: When Something wrong happens to the system

CREATE CHECK

Checks are performed on an applicant. Checks can be created and retrieved.

 

1/ CREATE INVITED CHECK:

Checks are initiated using this endpoint.

POST
https://secure.policecheckexpress.com.au/pce/api/policeCheck/invite

Parameters

Attribute Type Description
checkType number (Required) 1 for Standard , 2 for Volunteer
paidInvite number (Required) 1 for prepay, 0 for passpay
department Optional string (Optional)Department name
email string (Required) Applicant’s email
surname string (Required) Applicant’s surname
givenName string (Required) Applicant’s first name
userFullname string (Required) Applicant’s full name
purchaseOrder string (optional) Applicant purchase order
reminderCount number (optional) Applicant’s reminder count
phone Number number (optional) Application Phone number
empId Number number (optional) Applicant employee ID
purpose string (Required)
Applicant’ purpose
childVul boolean (Required) If applicant have direct contact with any Children, Elderly, Vulnerable or Disable Persons

Ajax

$.ajax({

 type: “POST”,

 url: “https://secure.policecheckexpress.com.au/pce/api/policeCheck/invite”,

 data: {

 token: xxxx-xxxx-xxxx-xxxx-xxxxxxxxx,

 checkType: 1,

 paidInvite: 1,

 department: DEPARTMENT_NAME,

 email: APPLICANT_EMAIL,

 surname: APPLICANT_SURNAME,

 givenName: APPLICANT_GIVEN_NAME,

 phone: APPLICANT_PHONE,

 empId: APPLICANT_EMPLOYEE_ID,

 reminderCount: APPLICANT_REMINDER_COUNT,

 purchaseOrder: APPLICANT_PURCHASE_ORDER,

 purpose: APPLICANT_PURPOSE,

 childVul: true

 } 

 contentType: “application/json; charset=utf-8”, 

 dataType: “json”, 

 success: function(data){alert(data);}, 

 failure: function(errMsg) {alert(errMsg);} 

});

Result

 

{

 token: xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx,

 checkType: 1,

 paidInvite: 1,

 department: DEPARTMENT_NAME,

 email: APPLICANT_EMAIL,

 surname: APPLICANT_SURNAME,

 givenName: APPLICANT_GIVEN_NAME,

 phone: APPLICANT_PHONE,

 empId: APPLICANT_EMPLOYEE_ID,

 reminderCount: APPLICANT_REMINDER_COUNT,

 purchaseOrder: APPLICANT_PURCHASE_ORDER,

 purpose: APPLICANT_PURPOSE,

 childVul: true

 error: false

 message: New Check Created successfully

 } 

Errors

Miss Parameters: When The parameter is incorrect

The Applicant Email is not valid: When The Format of Email is incorrect

The Token is not valid: When The Secure Token is incorrect

IP Restriction: When request sent from IP that is not defined,

Given Name is required! : When Given Name is Empty

Surname is required! : When Surname is Empty

User FullName is required! : When user full name is missing.

The Applicant Phone is not valid! : When Phone is not valid

CheckType is not valid! : when CheckType is not 1 Or 2

Paid Invite is not valid! : when Paid Invite is not 1 Or 0

The Department is not valid! :when the name of department is not defined in the system 

Insufficient credit to do volunteer check : When you have Insufficient credit for volunteer

Insufficient credit to do standard check :When you have Insufficient credit for standard

The Purchase Order is not valid-Max Length Exceed! : When the Purchase Order is more than 100 characters

The Employee ID is not valid-Max Length Exceed! :When the Employee ID is more than 100 characters

2/ CREATE PORTAL CHECK

This is used by Direct Business only.

The business has an option to vet the applicant from their end

POST
https://secure.policecheckexpress.com.au/pce/api/portalCheckDirect/new

Parameters

Attribute Type Description
Check type Number (Required) 1 fro Standard, 2 for Volunteer
employeeId Number Applicant employee ID
purchaseOrder String Applicant purchase order
department String Department name
email String (Required) Applicant’s email
names List List of names
gender (Required) Applicant gender. Valid input: M/F/U
dateOfBirth Number Applicant date of birth
birthCountry String Country code. Global value
birthSuburb String Suburb of town
birthState String Birth state
addresses List Applicant’s addresses
homePhone Number Applicant’s home phone
workPhone Number Applicant’s work phone
mobilePhone Number Applicant’s mobile phone
licenseNo String Driver’s license number
licenseIssueBy String Issue date
firearms String Fire arm’s license number
firearmIssueBy String Issue date
purpose String (Required) Application’s purpose
user String (Required) User’s full name
childVul Boolean (Required) If applicant has direct access contact with Children, Elderly, Vulnerable or Disable persons

Names:

Attribute Type Description
surname String (Required) Applicant’s surname
givenName String (Required) Applicant’s first name
otherGivenName String Applicants other given name
singleNameOnly Boolean If the declared name is single name
type tring Valid input PRIM/ Alias/ Maiden/ Previous

SAMPLE CODE

curl -H “Accept: application/json” -H “Content-type: application/json” -X POST -d “{“token”:”*”,”checkType”:”*”,”department”:”*”,”empId”:”*”,”purchaseOrder”:”*”,”names”:[{“surname”:”*”,”firstGivenName”:”*”,”otherGivenNames”:”*”,”singleNameOnly”:”*”,”type”:”*”},{“surname”:”*”,”firstGivenName”:”*”,”otherGivenNames”:”*”,”singleNameOnly”:”*”,”type”:”*”}],“gender”:”*”,”birthDay”:”*”,”birthMonth”:”*”,”birthYear”:”*”,”pobSubTown”:”*”,”pobStateTerritory”:”*”,”pobStateTerritoryOther”:”*”,”country”:”*”,”pobStateTerritoryOther”:””,”addresses”:[{“streetNo”:”*”,”streetName”:”*”,”suburb”:”*”,”stateTerritory”:”*”,”stateTerritoryOther”:””,”postCode”:”*”,”country”:”*”,”dayFrom”:”*”,”monthFrom”:”*”,”yearFrom”:”*”,”dayTo”:”*”,”monthTo”:”*”,”yearTo”:”*”,”type”:”*”}],”phoneHome”:”*”,”phoneWork”:”*”,”phoneMobile”:”*”,”ozDriverLicense”:”*”,”ozDlAgency”:”*”,”firearmsLicense”:”*”,”flAgency”:”*”,”childVul”:”*”,”purpose”:” *”,”userFullName”:”*”,”note”:”*”,”sightedDl”:”*”,”sightedFl”:”*”,”sightedPassport”:”*”,”priority”:”*”,”reason”:”*”,”informedConsent”:”*”,”identityConfirmed”:”*”}'”

 

 

RESPONSE

{

 email: APPLICANT_EMAIL

 error: false

 message: New Check Created successfully

 } 

ERRORS:

Miss Parameters :When The parameter is incorrect

The Applicant Email is not valid:When The Format of Email is incorrect

The Token is not valid:When The Secure Token is incorrect

IP Restriction :When request sent from IP that is not defined,

Given Name is required! : When Given Name is Empty

Surname is required! : When Surname is Empty

The Applicant Phone is not valid! : When Phone is not valid

CheckType is not valid! : when CheckType is not 1 Or 2

The Department is not valid! :when the name of department is not defined in the system Insufficient credit to do volunteer check : When you have Insufficient credit for volunteer

Insufficient credit to do standard check :When you have Insufficient credit for standard

The Purchase Order is not valid-Max Length Exceed! : When the Purchase Order is more than 100 characters

The Employee ID is not valid-Max Length Exceed! :When the Employee ID is more than 100 characters

The Applicant birthMonth is required: When the birth month is missing

The Applicant birthYear is required: When the birth year is missing

The Applicant Country is required: When the birth country is missing

The Applicant Country is not Valid: When the country is invalid

Addresses Object is required!: Address’s object is missing

The Address Country is required: Address’s Country is missing

The Address Country is not Valid: Address’s Country is invalid

The address Street No is required: The street no is missing

The address Street Name is required: The street name is missing

The address Year From is required: The start year is missing

The address Year To is required: The end year is missing

The ChildVul is required: Children vulnerable option is not selected

The Purpose is required: The purpose of the check is missing

The Applicant birthday is required: The applicant’s birthday is missing

REPORT

The user will need to set up a webhook to listen for the results of the reports.

Please refer to InterCheck’s Client Library in GitHub for further information.

GET
https://secure.policecheckexpress.com.au/pce/api/policeCheck/report

Parameters

Attribute Type Description
ReferenceNo String The unique identifier for the report
name list Applicant’s full name
department String Applicant’s department
statusDescription String Status Description
checkMethodDescription String Check method status
paidInvite Boolean True is prepaid. False is passpay
dco String Disclosable court outcome
resultDestroyed Boolean If yes: result has been destroyed
resultDate Date Result Date
empId String Employee’s ID
purchaseOrder String Applicant’s purchase order

 

curl -X GET “https://secure.policecheckexpress.com.au/pce/api/policeCheck/report?token=xxxx-xxxx-xxxxxx-xxxxxx&status=STATUS

 

 

RESPONSE

{

 “error”:false,

 “errorMessage”:NULL,

 “applicants”:[{

 “referenceNo”:APPLICANT_REFERENCE_NO,

 “name”:APPLICANT_FULL_NAME,

 “department”:APPLICANT_DEPARTMENT,

 “statusDescription”:APPLICANT_STATUS,

 “checkMethodDescription”:CHECK_METHOD_STATUS,

 “paidInvite”:(true/false),

 “dco”:disclosable court outcomes(“YES”/”NO”/”PENDING”),

 “resultDestroyed”:(true/false),

 “resultDate”:RESULT_DATE,

 “empId”:APPLICANT_EMPLOYEE_ID,

 “purchaseOrder”:APPLICANT_PURCHASE_ORDER

 },

 {…}

 ]

}

status: 

0=ALL 

1=Invited

2=Incomplete

3=In progress

4=Attention

8=Result In

24=Application Deleted

Errors

Miss Parameters: When The parameter is incorrect

The Token is not valid: When The Secure Token is incorrect

IP Restriction: When request sent from an IP that is not included in saved list of safe IP addresses

The Status is not found: When The Status is incorrect

General Exception: When Something wrong happens to the system

Create Vevo Check

POST
https://secure.policecheckexpress.com.au/pce/api/vevoCheck/invite

 

Parameters

Attribute Type Description
token String (Required) API secure token
surname String (Required) Applicant’s surname
givenName String (Required) Applicant’s given name
phoneHome String Applicant’s home phone
phoneWork String Applicant’s Work phone
phoneMobile String Applicant’s Mobile Phone
birthDay Integer (Required) Applicant’s day of birth
birthMonth Integer (Required) Applicant’s month of birth
birthYear Integer (Required) Applicant’s year of birth
passportNo String (Required) Applicant’s Passport Number
passportCountry String (Required) Passport Country. Country Code. Global Value
employerId String Employer ID

 

RESPONSE

{

email: APPLICANT_EMAIL

error: false

message: New Right to work Created successfully

}

 

Errors

Miss Parameters: When The parameter is incorrect

The Applicant Email is not valid:When The Format of Email is incorrect

The Token is not valid: When The Secure Token is incorrect

IP Restriction: When request sent from IP that is not defined,

Given Name is required! : When Given Name is Empty

Surname is required! : When Surname is Empty

The Applicant Phone is not valid! : When Phone is not valid

Passport is required! : When Passport   is Empty

Passport Country is required! : When Passport Country  is Empty

The Applicant birthDay is required: When the birth day is missing

The Applicant birthMonth is required: When the birth month is missing

The Applicant birthYear is required: When the birth year is missing

Get Vevo Check Detail by Applicant Email

GET
https://secure.policecheckexpress.com.au/pce/api/vevoCheck?token=SECURE_TOKEN&applicant= APPLICANT_EMAIL

Parameters

Attribute Type Description
token String (Required) API secure token
applicant String (Required) Applicant’s email address
id int (Required) Vevo application ref number
status String Application status
firstName String Applicant’s First Name
lastname String Applicant’s Last Name
email String Applicant email
passport String (Required) Applicant’s passport number
country String (Required)Applicant’s passport Country
resultDate Date The date the result returns
expireDate Date The date the visa expired ( if applicable)
grantDate Date Visa grant date
applicant String Primary/Secondary
classification String Visa classification
workEntitlement String Result of the Vevo Check
error Boolean Error code
errorMessage String Error message

Get Vevo Check Detail by Vevo Ref Number

GET https://secure.policecheckexpress.com.au/pce/api/vevoCheck/reference?token= SECURE_TOKEN &refno= REFERENCE_NUMBER

Client Library

To make coding against these APIs easier, Intercheck provides client libraries that can reduce the amount of code you need to write and make your code more robust.

https://github.com/HaydenLanghorn/INTERCHECK