NAV Navbar
cURL

Introduction

As you scroll through the page, you can follow these code snippets to try the API for yourself.

Welcome to the Everproof API. The API has several endpoints which you can use to verify the validity of documents.

The base URL for all API requests is: https://hoover.everproof.com/v1

The API version is included in the base URL of the request. The current version is v1.

The API accepts JSON in request bodies and requires that the content-type: application/json header be specified for all such requests.

Authentication

To authorize, use this code:

curl "https://hoover.everproof.com/v1/"
  -H "Authorization: lukeiamnotyourpassword"

Make sure to replace lukeiamnotyourpassword with your API key.

Authentication to the API is performed by passing your API key as a bearer token in the Authorization header. Your API key is issued to you by Everproof, please contact info@everproof.com to get one.

All API requests must be made over HTTPS. Calls made over plain HTTP will fail. API requests without authentication will also fail.

Authorization: lukeiamnotyourpassword

Errors

Everproof uses conventional HTTP response codes to indicate the success or failure of an API request. In general: Codes in the 2xx range indicate success. Codes in the 4xx range indicate an error that failed given the information provided (e.g., a required parameter was omitted, etc.). 404 errors indicate that a check is not supported. Codes in the 5xx range indicate an error with Everproof’s servers (these are rare).

Response Code Meaning
200 The request was successful (this does not mean verification successful)
400 Your request was invalid (i.e., missing properties)
401 Your API key was invalid
404 The resource doesn't exist
500 Error with our servers (very rare)

Status Attribute

These are the possible values for the status attribute in all response objects.

Status Meaning
VERIFIED The document was verified with the source.
NOT_FOUND No document was not found with the details provided.
ERROR The service is currently down.
EXPIRED The document was found and it is expired.
REVOKED The document has been revoked by the source and is no longer valid.
PROCESSING The document was found but it is being processed by the source.

Webhooks

Your verification results will be sent asynchronously.

Pass along a webhookUrl parameter in every request body, that contains the location you'd like us to POST your verification results to.

To connect our response to your initial request, you must pass a trackingId parameter in your request body too. We’ll pass this identifier back to you with the webhook request.

If you return anything other than an HTTP 200 status to the webhook POST then we’ll try to deliver the webhook up to 3 times with an exponential backoff.

Securing webhooks

We will sign the webhook requests before we send them to your endpoints. We do so by including a header Everproof-Signature. This allows you to validate that the events were sent by Everproof, not by a third party. You can verify signatures using by using your API key and the raw body of the request. Make sure to strip the prefix (pk_) from the start of the key before generating the HMAC.

Header Name
Everproof-Signature An SHA1 HMAC hexdigest

Verification endpoints

Supported verifications

Example request

curl "https://hoover.everproof.com/v1/"
  -H "Authorization: lukeiamnotyourpassword"

Example response

[
  {
    "title": "Working with Children Check (VIC)",
    "provider": "Department of Justice & Regulation (VIC)",
    "url": "https://api.everproof.com/v1/wwcc/vic/"
  }
]

This endpoint will return a list of all documents that we are able to verify. The response will also include the URL that you use to access those verifications. This gives you the flexibility to programmatically check the URL to use to verify a document, meaning that if we ever change URLs you should not be impacted.

Note that this endpoint is synchronous and doesn't use a webhook.

HTTP Request

GET https://hoover.everproof.com/v1/

WWCC (Victoria)

Example request

curl -H 'Authorization: lukeiamnotyourpassword' -d '{
  "documentNumber": "123456789",
  "person": {
    "firstName": "Sachin",
    "middleName": "Ramesh",
    "lastName": "Tendulkar"
  },
  "trackingId": "372630f8-ccea-49a9-b682-ba11188929a9",
  "webhookUrl": "https://webhook.com/everproof/results"
}' 'https://hoover.everproof.com/v1/wwcc/vic'

Example result (sent via webhook)

{
 "result": {
  "approval": true,
  "status": "VERIFIED",
  "message": "Working with Children Check number 123456789 (Employee) 
              for Sachin Ramesh TENDULKAR is current. This person 
              may engage in child related work and their card expires 
              on 25 Mar 2025.",
  "retrieved": {
      "cardType": "Employee",
      "expiryDate": "2025-03-25",
  }
 },
 "timestamp": "2018-10-30T01:58:16+00:00",
 "trackingId": "372630f8-ccea-49a9-b682-ba11188929a9"
}

This endpoint will verify a Working With Children Check issued by the Department of Justice and Regulation in Victoria.

The endpoint will immediately respond with a 201-Accepted. The result of the verification will be sent via POST to the webhookUrl you set in the request.

HTTP Request

