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. |