POST https://hoover.everproof.com/v1/wwcc/vic

Request arguments

Argument Type Description Required
documentNumber string The identification number on the document or card to verify. Required
expiryDate string The date of expiry of the document. Optional
person object Defined directly below Required
trackingId string A value you can set that we will include in our response. Required
webhookUrl string The webhook address you want us to POST results to Required

Person

Value Type Description Required
firstName string The document holder's first name Optional
middleName string The document holder's middle name Optional
lastName string The document holder's last name Required
dateOfBirth string (yyyy-mm-dd) The document holder's date of birth Optional

Response values

Value Type Description
result object The result of the verification
trackingId string The value that you sent with your request.
timestamp string ISO 8601 formatted datetime.

Result object

Result Type Description
approval boolean A boolean representing if the individual is permitted to work with children.
status string Possible values for status defined in the "Status Attribute" section of this documentation.
message string The message returned from the Department of Justice and Regulation.
retrieved object Any extra data that we retrieve from the Department of Justice and Regulation.

WWCC (Western Australia)

Example request

curl -H 'Authorization: lukeiamnotyourpassword' -d '{
  "documentNumber": "123456789",
  "person": {
    "firstName": "Sachin",
    "middleName": "Ramesh",
    "lastName": "Tendulkar"

  },
  "trackingId": "372630f8-ccea-49a9-b682-ba11188929a9",
  "webhookUrl": "https://webhook.com/everproof/results"
}' 'https://hoover.everproof.com/v1/wwcc/wa'

Example result (sent via webhook)

{
 "result": {
  "approval": true,
  "status": "VERIFIED",
  "message": "Card number 123456789 for Tendulkar is valid on the date of Thursday, 25 October 2018",
 },
 "timestamp": "2018-10-30T01:58:16+00:00",
 "trackingId": "372630f8-ccea-49a9-b682-ba11188929a9"
}

This endpoint will verify a Working with Children Check issued by the Department for Child Protection and Family Support in Western Australia.

The endpoint will immediately respond with a 201-Accepted. The result of the verification will be sent via POST to the webhookUrl you set in the request.

HTTP Request

POST https://hoover.everproof.com/v1/wwcc/wa

Request arguments

Argument Type Description Required
documentNumber string The identification number on the document or card to verify. Required
expiryDate string The date of expiry of the document. Optional
person object Defined directly below Required
trackingId string A value you can set that we will include in our response. Required
webhookUrl string The webhook address you want us to POST results to Required

Person

Value Type Description Required
firstName string The document holder's first name Optional
middleName string The document holder's middle name Optional
lastName string The document holder's last name Required
dateOfBirth string (yyyy-mm-dd) The document holder's date of birth Optional

Response values

Value Type Description
result object The result of the verification
trackingId string The value that you sent with your request.
timestamp string ISO 8601 formatted datetime.

Result object

Result Type Description
approval boolean A boolean representing if the individual is permitted to work with children.
status string Possible values for status defined in the "Status Attribute" section of this documentation.
message string The message returned from the Department for Child Protection and Family Support.
retrieved object Any extra data that we retrieve from the Department for Child Protection and Family Support.

DCSI (South Australia)

Example request

curl -H 'Authorization: lukeiamnotyourpassword' -d '{
  "documentNumber": "123456789",
  "person": {
    "firstName": "Sachin",
    "middleName": "Ramesh",
    "lastName": "Tendulkar",
    "dateOfBirth": "1973-04-23"
  },
  "trackingId": "372630f8-ccea-49a9-b682-ba11188929a9",
  "webhookUrl": "https://webhook.com/everproof/results"
}' 'https://hoover.everproof.com/v1/wwcc/sa'

Example result (sent via webhook)

{
 "result": {
  "approval": true,
  "status": "VERIFIED",
  "message": "Valid for 3 years from the determination date unless revoked by the screening unit.",
  "retrieved": {
      "attainedDate": "2016/10/24",
      "expiryDate": "2019/10/24"
  }
 },
 "timestamp": "2018-10-30T01:58:16+00:00",
 "trackingId": "372630f8-ccea-49a9-b682-ba11188929a9"
}

This endpoint will verify a DCSI Screening conducted by the Department for Communities and Social Inclusion in South Australia.

The endpoint will immediately respond with a 201-Accepted. The result of the verification will be sent via POST to the webhookUrl you set in the request.

HTTP Request

POST https://hoover.everproof.com/v1/wwcc/sa

Request arguments

Argument Type Description Required
documentNumber string The identification number on the document or card to verify. Required
expiryDate string The date of expiry of the document. Optional
person object Possible values for person defined in the "Person" menu on the left. Required
trackingId string A value you can set that we will include in our response. Required
webhookUrl string The webhook address you want us to POST results to Required

Person

Value Type Description Required
firstName string The document holder's first name Required
middleName string The document holder's middle name Required
lastName string The document holder's last name Required
dateOfBirth string (yyyy-mm-dd) The document holder's date of birth Required

Response values

Value Type Description
result object The result of the verification
trackingId string The value that you sent with your request.
timestamp string ISO 8601 formatted datetime.

Result object

Value Type Description
approval boolean A boolean representing if the individual is permitted to work with children.
status string Possible values for status defined in the "Status Attribute" section of this documentation.
message string The message returned from the Department for Communities and Social Inclusion.
retrieved object Any extra data that we retrieve from the Department for Communities and Social Inclusion.
trackingId string The value that you sent with your request.

Blue Card (Queensland)

Example request

curl -H 'Authorization: lukeiamnotyourpassword' -d '{
  "documentNumber": "12345678/9",
  "expiryDate": "2024-01-12",
  "person": {
    "firstName": "Sachin",
    "middleName": "Ramesh",
    "lastName": "Tendulkar",
    "dateOfBirth": "1973-04-23"
  },
  "trackingId": "372630f8-ccea-49a9-b682-ba11188929a9",
  "webhookUrl": "https://webhook.com/everproof/results"
}' 'https://hoover.everproof.com/v1/wwcc/qld/blue-card'

Example result (sent via webhook)

{
 "result": {
  "approval": true,
  "status": "VERIFIED",
  "message": "12345678/9 is a valid card.",
 },
 "timestamp": "2018-10-30T01:58:16+00:00",
 "trackingId": "372630f8-ccea-49a9-b682-ba11188929a9"
}

This endpoint will verify a Blue Card with the Public Safety Business Agency in Queensland.

The endpoint will immediately respond with a 201-Accepted. The result of the verification will be sent via POST to the webhookUrl you set in the request.

HTTP Request

POST https://hoover.everproof.com/v1/wwcc/qld/blue-card

Request arguments

Argument Type Description Required
documentNumber string The identification number on the document or card to verify. Required
expiryDate string The date of expiry of the document. Required
person object Defined below Required
trackingId string A value you can set that we will include in our response. Required
webhookUrl string The webhook address you want us to POST results to Required

Person

Value Type Description Required
firstName string The document holder's first name Required
middleName string The document holder's middle name Required
lastName string The document holder's last name Required
dateOfBirth string (yyyy-mm-dd) The document holder's date of birth Optional

Response values

Value Type Description
result object The result of the verification
trackingId string The value that you sent with your request.
timestamp string ISO 8601 formatted datetime.

Result object

Value Type Description
approval boolean A boolean representing if the individual is permitted to work with children.
status string Possible values for status defined in the "Status Attribute" menu on the left.
message string The message returned from the Public Safety Business Agency.
retrieved object Any extra data that we retrieve from the Public Safety Business Agency.
trackingId string The value that you sent with your request.

Exemption Card (Queensland)

Example request

curl -H 'Authorization: lukeiamnotyourpassword' -d '{
  "documentNumber": "123456789",
  "person": {
    "firstName": "Sachin",
    "middleName": "Ramesh",
    "lastName": "Tendulkar",
  },
  "trackingId": "372630f8-ccea-49a9-b682-ba11188929a9",
  "webhookUrl": "https://webhook.com/everproof/results"
}' 'https://hoover.everproof.com/v1/wwcc/qld/exemption-card'

Example result (sent via webhook)

{
 "result":{
  "approval": true,
  "status": "VERIFIED",
  "message": "TODO: Fill this in"
 },
 "timestamp": "2018-10-30T01:58:16+00:00",
 "trackingId": "372630f8-ccea-49a9-b682-ba11188929a9"
}

This endpoint will verify a Exemption Card with the Public Safety Business Agency in Queensland.

The endpoint will immediately respond with a 201-Accepted. The result of the verification will be sent via POST to the webhookUrl you set in the request.

HTTP Request

POST https://hoover.everproof.com/v1/wwcc/qld/exemption-card

Request arguments

Argument Type Description Required
documentNumber string The identification number on the document or card to verify. Required
person object Possible values for person defined in the "Person" menu on the left. Required
trackingId string A value you can set that we will include in our response. Required
webhookUrl string The webhook address you want us to POST results to Required

Person

Value Type Description Required
firstName string The document holder's first name Required
middleName string The document holder's middle name Required
lastName string The document holder's last name Required
dateOfBirth string (yyyy-mm-dd) The document holder's date of birth Optional

Response values

Value Type Description
result object The result of the verification
trackingId string The value that you sent with your request.
timestamp string ISO 8601 formatted datetime.

Result object

Value Type Description
approval boolean A boolean representing if the individual is permitted to work with children.
status string Possible values for status defined in the "Status Attribute" menu on the left.
message string The message returned from the Public Safety Business Agency.
retrieved object Any extra data that we retrieve from the Public Safety Business Agency.

VIT Registration (Victoria)

Example request

curl -H 'Authorization: lukeiamnotyourpassword' -d '{
  "documentNumber": "123456789",
  "person": {
    "firstName": "Sachin",
    "middleName": "Ramesh",
    "lastName": "Tendulkar",
    "dateOfBirth": "1973-04-23"
  },
  "trackingId": "372630f8-ccea-49a9-b682-ba11188929a9",
  "webhookUrl": "https://webhook.com/everproof/results"
}' 'https://hoover.everproof.com/v1/vit'

Example result (sent via webhook)

{
 "result": {
  "approval": true,
  "status": "VERIFIED",
  "message": "TODO: Fill this in",
 },
 "timestamp": "2018-10-30T01:58:16+00:00",
 "trackingId": "372630f8-ccea-49a9-b682-ba11188929a9"
}

This endpoint will verify a Teaching Registration with the Victorian Institute of Teaching.

The endpoint will immediately respond with a 201-Accepted. The result of the verification will be sent via POST to the webhookUrl you set in the request.

HTTP Request

POST https://hoover.everproof.com/v1/vit

Request arguments

Argument Type Description Required
documentNumber string The identification number on the document or card to verify. Required
expiryDate string The date of expiry of the document. Optional
person object Possible values for person defined in the "Person" menu on the left. Required
trackingId string A value you can set that we will include in our response. Required
webhookUrl string The webhook address you want us to POST results to Required

Person

Value Type Description Required
firstName string The document holder's first name Required
middleName string The document holder's middle name Optional
lastName string The document holder's last name Required
dateOfBirth string (yyyy-mm-dd) The document holder's date of birth Optional

Response values

Value Type Description
result object The result of the verification
trackingId string The value that you sent with your request.
timestamp string ISO 8601 formatted datetime.

Result object

Value Type Description
approval boolean A boolean representing if the individual is permitted to teach.
status string Possible values for status defined in the "Status Attribute" menu on the left.
message string The message returned from the Victorian Institute of Teaching.
retrieved object Any extra data that we retrieve from the Victorian Institute of Teaching.
trackingId string The value that you sent with your request.

VIT ECT Registration (Victoria)

Example request

curl -H 'Authorization: lukeiamnotyourpassword' -d '{
  "documentNumber": "123456789",
  "person": {
    "firstName": "Sachin",
    "middleName": "Ramesh",
    "lastName": "Tendulkar",
    "dateOfBirth": "1973-04-23"
  },
  "trackingId": "372630f8-ccea-49a9-b682-ba11188929a9",
  "webhookUrl": "https://webhook.com/everproof/results"
}' 'https://hoover.everproof.com/v1/vit'

Example result (sent via webhook)

{
 "result": {
  "approval": true,
  "status": "VERIFIED",
  "message": "TODO: Fill this in"
 },
 "timestamp": "2018-10-30T01:58:16+00:00",
 "trackingId": "372630f8-ccea-49a9-b682-ba11188929a9"
}

This endpoint will verify an Early Childhood Teacher Registration with the Victorian Institute of Teaching.

The endpoint will immediately respond with a 201-Accepted. The result of the verification will be sent via POST to the webhookUrl you set in the request.

HTTP Request

POST https://hoover.everproof.com/v1/vit

Request arguments

Argument Type Description Required
documentNumber string The identification number on the document or card to verify. Required
expiryDate string The date of expiry of the document. Optional
person object Possible values for person defined in the "Person" menu on the left. Required
trackingId string A value you can set that we will include in our response. Required
webhookUrl string The webhook address you want us to POST results to Required

Person

Value Type Description Required
firstName string The document holder's first name Required
middleName string The document holder's middle name Optional
lastName string The document holder's last name Required
dateOfBirth string (yyyy-mm-dd) The document holder's date of birth Optional

Response values

Value Type Description
result object The result of the verification
trackingId string The value that you sent with your request.
timestamp string ISO 8601 formatted datetime.

Result object

Value Type Description
approval boolean A boolean representing if the individual is permitted to teach.
status string Possible values for status defined in the "Status Attribute" menu on the left.
message string The message returned from the Victorian Institute of Teaching.
retrieved object Any extra data that we retrieve from the Victorian Institute of Teaching.
trackingId string The value that you sent with your request.