Welcome!
Hello and welcome to SpringVerify.
This is the API documentation section of SpringVerify for customers and users located in the USA. It is divided into three sections for ease of navigation:
- Introduction - where entities, environments, and authentication protocols are detailed.
- Getting Started with the APIs - where basic understanding of api structure and environments are detailed.
- Company API flow - where functions available to users logged in as company admins are detailed.
- Candidate API flow - where functions available to users logged in as candidates are detailed.
Introduction
Welcome to SpringVerify where we offer you services to Know Your Customer better and run background check on multiple grounds through APIs available with maximum accuracy and minimum turn around.
User Flow
Let’s get started by understanding how SpringVerify helps in solving multiple use cases of customers through this User Flow:
Getting started with the API's
We provide API access to clients for ID and backgroung check verification. You are requested to integrate in our Test Mode first, and test the integration, before shifting to Live Mode.
The language bindings are in cURL, node.js, and PHP. The API documentation is set up with a display area on the right to show examples.
Internal objects
User Roles | Response |
---|---|
Company | An entity that has users. These users can be candidates who are performing the verification or are being verified. |
Admin | A user who is performing the verification. |
Candidate | A user whose details are being verified on the platform. |
Package | Combination of multiple verification checks provided at a specific price. |
Action | Updates on a candidate's verification progress. |
Adverse Action | Adversities found on a candidate's verification process. |
Webhook | Automated messages sent to client's url whenever any update happens on the resource. |
Consent | Permission given by the candidate to perform ID & background verification checks. |
Available checks
- ID verification
- Employment verification
- Education verification
- National Criminal search
- Sex Offender search
- SSN trace
- Global Watchlist search
- One County Criminal search
- All County Criminal search
- One County Civil Court search
- Motor Vehicle Record check
Environment URLs
Acceptance:
https://acceptance.us.springverify.com
https://api-acceptance.us.springverify.com
Production:
https://us.springverify.com
https://api.us.springverify.com
Postman
Authentication
Authenticating in SpringVerify is done on the basis of JSON Web Tokens. Once registered, a user will receive a token to be used for subsequent API requests. If misplaced, the token can be retrieved by logging in again.
Mock Apis
Mock apis have been integrated into Stage and Acceptance environment. The details on how to get different response from mock apis are mentioned below.
Knowledge Based Quiz
This api mocks mocks Knowledge Based Quiz api.
This api will pass/fail to get the quiz questions based on the SSN (last 4 digits) entered in Submit Personal Details api.
Mock details
SSN (last 4 digits) | Response type | Description |
---|---|---|
1111 | error |
KBA Quiz already verified |
2222 | error |
Restricted due to uncertainty of true identity |
3333 | error |
Incorrect or insufficient information |
4444 | success |
Successfully gets the question for knowledge based quiz |
5555 | success |
Successfully gets the question for knowledge based quiz |
Submit KBA Quiz
This api mocks mocks Submit KBA Quiz api.
This api will pass/fail the quiz based on the SSN (last 4 digits) entered in Submit Personal Details api.
Mock details
SSN (last 4 digits) | Response type | Description |
---|---|---|
4444 | success |
Successfully passes the knowledge based quiz |
5555 | error |
Fails the knowledge based quiz |
Upload and Verify ID
The Driving License check will pass/fail based on the image provided for the check. The images are available in the link given below.
Upload and Verify Passport
The Passport check will pass/fail based on the image provided for the check. The images are available in the link given below.
Company
This section covers the API details available for users logged in as admins, i.e., users who wish to conduct background verification checks on candidates (or prospective candidates).
Signup
The signup API is used to register an admin - a user that performs verifications - in a company. Once an admin user is registered, a verification email is sent to the registered address.
curl --location --request POST 'https://api.us.springverify.com/auth/signup' \
--header 'Content-Type: application/json' \
--data-raw '{
"first_name": "John",
"last_name": "Wick",
"phone": "999999999",
"email": "john@wick.com",
"password": "daaad6e5604e8e17bd9f108d91e26afe6281dac8fda0091040a7a6d7bd9b43b5",
"confirm_password":"daaad6e5604e8e17bd9f108d91e26afe6281dac8fda0091040a7a6d7bd9b43b5",
"domain": "wick.com"
}'
// FETCH
var fetch = require('node-fetch');
fetch('https://api.us.springverify.com/auth/signup', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ "first_name": "John", "last_name": "Wick", "phone": "999999999", "email": "john@wick.com", "password": "daaad6e5604e8e17bd9f108d91e26afe6281dac8fda0091040a7a6d7bd9b43b5", "confirm_password":"daaad6e5604e8e17bd9f108d91e26afe6281dac8fda0091040a7a6d7bd9b43b5", "domain": "wick.com" })
});
// REQUEST
var request = require('request');
var headers = {
'Content-Type': 'application/json'
};
var dataString = '{ "first_name": "John", "last_name": "Wick", "phone": "999999999", "email": "john@wick.com", "password": "daaad6e5604e8e17bd9f108d91e26afe6281dac8fda0091040a7a6d7bd9b43b5", "confirm_password":"daaad6e5604e8e17bd9f108d91e26afe6281dac8fda0091040a7a6d7bd9b43b5", "domain": "wick.com" }';
var options = {
url: 'https://api.us.springverify.com/auth/signup',
method: 'POST',
headers: headers,
body: dataString
};
function callback(error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body);
}
}
request(options, callback);
<?php
include('vendor/rmccue/requests/library/Requests.php');
Requests::register_autoloader();
$headers = array(
'Content-Type' => 'application/json'
);
$data = '{ "first_name": "John", "last_name": "Wick", "phone": "999999999", "email": "john@wick.com", "password": "daaad6e5604e8e17bd9f108d91e26afe6281dac8fda0091040a7a6d7bd9b43b5", "confirm_password":"daaad6e5604e8e17bd9f108d91e26afe6281dac8fda0091040a7a6d7bd9b43b5", "domain": "wick.com" }';
$response = Requests::post('https://api.us.springverify.com/auth/signup', $headers, $data);
import requests
headers = {
'Content-Type': 'application/json',
}
data = '{ "first_name": "John", "last_name": "Wick", "phone": "999999999", "email": "john@wick.com", "password": "daaad6e5604e8e17bd9f108d91e26afe6281dac8fda0091040a7a6d7bd9b43b5", "confirm_password":"daaad6e5604e8e17bd9f108d91e26afe6281dac8fda0091040a7a6d7bd9b43b5", "domain": "wick.com" }'
response = requests.post('https://api.us.springverify.com/auth/signup', headers=headers, data=data)
require 'net/http'
require 'uri'
uri = URI.parse("https://api.us.springverify.com/auth/signup")
request = Net::HTTP::Post.new(uri)
request.content_type = "application/json"
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
# response.code
# response.body
Success Response
{
"success": true,
"data": {
"message": "Account created successfully."
}
}
Error Response
{
"success": true,
"data": {
"message": "Account with this email address already exists."
}
}
Query Parameters
Parameter | Type | Description | Mandatory |
---|---|---|---|
string |
The email address used to register with SpringVerify | Yes | |
password | string |
A strong, hashed password of minimum 8 characters | Yes |
confirm_password | string |
Repeat the password to confirm | Yes |
first_name | string |
The user's first name | Yes |
last_name | string |
The user's last name | No |
phone | string |
The user's preferred phone number | No |
domain | string |
The company's domain. Must be the same as the email domain | Yes |
With this, the user is successfully registered into a company's domain as an admin.
Verify an Admin's Email address
curl --location --request GET 'https://api.us.springverify.com/auth/verify?token=TOKEN_SENT_IN_EMAIL'
// FETCH
var fetch = require('node-fetch');
fetch('https://api.us.springverify.com/auth/verify?token=TOKEN_SENT_IN_EMAIL');
// REQUEST
var request = require('request');
var options = {
url: 'https://api.us.springverify.com/auth/verify?token=TOKEN_SENT_IN_EMAIL'
};
function callback(error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body);
}
}
request(options, callback);
<?php
include('vendor/rmccue/requests/library/Requests.php');
Requests::register_autoloader();
$headers = array();
$response = Requests::get('https://api.us.springverify.com/auth/verify?token=TOKEN_SENT_IN_EMAIL', $headers);
import requests
params = (
('token', 'TOKEN_SENT_IN_EMAIL'),
)
response = requests.get('https://api.us.springverify.com/auth/verify', params=params)
require 'net/http'
require 'uri'
uri = URI.parse("https://api.us.springverify.com/auth/verify?token=TOKEN_SENT_IN_EMAIL")
response = Net::HTTP.get_response(uri)
# response.code
# response.body
Success Response
{
"success": true,
"data": {
"message": "Activated."
}
}
Error Response
{
"success": true,
"data": {
"message": "Account not found."
}
}
This API is used to verify a company admin's email address. If this user is the first user for a company, then the company will be created as an entity on the admin being successfully verified.
Resend the verification email to a company admin
curl --location --request POST 'https://api.us.springverify.com/auth/resend-email' \
--header 'Content-Type: application/json' \
--data-raw '{
"email":"john@wick.com"
}'
// FETCH
var fetch = require('node-fetch');
fetch('https://api.us.springverify.com/auth/resend-email', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ "email":"john@wick.com" })
});
// REQUEST
var request = require('request');
var headers = {
'Content-Type': 'application/json'
};
var dataString = '{ "email":"john@wick.com" }';
var options = {
url: 'https://api.us.springverify.com/auth/resend-email',
method: 'POST',
headers: headers,
body: dataString
};
function callback(error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body);
}
}
request(options, callback);
<?php
include('vendor/rmccue/requests/library/Requests.php');
Requests::register_autoloader();
$headers = array(
'Content-Type' => 'application/json'
);
$data = '{ "email":"john@wick.com" }';
$response = Requests::post('https://api.us.springverify.com/auth/resend-email', $headers, $data);
import requests
headers = {
'Content-Type': 'application/json',
}
data = '{ "email":"john@wick.com" }'
response = requests.post('https://api.us.springverify.com/auth/resend-email', headers=headers, data=data)
require 'net/http'
require 'uri'
uri = URI.parse("https://api.us.springverify.com/auth/resend-email")
request = Net::HTTP::Post.new(uri)
request.content_type = "application/json"
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
# response.code
# response.body
Success Response
{
"success": true,
"data": {
"message": "Email Sent."
}
}
Error Response
{
"message": "user already verified"
}
If an admin requires the verification email to be sent again, this API should be used.
Logging in
curl --location --request POST 'https://api.us.springverify.com/auth/login' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer JWT_TOKEN' \
--data-raw '{
"email": "john@wick.com",
"password": "daaad6e5604e8e17bd9f108d91e26afe6281dac8fda0091040a7a6d7bd9b43b5",
"role":"admin"
}'
// FETCH
var fetch = require('node-fetch');
fetch('https://api.us.springverify.com/auth/login', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer JWT_TOKEN'
},
body: JSON.stringify({ "email": "john@wick.com", "password": "daaad6e5604e8e17bd9f108d91e26afe6281dac8fda0091040a7a6d7bd9b43b5", "role":"admin" })
});
// REQUEST
var fetch = require('node-fetch');
fetch('https://api.us.springverify.com/auth/login', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer JWT_TOKEN'
},
body: JSON.stringify({ "email": "john@wick.com", "password": "daaad6e5604e8e17bd9f108d91e26afe6281dac8fda0091040a7a6d7bd9b43b5", "role":"admin" })
});
<?php
include('vendor/rmccue/requests/library/Requests.php');
Requests::register_autoloader();
$headers = array(
'Content-Type' => 'application/json',
'Authorization' => 'Bearer JWT_TOKEN'
);
$data = '{ "email": "john@wick.com", "password": "daaad6e5604e8e17bd9f108d91e26afe6281dac8fda0091040a7a6d7bd9b43b5", "role":"admin" }';
$response = Requests::post('https://api.us.springverify.com/auth/login', $headers, $data);
import requests
headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer JWT_TOKEN',
}
data = '{ "email": "john@wick.com", "password": "daaad6e5604e8e17bd9f108d91e26afe6281dac8fda0091040a7a6d7bd9b43b5", "role":"admin" }'
response = requests.post('https://api.us.springverify.com/auth/login', headers=headers, data=data)
require 'net/http'
require 'uri'
uri = URI.parse("https://api.us.springverify.com/auth/login")
request = Net::HTTP::Post.new(uri)
request.content_type = "application/json"
request["Authorization"] = "Bearer JWT_TOKEN"
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
# response.code
# response.body
Success Response
{
"token": "JWT_TOKEN",
"profile": {
"first_name": "John",
"last_name": "Wick",
"email": "john@wick.com",
"domain": "wick.com",
"company": {
"id": 44,
"name": "SmartBrains",
"address": "901, Downtown Manhattan",
"city": "NY",
"state": "NY",
"zipcode": "91319",
"tax_id_number": "1234567890",
"s3_logo": "link"
}
}
}
Error Response:
{
"errors": [
{
"value": "",
"msg": "Not a valid role",
"param": "role",
"location": "body"
}
]
}
For logging in, the aim is to generate a JSON web token that is to be used in all subsequent API calls. The JWT generated will be valid for one hour.
To call the subsequent APIs, the user will need to send the JWT successfully in the header of those APIs.
URL Parameters
Parameter | Type | Description |
---|---|---|
string |
The email address used to register with SpringVerify | |
password | string |
A strong, hashed password of minimum 8 characters |
role | string |
The role of the user being logged in - in this case, admin |
Forgot password
curl --location --request POST 'https://api.us.springverify.com/auth/forgot-password' \
--header 'Content-Type: application/json' \
--data-raw '{
"email":"johndoe@gmail.com"
}'
// FETCH
var fetch = require('node-fetch');
fetch('https://api.us.springverify.com/auth/forgot-password', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ "email":"johndoe@gmail.com" })
});
// REQUEST
var request = require('request');
var headers = {
'Content-Type': 'application/json'
};
var dataString = '{ "email":"johndoe@gmail.com" }';
var options = {
url: 'https://api.us.springverify.com/auth/forgot-password',
method: 'POST',
headers: headers,
body: dataString
};
function callback(error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body);
}
}
request(options, callback);
<?php
include('vendor/rmccue/requests/library/Requests.php');
Requests::register_autoloader();
$headers = array(
'Content-Type' => 'application/json'
);
$data = '{ "email":"johndoe@gmail.com" }';
$response = Requests::post('https://api.us.springverify.com/auth/forgot-password', $headers, $data);
import requests
headers = {
'Content-Type': 'application/json',
}
data = '{ "email":"johndoe@gmail.com" }'
response = requests.post('https://api.us.springverify.com/auth/forgot-password', headers=headers, data=data)
require 'net/http'
require 'uri'
uri = URI.parse("https://api.us.springverify.com/auth/forgot-password")
request = Net::HTTP::Post.new(uri)
request.content_type = "application/json"
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
# response.code
# response.body
Success Response
{
"success": true,
"data": "success"
}
In case of a misplaced password, this API should be used to send an email to the user to reset their password. The email will contain a token-embedded URL which will be used to call the Reset Password API.
Reset Password
curl --location --request POST 'https://api.us.springverify.com/profile/reset-password' \
--header 'Authorization: Bearer JWT_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"password":"17f80754644d33ac685b0842a402229adbb43fc9312f7bdf36ba24237a1f1ffb"
}'
// FETCH
var fetch = require('node-fetch');
fetch('https://api.us.springverify.com/profile/reset-password', {
method: 'POST',
headers: {
'Authorization': 'Bearer JWT_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({ "password":"17f80754644d33ac685b0842a402229adbb43fc9312f7bdf36ba24237a1f1ffb" })
});
// REQUEST
var request = require('request');
var headers = {
'Authorization': 'Bearer JWT_TOKEN',
'Content-Type': 'application/json'
};
var dataString = '{ "password":"17f80754644d33ac685b0842a402229adbb43fc9312f7bdf36ba24237a1f1ffb" }';
var options = {
url: 'https://api.us.springverify.com/profile/reset-password',
method: 'POST',
headers: headers,
body: dataString
};
function callback(error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body);
}
}
request(options, callback);
<?php
include('vendor/rmccue/requests/library/Requests.php');
Requests::register_autoloader();
$headers = array(
'Authorization' => 'Bearer JWT_TOKEN',
'Content-Type' => 'application/json'
);
$data = '{ "password":"17f80754644d33ac685b0842a402229adbb43fc9312f7bdf36ba24237a1f1ffb" }';
$response = Requests::post('https://api.us.springverify.com/profile/reset-password', $headers, $data);
import requests
headers = {
'Authorization': 'Bearer JWT_TOKEN',
'Content-Type': 'application/json',
}
data = '{ "password":"17f80754644d33ac685b0842a402229adbb43fc9312f7bdf36ba24237a1f1ffb" }'
response = requests.post('https://api.us.springverify.com/profile/reset-password', headers=headers, data=data)
require 'net/http'
require 'uri'
uri = URI.parse("https://api.us.springverify.com/profile/reset-password")
request = Net::HTTP::Post.new(uri)
request.content_type = "application/json"
request["Authorization"] = "Bearer JWT_TOKEN"
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
# response.code
# response.body
Success Response
{
"success": true,
"data": "success"
}
When an admin requests declares a forgotten password, an email will be sent using the Forgot Password API. This email will consist of a token-embedded URL that is to be passed in this API along with the new password.
URL Parameters
Parameter | Type | Description |
---|---|---|
password | string |
A strong, hashed password of minimum 8 characters |
Register your company
curl --location --request POST 'https://api.us.springverify.com/company' \
--header 'Authorization: Bearer JWT_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "SmartBrains",
"address": "901, Downtown Manhattan",
"city": "NY",
"state": "NY",
"zipcode": "91319",
"tax_id_number":"1234567890"
}'
// FETCH
var fetch = require('node-fetch');
fetch('https://api.us.springverify.com/company', {
method: 'POST',
headers: {
'Authorization': 'Bearer JWT_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({ "name": "SmartBrains", "address": "901, Downtown Manhattan", "city": "NY", "state": "NY", "zipcode": "91319", "tax_id_number":"1234567890" })
});
// REQUEST
var request = require('request');
var headers = {
'Authorization': 'Bearer JWT_TOKEN',
'Content-Type': 'application/json'
};
var dataString = '{ "name": "SmartBrains", "address": "901, Downtown Manhattan", "city": "NY", "state": "NY", "zipcode": "91319", "tax_id_number":"1234567890" }';
var options = {
url: 'https://api.us.springverify.com/company',
method: 'POST',
headers: headers,
body: dataString
};
function callback(error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body);
}
}
request(options, callback);
<?php
include('vendor/rmccue/requests/library/Requests.php');
Requests::register_autoloader();
$headers = array(
'Authorization' => 'Bearer JWT_TOKEN',
'Content-Type' => 'application/json'
);
$data = '{ "name": "SmartBrains", "address": "901, Downtown Manhattan", "city": "NY", "state": "NY", "zipcode": "91319", "tax_id_number":"1234567890" }';
$response = Requests::post('https://api.us.springverify.com/company', $headers, $data);
import requests
headers = {
'Authorization': 'Bearer JWT_TOKEN',
'Content-Type': 'application/json',
}
data = '{ "name": "SmartBrains", "address": "901, Downtown Manhattan", "city": "NY", "state": "NY", "zipcode": "91319", "tax_id_number":"1234567890" }'
response = requests.post('https://api.us.springverify.com/company', headers=headers, data=data)
require 'net/http'
require 'uri'
uri = URI.parse("https://api.us.springverify.com/company")
request = Net::HTTP::Post.new(uri)
request.content_type = "application/json"
request["Authorization"] = "Bearer JWT_TOKEN"
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
# response.code
# response.body
Success Response:
{
"success": true,
"data": {
"message": "Company updated successfully"
}
}
A user with the role of an admin can create a company once their profile is verified. A valid JWT will be needed to authenticate the user in this API.
URL Parameters
Parameter | Type | Description |
---|---|---|
name | string |
Name of the company being registered |
address | string |
Address of the company being registered |
city | string |
The city where the company being registered is located |
state | string |
The state where the company being registered is located |
zipcode | string |
The ZIP code of the postal district in which the company is located |
tax_id_number | string |
(Optional) Tax number of the company that is being registered |
Upload a logo
curl --location --request POST 'https://api.us.springverify.com/company/upload-logo' \
--header 'Authorization: Bearer JWT_TOKEN' \
--form 'logo=@/path/to/file'
// FETCH
var fetch = require('node-fetch');
fetch('https://api.us.springverify.com/company/upload-logo', {
method: 'POST',
headers: {
'Authorization': 'Bearer JWT_TOKEN'
}
});
// REQUEST
var request = require('request');
var headers = {
'Authorization': 'Bearer JWT_TOKEN'
};
var options = {
url: 'https://api.us.springverify.com/company/upload-logo',
method: 'POST',
headers: headers
};
function callback(error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body);
}
}
request(options, callback);
<?php
include('vendor/rmccue/requests/library/Requests.php');
Requests::register_autoloader();
$headers = array(
'Authorization' => 'Bearer JWT_TOKEN'
);
$response = Requests::post('https://api.us.springverify.com/company/upload-logo', $headers);
import requests
headers = {
'Authorization': 'Bearer JWT_TOKEN',
}
response = requests.post('https://api.us.springverify.com/company/upload-logo', headers=headers)
require 'net/http'
require 'uri'
uri = URI.parse("https://api.us.springverify.com/company/upload-logo")
request = Net::HTTP::Post.new(uri)
request["Authorization"] = "Bearer JWT_TOKEN"
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
# response.code
# response.body
Success Response
{
"success": true,
"data": "https://spring-verify-us.s3.amazonaws.com/company/wick.com/logo"
}
Upload the company's logo using this API.
URL Parameters
Parameter | Type | Description |
---|---|---|
logo | file |
Raw file of the logo |
Get company details
curl --location --request GET 'https://api.us.springverify.com/company' \
--header 'Authorization: Bearer JWT_TOKEN'
// FETCH
var fetch = require('node-fetch');
fetch('https://api.us.springverify.com/company', {
headers: {
'Authorization': 'Bearer JWT_TOKEN'
}
});
// REQUEST
var request = require('request');
var headers = {
'Authorization': 'Bearer JWT_TOKEN'
};
var options = {
url: 'https://api.us.springverify.com/company',
headers: headers
};
function callback(error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body);
}
}
request(options, callback);
<?php
include('vendor/rmccue/requests/library/Requests.php');
Requests::register_autoloader();
$headers = array(
'Authorization' => 'Bearer JWT_TOKEN'
);
$response = Requests::get('https://api.us.springverify.com/company', $headers);
import requests
headers = {
'Authorization': 'Bearer JWT_TOKEN',
}
response = requests.get('https://api.us.springverify.com/company', headers=headers)
require 'net/http'
require 'uri'
uri = URI.parse("https://api.us.springverify.com/company")
request = Net::HTTP::Get.new(uri)
request["Authorization"] = "Bearer JWT_TOKEN"
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
# response.code
# response.body
Success Response
{
"success": true,
"data": {
"id": 44,
"created_by": "john@wick.com",
"name": "SmartBrains",
"address": "901, Downtown Manhattan",
"city": "NY",
"state": "NY",
"zipcode": "91319",
"tax_id_number": "1234567890",
"credits": 0,
"domain": "wick.com",
"employment_limit": null,
"education_limit": null,
"license_limit": null,
"civilcourt_limit": null,
"dl_limit": null,
"s3_logo": "https://spring-verify-us.s3.amazonaws.com/company/wick.com/logo",
"created_at": "2020-08-24T10:20:20.000Z",
"updated_at": "2020-08-24T10:31:49.000Z",
"employee_invite_groups": []
}
}
For a registered admin with a valid JWT, this API can be used to get the details of the company. This is different from the company profile. A company's profile contains details of the company given during registration as well as the count of the candidates whose profiles were verified, failed or is pending.
Get company profile
curl --location --request GET 'https://api.us.springverify.com/profile' \
--header 'Authorization: Bearer JWT_TOKEN'
// FETCH
var fetch = require('node-fetch');
fetch('https://api.us.springverify.com/profile', {
headers: {
'Authorization': 'Bearer JWT_TOKEN'
}
});
// REQUEST
var request = require('request');
var headers = {
'Authorization': 'Bearer JWT_TOKEN'
};
var options = {
url: 'https://api.us.springverify.com/profile',
headers: headers
};
function callback(error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body);
}
}
request(options, callback);
<?php
include('vendor/rmccue/requests/library/Requests.php');
Requests::register_autoloader();
$headers = array(
'Authorization' => 'Bearer JWT_TOKEN'
);
$response = Requests::get('https://api.us.springverify.com/profile', $headers);
import requests
headers = {
'Authorization': 'Bearer JWT_TOKEN',
}
response = requests.get('https://api.us.springverify.com/profile', headers=headers)
require 'net/http'
require 'uri'
uri = URI.parse("https://api.us.springverify.com/profile")
request = Net::HTTP::Get.new(uri)
request["Authorization"] = "Bearer JWT_TOKEN"
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
# response.code
# response.body
Success Response
{
"success": true,
"data": {
"first_name": "John",
"last_name": "Wick",
"phone": "999999999",
"email": "john@wick.com",
"domain": "wick.com",
"stripe_id": null,
"company": {
"name": "SmartBrains",
"address": "901, Downtown Manhattan",
"city": "NY",
"state": "NY",
"zipcode": "91319",
"tax_id_number": "1234567890",
"s3_logo": "https://spring-verify-us.s3.amazonaws.com/company/wick.com/logo"
},
"count": [
{
"count": 0,
"type": null
},
{
"count": 0,
"type": "FAILED"
},
{
"count": 0,
"type": "PENDING"
},
{
"count": 0,
"type": "VERIFIED"
}
]
}
}
For a registered admin with a valid JWT, this API can be used to get the company's profile. This is different from the company details. A company's profile contains details of the company given during registration as well as the count of the candidates whose profiles were verified, failed, or is pending.
Get available packages
curl --location --request GET 'http://api-stage.us.springverify.com/company/package' \
--header 'Authorization: Bearer JWT_TOKEN'
// FETCH
var fetch = require('node-fetch');
fetch('http://api-stage.us.springverify.com/company/package', {
headers: {
'Authorization': 'Bearer JWT_TOKEN'
}
});
// REQUEST
var request = require('request');
var headers = {
'Authorization': 'Bearer JWT_TOKEN'
};
var options = {
url: 'http://api-stage.us.springverify.com/company/package',
headers: headers
};
function callback(error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body);
}
}
request(options, callback);
<?php
include('vendor/rmccue/requests/library/Requests.php');
Requests::register_autoloader();
$headers = array(
'Authorization' => 'Bearer JWT_TOKEN'
);
$response = Requests::get('http://api-stage.us.springverify.com/company/package', $headers);
import requests
headers = {
'Authorization': 'Bearer JWT_TOKEN',
}
response = requests.get('http://api-stage.us.springverify.com/company/package', headers=headers)
require 'net/http'
require 'uri'
uri = URI.parse("http://api-stage.us.springverify.com/company/package")
request = Net::HTTP::Get.new(uri)
request["Authorization"] = "Bearer JWT_TOKEN"
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
# response.code
# response.body
Success Response:
{
"success": true,
"data": {
"package": [
{
"id": "1",
"name": "bronze",
"employment": null,
"education": "0",
"professional_license": "0",
"civil_court": "0",
"driving_license": "0",
"county_criminal_search": "0",
"all_county_criminal_search": false,
"national_criminal_search": "1",
"sex_offender_search": "1",
"ssn_trace": "1",
"global_watchlist": "1",
"price": "750",
"created_at": "2019-07-03T11:07:27.000Z",
"updated_at": "2019-11-11T11:53:38.000Z"
},
{
"id": "2",
"name": "silver",
"employment": null,
"education": "0",
"professional_license": "0",
"civil_court": "0",
"driving_license": "0",
"county_criminal_search": "0",
"all_county_criminal_search": false,
"national_criminal_search": "1",
"sex_offender_search": "1",
"ssn_trace": "1",
"global_watchlist": "1",
"price": "1500",
"created_at": "2019-07-03T11:07:27.000Z",
"updated_at": "2019-11-11T11:53:38.000Z"
},
{
"id": "3",
"name": "gold",
"employment": null,
"education": "0",
"professional_license": "0",
"civil_court": "0",
"driving_license": "0",
"county_criminal_search": "1",
"all_county_criminal_search": false,
"national_criminal_search": "1",
"sex_offender_search": "1",
"ssn_trace": "1",
"global_watchlist": "1",
"price": "2000",
"created_at": "2019-07-03T11:07:27.000Z",
"updated_at": "2019-11-11T11:53:39.000Z"
},
{
"id": "4",
"name": "platinum",
"employment": null,
"education": "1",
"professional_license": "0",
"civil_court": "0",
"driving_license": "0",
"county_criminal_search": "0",
"all_county_criminal_search": true,
"national_criminal_search": "1",
"sex_offender_search": "1",
"ssn_trace": "1",
"global_watchlist": "1",
"price": "3000",
"created_at": "2019-07-03T11:07:27.000Z",
"updated_at": "2019-11-11T11:53:39.000Z"
},
{
"id": "5",
"name": "diamond",
"employment": null,
"education": "1",
"professional_license": "0",
"civil_court": "1",
"driving_license": "0",
"county_criminal_search": "0",
"all_county_criminal_search": true,
"national_criminal_search": "1",
"sex_offender_search": "1",
"ssn_trace": "1",
"global_watchlist": "1",
"price": "4000",
"created_at": "2019-07-03T11:07:27.000Z",
"updated_at": "2019-11-11T11:53:39.000Z"
}
],
"prices": {
"id": "1",
"env": "development",
"passport": 200,
"driving_license": 200,
"enhanced_driving_license": 200,
"kba": 400,
"employment": 750,
"education": 750,
"professional_license": 500,
"civil_court": 1000,
"one_county_criminal_search": 1000,
"all_county_criminal_search": 1000,
"county_criminal_search": 1000,
"package": "",
"created_at": "2019-07-03T11:07:27.000Z",
"updated_at": "2019-09-18T13:27:52.000Z"
}
}
}
This API is used to get the available pricing plans and packages.
Invite candidates
curl --location --request POST 'https://api.us.springverify.com/v2-api/company/employee/invite' \
--header 'Authorization: Bearer JWT_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"package": "silver",
"email_list": [
"john1986@gmail.com"
],
"add_ons": {
"employment": 0,
"education": 1,
"license": 2,
"driving_license": 0,
"civil_court": 1,
"county_criminal_search": 0,
"all_county_criminal_search": true,
"MVR": true,
"professional_reference": [
1
]
}
}'
// FETCH
var myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer JWT_TOKEN");
myHeaders.append("Content-Type", "application/json");
var raw = JSON.stringify({
"package": "silver",
"email_list": [
"john1986@gmail.com"
],
"add_ons": {
"employment": 0,
"education": 1,
"license": 2,
"driving_license": 0,
"civil_court": 1,
"county_criminal_search": 0,
"all_county_criminal_search": true,
"MVR": true,
"professional_reference": [
1
]
}
});
var requestOptions = {
method: 'POST',
headers: myHeaders,
body: raw,
redirect: 'follow'
};
fetch("https://api.us.springverify.com/v2-api/company/employee/invite", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
// REQUEST
var request = require('request');
var options = {
'method': 'POST',
'url': 'https://api.us.springverify.com/v2-api/company/employee/invite',
'headers': {
'Authorization': 'Bearer JWT_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"package": "silver",
"email_list": [
"john1986@gmail.com"
],
"add_ons": {
"employment": 0,
"education": 1,
"license": 2,
"driving_license": 0,
"civil_court": 1,
"county_criminal_search": 0,
"all_county_criminal_search": true,
"MVR": true,
"professional_reference": [
1
]
}
})
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
<?php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('https://api.us.springverify.com/v2-api/company/employee/invite');
$request->setMethod(HTTP_Request2::METHOD_POST);
$request->setConfig(array(
'follow_redirects' => TRUE
));
$request->setHeader(array(
'Authorization' => 'Bearer JWT_TOKEN',
'Content-Type' => 'application/json'
));
$request->setBody('{
\n "package": "silver",
\n "email_list": [
\n "john1986@gmail.com"
\n ],
\n "add_ons": {
\n "employment": 0,
\n "education": 1,
\n "license": 2,
\n "driving_license": 0,
\n "civil_court": 1,
\n "county_criminal_search": 0,
\n "all_county_criminal_search": true,
\n "MVR": true,
\n "professional_reference": [
\n 1
\n ]
\n }
\n}');
try {
$response = $request->send();
if ($response->getStatus() == 200) {
echo $response->getBody();
}
else {
echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
$response->getReasonPhrase();
}
}
catch(HTTP_Request2_Exception $e) {
echo 'Error: ' . $e->getMessage();
}
import requests
import json
url = "https://api.us.springverify.com/v2-api/company/employee/invite"
payload = json.dumps({
"package": "silver",
"email_list": [
"john1986@gmail.com"
],
"add_ons": {
"employment": 0,
"education": 1,
"license": 2,
"driving_license": 0,
"civil_court": 1,
"county_criminal_search": 0,
"all_county_criminal_search": True,
"MVR": True,
"professional_reference": [
1
]
}
})
headers = {
'Authorization': 'Bearer JWT_TOKEN',
'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
require "uri"
require "json"
require "net/http"
url = URI("https://api.us.springverify.com/v2-api/company/employee/invite")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer JWT_TOKEN"
request["Content-Type"] = "application/json"
request.body = JSON.dump({
"package": "silver",
"email_list": [
"john1986@gmail.com"
],
"add_ons": {
"employment": 0,
"education": 1,
"license": 2,
"driving_license": 0,
"civil_court": 1,
"county_criminal_search": 0,
"all_county_criminal_search": true,
"MVR": true,
"professional_reference": [
1
]
}
})
response = https.request(request)
puts response.read_body
Success Response:
{
"success": true,
"data": {
"price": 7350,
"id": "ac61bbd6-8c59-456e-81b8-c6c9350e3ca7",
"count": 1,
"employees": [
{
"id": "725ecae7-7633-482c-8638-0bb9821ca458",
"email": "john1986@gmail.com"
}
]
}
}
This API is used to invite existing and/or prospective candidates to get their profiles verified. It can be used to invite candidates in bulk. However, emails will be sent to the candidates only once the payment is successfully completed.
URL Parameters
Parameter | Type | Description |
---|---|---|
email_list | array |
Contains a list of the email addresses of the candidates to be contacted |
package | string |
Name of the package as retrieved from the Get available packages API |
add_ons | object |
To add additional services into the retrieved package |
Response Parameters
Parameter | Type | Description |
---|---|---|
price | number |
The price (in cents) that is to be paid |
id | string |
The reference ID against which the payment is being made |
count | number |
The total number of candidates that are being verified |
employees | array |
Id and email id of invited candidates |
Save Credit Card in Stripe for Payments
curl --location --request POST 'https://api.stripe.com/v1/tokens' \
--header 'Authorization: Bearer STRIPE_TOKEN' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'card[number]=4242424242424242' \
--data-urlencode 'card[exp_month]=12' \
--data-urlencode 'card[exp_year]=2020' \
--data-urlencode 'card[cvc]=123'
// FETCH
var fetch = require('node-fetch');
fetch('https://api.stripe.com/v1/tokens', {
headers: {
'Authorization': 'Bearer STRIPE_TOKEN',
'Content-Type': 'application/x-www-form-urlencoded'
}
});
// REQUEST
var request = require('request');
var headers = {
'Authorization': 'Bearer STRIPE_TOKEN',
'Content-Type': 'application/x-www-form-urlencoded'
};
var options = {
url: 'https://api.stripe.com/v1/tokens',
headers: headers
};
function callback(error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body);
}
}
request(options, callback);
<?php
include('vendor/rmccue/requests/library/Requests.php');
Requests::register_autoloader();
$headers = array(
'Authorization' => 'Bearer STRIPE_TOKEN',
'Content-Type' => 'application/x-www-form-urlencoded'
);
$response = Requests::get('https://api.stripe.com/v1/tokens', $headers);
import requests
headers = {
'Authorization': 'Bearer STRIPE_TOKEN',
'Content-Type': 'application/x-www-form-urlencoded',
}
response = requests.get('https://api.stripe.com/v1/tokens', headers=headers)
require 'net/http'
require 'uri'
uri = URI.parse("https://api.stripe.com/v1/tokens")
request = Net::HTTP::Post.new(uri)
request.content_type = "application/x-www-form-urlencoded"
request["Authorization"] = "Bearer STRIPE_TOKEN"
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
# response.code
# response.body
Success Response
{
"id": "tok_1GidnJ4wweuFtc0n81Lzq51P",
"object": "token",
"card": {
"id": "card_1GidnJ4wweuFtc0nu2WUlvc5",
"object": "card",
"address_city": null,
"address_country": null,
"address_line1": null,
"address_line1_check": null,
"address_line2": null,
"address_state": null,
"address_zip": null,
"address_zip_check": null,
"brand": "Visa",
"country": "US",
"customer": null,
"cvc_check": null,
"dynamic_last4": null,
"exp_month": 12,
"exp_year": 2020,
"fingerprint": "hV2YANZB970jzVzt",
"funding": "credit",
"last4": "4242",
"metadata": {},
"name": null,
"tokenization_method": null
},
"client_ip": "106.51.30.155",
"created": 1589450161,
"livemode": false,
"type": "card",
"used": false
}
This API is used to register the credit card with Stripe for payments. If this API call is successful, the response generated will include an id
parameter that is used in the Payment for Invites API.
Parameter | Type | Environment | Value |
---|---|---|---|
STRIPE_TOKEN | string |
Development | pk_test_51H1niLFq1aDrrzKzoQEG7espm3z3HirSoy5IJl8tWbxJk18pZDx67Y70mCynyLKOrEJFWarCiVSigW9RuW1bqdeU00lRNETXxe |
STRIPE_TOKEN | string |
Acceptance | pk_test_51H1niLFq1aDrrzKzoQEG7espm3z3HirSoy5IJl8tWbxJk18pZDx67Y70mCynyLKOrEJFWarCiVSigW9RuW1bqdeU00lRNETXxe |
STRIPE_TOKEN | string |
Production | pk_live_51H1niLFq1aDrrzKztsRsWduNwtnBIIuRWSdeAJtIsgFefyWukEuqx8J6T8djCLiHAMDNNvdKpYkdiqq7iP9hwtCK00VdWazMPg |
Save payment info
curl --location --request POST 'https://api.us.springverify.com/v2-api/company/payment/save-card' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer JWT_TOKEN' \
--data-raw '{
"source": "tok_1JVaS4Fq1aDrrzKzGgJoW577"
}'
// FETCH
var myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");
myHeaders.append("Authorization", "Bearer");
var raw = JSON.stringify({
"source": "tok_1JVaS4Fq1aDrrzKzGgJoW577"
});
var requestOptions = {
method: 'POST',
headers: myHeaders,
body: raw,
redirect: 'follow'
};
fetch("https://api.us.springverify.com/v2-api/company/payment/save-card", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
// REQUEST
var request = require('request');
var options = {
'method': 'POST',
'url': 'https://api.us.springverify.com/v2-api/company/payment/save-card',
var headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer JWT_TOKEN'
};
body: JSON.stringify({
"source": "tok_1JVaS4Fq1aDrrzKzGgJoW577"
})
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
<?php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('https://api.us.springverify.com/v2-api/company/payment/save-card');
$request->setMethod(HTTP_Request2::METHOD_POST);
$request->setConfig(array(
'follow_redirects' => TRUE
));
$request->setHeader(array(
'Content-Type' => 'application/json',
'Authorization' => 'Bearer JWT_TOKEN'
));
$request->setBody('{\n "source": "tok_1JVaS4Fq1aDrrzKzGgJoW577"\n}');
try {
$response = $request->send();
if ($response->getStatus() == 200) {
echo $response->getBody();
}
else {
echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
$response->getReasonPhrase();
}
}
catch(HTTP_Request2_Exception $e) {
echo 'Error: ' . $e->getMessage();
}
require "uri"
require "json"
require "net/http"
url = URI("https://api.us.springverify.com/v2-api/company/payment/save-card")
http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Post.new(url)
request["Content-Type"] = "application/json"
request["Authorization"] = "Bearer JWT_TOKEN"
request.body = JSON.dump({
"source": "tok_1JVaS4Fq1aDrrzKzGgJoW577"
})
response = http.request(request)
puts response.read_body
Success Response
{
"success": true,
"data": {
"id": "091cfd15-bf84-4d6d-b842-5e0f37e0c20b",
"company_id_fk": 53,
"stripe_card_id": "card_1JVaS4Fq1aDrrzKzPT0xUbQO",
"default": true,
"updated_at": "2021-09-03T11:21:25.446Z",
"created_at": "2021-09-03T11:21:25.446Z"
}
}
To save the token received from the Save Credit Card in Stripe for Payments, use this API.
URL Parameters
Parameter | Type | Description |
---|---|---|
source | token |
Token is genrated when you save payment details to stripe. |
Payment For Invites
curl --location --request POST 'https://api.us.springverify.com/v2-api/company/payment/charge-user' \
--header 'Authorization: Bearer JWT_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"id": "009656e5-a327-4513-9a0c-d588a4ed2fdc",
"send_email": false
}'
// FETCH
var myHeaders = new Headers();
myHeaders.append("Authorization":'Bearer JWT_TOKEN');
myHeaders.append("Content-Type", "application/json");
var raw = JSON.stringify({
"id": "009656e5-a327-4513-9a0c-d588a4ed2fdc",
"send_email": false
});
var requestOptions = {
method: 'POST',
headers: myHeaders,
body: raw,
redirect: 'follow'
};
fetch("https://api.us.springverify.com/v2-api/company/payment/charge-user", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
// REQUEST
var request = require('request');
var options = {
'method': 'POST',
'url': 'https://api.us.springverify.com/v2-api/company/payment/charge-user',
'headers': {
'Authorization': 'Bearer JWT_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"id": "009656e5-a327-4513-9a0c-d588a4ed2fdc",
"send_email": false
})
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
<?php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('https://api.us.springverify.com/v2-api/company/payment/charge-user');
$request->setMethod(HTTP_Request2::METHOD_POST);
$request->setConfig(array(
'follow_redirects' => TRUE
));
$request->setHeader(array(
'Authorization' => 'Bearer JWT_TOKEN',
'Content-Type' => 'application/json'
));
$request->setBody('{
\n "id": "009656e5-a327-4513-9a0c-d588a4ed2fdc",
\n "send_email": false
\n}');
try {
$response = $request->send();
if ($response->getStatus() == 200) {
echo $response->getBody();
}
else {
echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
$response->getReasonPhrase();
}
}
catch(HTTP_Request2_Exception $e) {
echo 'Error: ' . $e->getMessage();
}
require "uri"
require "json"
require "net/http"
url = URI("https://api.us.springverify.com/v2-api/company/payment/charge-user")
http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer JWT_TOKEN'
request["Content-Type"] = "application/json"
request.body = JSON.dump({
"id": "009656e5-a327-4513-9a0c-d588a4ed2fdc",
"send_email": false
})
response = http.request(request)
puts response.read_body
Success Response
{
"links": [
{
"email": "www@yopmail.com",
"link": "http://localhost:3000/candidate/personal-details?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjoid3d3QHlvcG1haWwuY29tIiwiaWF0IjoxNjMwNjYzNTYyLCJleHAiOjE2MzQyNjM1NjJ9.mh1i6wApq14FDYAymRZ7lYMUnrcP2imUmX-UTkMBhO8",
"id": "f75beef7-a8ee-44d4-a15d-0b5d4391c135"
}
]
}
Once a candidate has been invited to get themselves verified, the verification must be paid for. This API is used for the payment purpose and must be called immediately after the Invite Candidates API. Payments will be processed using the details from the Save Credit Card in Stripe for Payments API. The reference ID retrieved from the "Invite Candidates" API is used here. Emails to candidates requesting verification will be sent only after the payment is successful.
If the send_email
field is set to false
, the API will return the verification links of the candidates in the response.
If you have a coupon code you can enter it here.
URL Parameters
Parameter | Type | Description |
---|---|---|
id | string |
The reference ID retrieved from the Invite Candidates API. |
send_email | boolean |
true -- sends emails to the candidates. |
false -- returns the verifications links of the candidates. |
||
coupon_code | string |
(Optional) Any coupon code that the admin has for discounted pricing |
Get Single Candidate
curl --location --request GET 'https://api.us.springverify.com/company/employee?id=EMPLOYEE_ID' \
--header 'Authorization: Bearer JWT_TOKEN' \
--data-raw ''
// FETCH
var fetch = require('node-fetch');
fetch('https://api.us.springverify.com/company/employee?id=EMPLOYEE_ID', {
method: 'POST',
headers: {
'Authorization': 'Bearer JWT_TOKEN'
}
});
// REQUEST
var request = require('request');
var headers = {
'Authorization': 'Bearer JWT_TOKEN'
};
var options = {
url: 'https://api.us.springverify.com/company/employee?id=EMPLOYEE_ID',
method: 'POST',
headers: headers
};
function callback(error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body);
}
}
request(options, callback);
<?php
include('vendor/rmccue/requests/library/Requests.php');
Requests::register_autoloader();
$headers = array(
'Authorization' => 'Bearer JWT_TOKEN'
);
$data = array(
);
$response = Requests::post('https://api.us.springverify.com/company/employee?id=EMPLOYEE_ID', $headers, $data);
import requests
headers = {
'Authorization': 'Bearer JWT_TOKEN',
}
params = (
('id', 'EMPLOYEE_ID'),
)
response = requests.post('https://api.us.springverify.com/company/employee', headers=headers, params=params)
require 'net/http'
require 'uri'
uri = URI.parse("https://api.us.springverify.com/company/employee?id=EMPLOYEE_ID")
request = Net::HTTP::Get.new(uri)
request["Authorization"] = "Bearer JWT_TOKEN"
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
# response.code
# response.body
Success Response
{
"success": true,
"data": {
"employee": {
"id": "cc712be5-d433-414e-b5aa-00d65d9f0e4a",
"email": "johndoe@email.com",
"first_name": "Employee",
"middle_name": "M",
"last_name": "One",
"created_at": "2021-07-03T08:44:03.000Z",
"employer_id": "df74c56d-8a9e-4106-9c6f-4e456822481a",
"status": "PENDING",
"flow_completed": true,
"company_created_by": null,
"added_by_fk": {
"email": "karthik.raj+ca@springworks.in",
"first_name": "Karthik",
"last_name": "Raj"
},
"deleted_at": null,
"pricing": {
"package": "bronze",
"package_price": 750,
"total_price": 4700,
"add_on_price": {
"employment": {
"count": 1,
"price": 750
},
"education": {
"count": 1,
"price": 750
},
"professional_license": {
"count": 1,
"price": 500
},
"all_county_criminal_search": {
"count": 0,
"price": 0
},
"county_criminal_search": {
"count": 0,
"price": 0
},
"civil_court": {
"count": 1,
"price": 1000
},
"driving_license": {
"count": 0,
"price": 0
},
"mvr": {
"count": 1,
"price": 350,
"state_fee": 600
},
"professional_reference": {
"count": null,
"price": 0
}
},
"charged_price": {
"total": 4700,
"total_without_additional_charge": 4100,
"coupon": null,
"discount": 0,
"discount_amount": 0
}
},
"refund_amount": 4100,
"bgv_link": BGV_LINK,
"checks": {
"criminal_check_last_run": "2021-07-03T09:03:21.000Z",
"criminal_checks": {
"national_criminal": {
"status": "PENDING"
},
"sex_offender": {
"status": "PENDING"
},
"global_watchlist": {
"status": "PENDING"
},
"country_criminal_search": {},
"civil_court": {
"status": "ACTION_PENDING",
"adverse_action": {
"cleared": null,
"id": "cbbcefa7-1b68-44e3-a690-d5907f5a158d"
},
"sjv_criminal_reports": []
}
},
"employments": [
{
"id": "ececd24c-9e5a-4cf2-b407-cd3000e0c4ac",
"email": "johndoe@email.com",
"employer_name": "Company1",
"employer_phone": "1-4567434567",
"employer_address": "Texarkana, TX, USA",
"employer_town": "Texarkana",
"state": "TX",
"employer_country": "United States",
"job_title": "QA",
"start_date": "01-01-2000",
"end_date": "01-01-2011",
"supervisor_name": "contact1",
"supervisor_contact": "contact1@company1.com",
"consent": false,
"adverse_action": {
"status": "PENDING",
"cleared": null,
"id": "fe52c032-8641-4fea-8ce4-0b3e8c81c583"
},
"status": "ACTION_PENDING"
}
],
"professional_references": [],
"educations": [],
"professional_licenses": [],
"motor_vehicle_record": {
"status": "FINAL_CALL",
"id": "e2d7d3d5-c56a-46a8-a940-945fb91725ce",
"license_number": "123123123",
"state": "AZ",
"authenticating_response": "{\"state\":\"FL\",\"record_type\":\"THREE YEAR\",\"product\":\"DL\",\"first_name\":\"JOHN\",\"last_name\":\"DOE\",\"birth_date\":\"1960-01-30T00:00:00.000Z\",\"is_clear\":\"N\",\"valid\":\"Y\",\"returned_date\":\"31-10-2020\",\"current_license\":{\"license_number\":\"W544781114100\",\"license_number_verified\":true,\"issue_date\":\"11-12-2000\",\"issue_date_verified\":true,\"expiration_date\":\"10-12-2010\",\"expiration_date_verified\":true,\"class_description\":\"REGULAR OPERATOR\",\"class_description_verified\":true,\"class_code\":\"E\",\"class_code_verified\":true,\"has_driver_training\":null,\"status\":\"REVOKED\"},\"violations\":[{\"common\":{\"subtype\":\"VIOL\",\"state\":{\"abbrev\":\"AK\",\"full\":\"ALASKA\"},\"date\":{\"year\":2005,\"month\":9,\"day\":10},\"location\":\"FAIRBANKS\",\"iscommercial\":\"N\",\"docketnumber\":\"B1220012\"},\"descriptionlist\":{\"descriptionitem\":{\"adrlargedescription\":\"IMP/NO SAFETY BELT\",\"adrsmalldescription\":\"IMP/NO SAFETY BELT\",\"statedescription\":\"IMP/NO SAFETY BELT\",\"acd\":\"F04\",\"avd1\":\"EB02\",\"avd2\":\"EB02\"}},\"violation\":{\"convictiondate\":{\"year\":2005,\"month\":9,\"day\":26},\"courttype\":\"DISTRICT COURT\",\"fineamount\":\"$15\"}},{\"common\":{\"subtype\":\"VIOL\",\"state\":{\"abbrev\":\"AK\",\"full\":\"ALASKA\"},\"date\":{\"year\":2006,\"month\":1,\"day\":22},\"iscommercial\":\"N\",\"docketnumber\":\"A0000221\"},\"descriptionlist\":{\"descriptionitem\":{\"adrlargedescription\":\"RECKLESS DRIVING\",\"adrsmalldescription\":\"RECKLESS DRIVING\",\"statedescription\":\"RECKLESS DRIVING\",\"acd\":\"M84\",\"avd1\":\"MK05\",\"avd2\":\"MK05\"}},\"violation\":{\"convictiondate\":{\"year\":2006,\"month\":6,\"day\":2},\"courttype\":\"DISTRICT COURT\",\"fineamount\":\"$500\"}},{\"common\":{\"subtype\":\"REVOCATION\",\"state\":{\"abbrev\":\"AK\",\"full\":\"ALASKA\"},\"date\":{\"year\":2003,\"month\":12,\"day\":5},\"location\":\"NORTH POLE\"},\"descriptionlist\":{\"descriptionitem\":{\"adrlargedescription\":\"ADMIN PER SE .08\",\"adrsmalldescription\":\"ADMIN PER SE .08\",\"statedescription\":\"ADMIN PER SE .08\",\"acd\":\"A90\",\"avd1\":\"CB10\",\"avd2\":\"CB10\"}},\"action\":{\"cleardate\":{\"year\":2004,\"month\":3,\"day\":3},\"offensedate\":{\"year\":2003,\"month\":8,\"day\":23}}},{\"common\":{\"subtype\":\"REVOCATION\",\"state\":{\"abbrev\":\"AK\",\"full\":\"ALASKA\"},\"date\":{\"year\":2006,\"month\":5,\"day\":27}},\"descriptionlist\":{\"descriptionitem\":{\"adrlargedescription\":\"ADMIN PER SE .08\",\"adrsmalldescription\":\"ADMIN PER SE .08\",\"statedescription\":\"ADMIN PER SE .08\",\"acd\":\"A90\",\"avd1\":\"CB10\",\"avd2\":\"CB10\"}},\"action\":{\"cleardate\":{\"year\":2006,\"month\":8,\"day\":24},\"offensedate\":{\"year\":2006,\"month\":1,\"day\":22}}},{\"common\":{\"subtype\":\"REVOCATION\",\"state\":{\"abbrev\":\"AK\",\"full\":\"ALASKA\"},\"date\":{\"year\":2006,\"month\":5,\"day\":27},\"docketnumber\":\"A0000221\"},\"descriptionlist\":{\"descriptionitem\":{\"adrlargedescription\":\"RECKLESS DRIVING\",\"adrsmalldescription\":\"RECKLESS DRIVING\",\"statedescription\":\"RECKLESS DRIVING\",\"acd\":\"M84\",\"avd1\":\"MK05\",\"avd2\":\"MK05\"}},\"action\":{\"cleardate\":{\"year\":2006,\"month\":8,\"day\":24},\"offensedate\":{\"year\":2006,\"month\":1,\"day\":22}}},{\"common\":{\"subtype\":\"WARNING\",\"state\":{\"abbrev\":\"AK\",\"full\":\"ALASKA\"},\"date\":{\"year\":2006,\"month\":8,\"day\":5}},\"descriptionlist\":{\"descriptionitem\":{\"adrlargedescription\":\"POINT SYS WARNING\",\"adrsmalldescription\":\"POINT SYS WARNING\",\"statedescription\":\"POINT SYS WARNING\",\"acd\":\"W01\",\"avd1\":\"UH19\",\"avd2\":\"UH24\"}}}]}",
"mvr_manual_review": {
"id": "a31e272a-e69e-443a-85ee-83fb687e21c1",
"reason": null,
"manual_review": {
"id": "4ad6e4df-9443-47ab-bd22-a933b75931a3"
}
},
"adverse_action": {
"id": "1ef15e2c-16f3-4c93-991d-3f53952e6962",
"check_id": "e2d7d3d5-c56a-46a8-a940-945fb91725ce",
"status": "FINAL_CALL",
"type": "MVR",
"cleared": null,
"comments": null,
"created_at": "2021-07-29T05:52:13.000Z",
"updated_at": "2021-07-29T07:14:26.000Z",
"deleted_at": null
}
}
},
"employee_limit": {
"id": "4dd3e5b2-1df2-4004-a1a5-714bac305a3c",
"employment": 1,
"mvr": true,
"education": 1,
"professional_license": 1,
"all_county_criminal_search": false,
"county_criminal_search": 0,
"civil_court": 1,
"driving_license": 0,
"package_id": null,
"professional_reference": null,
"employee_invite_group": {
"id": "f337cac5-0b91-4463-8cfd-2a4005df11ab",
"package": "bronze"
}
},
"employee_detail": {
"id": "46db165e-737a-4107-80fd-3648b08e390b",
"address": "2233, street",
"city": "city",
"state": "IN",
"zipcode": "12345",
"country": null,
"birthdate": "01-01-1990",
"phone": "1-8765433223",
"ssn": "6789"
},
"employee_verification": {
"id": "7b22379e-7368-4676-a54e-905e864b6165",
"verification_type": "id",
"address": null,
"city": null,
"state": null,
"zipcode": null,
"country": null,
"birthdate": null,
"global_watchlist_verified": null,
"is_report_checked": false,
"summary_of_rights_accepted": true,
"background_check_disclosure_accepted": true,
"id_manual_review": null,
"consent_link": "CONSENT_LINK",
"verified_id_type": "PASSPORT",
"id_status": "VERIFIED"
},
"s3_files": [
{
"id": "2096d257-d6e5-41ed-a47f-6e3680c14e87",
"type": "ID",
"sub_type": "FRONT",
"link": "S3_LINK",
"deleted_at": null,
"file_name": "success-b5ac7a51-db2a-40f4-9f94-21bce793b4e9-passport.jpg",
"id_type": "PASSPORT"
}
],
"archived_by": null,
"bgv_form_progress": {
"total": 6,
"filled": 0
}
},
"adverse_action_pending_count": 3
}
}
When the details of a specific candidate whose profile is already verified is to be retrieved, use this API. This API retrieves the details of the candidate that have been verified, as well as the pricing package in which the candidate's profile was verified, along with the date of the most recent verification.
URL Parameters
Parameter | Type | Description |
---|---|---|
id | uuid |
Contains the unique ID of the candidate. |
Search Candidate
curl --location --request POST 'https://api.us.springverify.com/company/employee/search' \
--header 'Authorization: Bearer JWT_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"search":"johndoe@gmail.com"
}'
// FETCH
var fetch = require('node-fetch');
fetch('https://api.us.springverify.com/company/employee/search', {
method: 'POST',
headers: {
'Authorization': 'Bearer JWT_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({ "search":"johndoe@gmail.com" })
});
// REQUEST
var request = require('request');
var headers = {
'Authorization': 'Bearer JWT_TOKEN',
'Content-Type': 'application/json'
};
var dataString = '{ "search":"johndoe@gmail.com" }';
var options = {
url: 'https://api.us.springverify.com/company/employee/search',
method: 'POST',
headers: headers,
body: dataString
};
function callback(error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body);
}
}
request(options, callback);
<?php
include('vendor/rmccue/requests/library/Requests.php');
Requests::register_autoloader();
$headers = array(
'Authorization' => 'Bearer JWT_TOKEN',
'Content-Type' => 'application/json'
);
$data = '{ "search":"johndoe@gmail.com" }';
$response = Requests::post('https://api.us.springverify.com/company/employee/search', $headers, $data);
import requests
headers = {
'Authorization': 'Bearer JWT_TOKEN',
'Content-Type': 'application/json',
}
data = '{ "search":"johndoe@gmail.com" }'
response = requests.post('https://api.us.springverify.com/company/employee/search', headers=headers, data=data)
require 'net/http'
require 'uri'
uri = URI.parse("https://api.us.springverify.com/company/employee/search")
request = Net::HTTP::Post.new(uri)
request.content_type = "application/json"
request["Authorization"] = "Bearer JWT_TOKEN"
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
# response.code
# response.body
Success Response
{
"success": true,
"data": [
{
"id": "478543b4-43b0-45bd-82db-dc4ce0ff193c",
"email": "a13@yopmail.com",
"first_name": "Steven",
"middle_name": "Brandon",
"last_name": "Ward",
"status": "PENDING",
"employee_limit": {
"id": "63d34d43-794f-49c6-8de9-327935156076",
"employee_invite_group": {
"id": "c35d4851-8f23-4779-9310-a913bda6b1af",
"package": "bronze"
}
}
},
{
"id": "f29aebee-df87-4cae-8779-7e6c48345d1d",
"email": "testdata1@yopmail.com",
"first_name": "Steven",
"middle_name": "Brandon",
"last_name": "Ward",
"status": null,
"employee_limit": {
"id": "149913a5-8bf1-4ca5-ba5b-3fb412cd68fa",
"employee_invite_group": {
"id": "f33cc6ab-c8d1-4535-b80a-b9f2cd45a319",
"package": "diamond"
}
}
}
]
}
This API searches and retrieves the profile of a specific candidate that is already verified.
URL Parameters
Parameter | Type | Description |
---|---|---|
search | string |
Search term which returns record after matching first name, middle name, last name or email |
Get company action
curl --location --request POST 'https://api.us.springverify.com/company/actions' \
--header 'Authorization: Bearer JWT_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"limit":10,
"offset":0
}'
// FETCH
var fetch = require('node-fetch');
fetch('https://api.us.springverify.com/company/actions', {
method: 'POST',
headers: {
'Authorization': 'Bearer JWT_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({ "limit":10, "offset":0 })
});
// REQUEST
var request = require('request');
var headers = {
'Authorization': 'Bearer JWT_TOKEN',
'Content-Type': 'application/json'
};
var dataString = '{ "limit":10, "offset":0 }';
var options = {
url: 'https://api.us.springverify.com/company/actions',
method: 'POST',
headers: headers,
body: dataString
};
function callback(error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body);
}
}
request(options, callback);
<?php
include('vendor/rmccue/requests/library/Requests.php');
Requests::register_autoloader();
$headers = array(
'Authorization' => 'Bearer JWT_TOKEN',
'Content-Type' => 'application/json'
);
$data = '{ "limit":10, "offset":0 }';
$response = Requests::post('https://api.us.springverify.com/company/actions', $headers, $data);
import requests
headers = {
'Authorization': 'Bearer JWT_TOKEN',
'Content-Type': 'application/json',
}
data = '{ "limit":10, "offset":0 }'
response = requests.post('https://api.us.springverify.com/company/actions', headers=headers, data=data)
require 'net/http'
require 'uri'
uri = URI.parse("https://api.us.springverify.com/company/actions")
request = Net::HTTP::Post.new(uri)
request.content_type = "application/json"
request["Authorization"] = "Bearer JWT_TOKEN"
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
# response.code
# response.body
Success Response
{
"success": true,
"data": [
{
"string": "identity verification failed. (using their driving license)",
"time": "2020-08-27T05:59:02.000Z",
"id": "9282698a-72ac-49df-a750-85c169bfe08e",
"first_name": "John",
"middle_name": "Mark",
"last_name": "Smith",
"email": "johndoe@gmail.com"
},
{
"string": "identity verification failed. (using their driving license)",
"time": "2020-08-27T05:59:02.000Z",
"id": "9282698a-72ac-49df-a750-85c169bfe08e",
"first_name": "John",
"middle_name": "Mark",
"last_name": "Smith",
"email": "johndoe@gmail.com"
},
{
"string": "identity verification failed. (using their driving license)",
"time": "2020-08-27T05:59:02.000Z",
"id": "9282698a-72ac-49df-a750-85c169bfe08e",
"first_name": "John",
"middle_name": "Mark",
"last_name": "Smith",
"email": "johndoe@gmail.com"
},
{
"string": "has successfully verified their identity. (using their driving license)",
"time": "2020-08-27T05:57:03.000Z",
"id": "9282698a-72ac-49df-a750-85c169bfe08e",
"first_name": "John",
"middle_name": "Mark",
"last_name": "Smith",
"email": "johndoe@gmail.com"
},
{
"string": "has uploaded their driving license.",
"time": "2020-08-27T05:56:44.000Z",
"id": "9282698a-72ac-49df-a750-85c169bfe08e",
"first_name": "John",
"middle_name": "Mark",
"last_name": "Smith",
"email": "johndoe@gmail.com"
},
{
"string": "has entered personal details.",
"time": "2020-08-27T05:55:40.000Z",
"id": "9282698a-72ac-49df-a750-85c169bfe08e",
"first_name": "John",
"middle_name": "Mark",
"last_name": "Smith",
"email": "johndoe@gmail.com"
},
{
"string": "has been added as a candidate and invited to enter his information.",
"time": "2020-08-27T05:54:24.000Z",
"id": "9282698a-72ac-49df-a750-85c169bfe08e",
"first_name": "John",
"middle_name": "Mark",
"last_name": "Smith",
"email": "johndoe@gmail.com"
},
{
"string": "identity verification failed. (using their driving license)",
"time": "2020-08-27T04:29:02.000Z",
"id": "8bf63c9a-b89c-4dff-a03c-0d571dc4c47e",
"first_name": "John",
"middle_name": "Mark",
"last_name": "Smith",
"email": "johndoe@gmail.com"
},
{
"string": "identity verification failed. (using their driving license)",
"time": "2020-08-27T04:29:02.000Z",
"id": "8bf63c9a-b89c-4dff-a03c-0d571dc4c47e",
"first_name": "John",
"middle_name": "Mark",
"last_name": "Smith",
"email": "johndoe@gmail.com"
},
{
"string": "identity verification failed. (using their driving license)",
"time": "2020-08-27T04:29:02.000Z",
"id": "8bf63c9a-b89c-4dff-a03c-0d571dc4c47e",
"first_name": "John",
"middle_name": "Mark",
"last_name": "Smith",
"email": "johndoe@gmail.com"
}
]
}
This API informs an admin/s of the activities of a specific candidate in the following scenarios:
- The candidate has been invited to provide their information to initiate the verification.
- The candidate has entered their personal information.
- The candidate has successfully uploaded their driver's license.
- The candidate has successfully verified their identity using their driver's license.
- The candidate has failed to verify their identity using their driver's license.
Get Company Actions Pertaining to a candidate
curl --location --request POST 'https://api.us.springverify.com/company/actions' \
--header 'Authorization: Bearer JWT_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"limit":10,
"offset":0,
"email":"employee@email.com"
}'
// FETCH
var fetch = require('node-fetch');
fetch('https://api.us.springverify.com/company/actions', {
method: 'POST',
headers: {
'Authorization': 'Bearer JWT_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({ "limit":10, "offset":0, "email":"employee@email.com" })
});
// REQUEST
var request = require('request');
var headers = {
'Authorization': 'Bearer JWT_TOKEN',
'Content-Type': 'application/json'
};
var dataString = '{ "limit":10, "offset":0, "email":"employee@email.com" }';
var options = {
url: 'https://api.us.springverify.com/company/actions',
method: 'POST',
headers: headers,
body: dataString
};
function callback(error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body);
}
}
request(options, callback);
<?php
include('vendor/rmccue/requests/library/Requests.php');
Requests::register_autoloader();
$headers = array(
'Authorization' => 'Bearer JWT_TOKEN',
'Content-Type' => 'application/json'
);
$data = '{ "limit":10, "offset":0, "email":"employee@email.com" }';
$response = Requests::post('https://api.us.springverify.com/company/actions', $headers, $data);
import requests
headers = {
'Authorization': 'Bearer JWT_TOKEN',
'Content-Type': 'application/json',
}
data = '{ "limit":10, "offset":0, "email":"employee@email.com" }'
response = requests.post('https://api.us.springverify.com/company/actions', headers=headers, data=data)
require 'net/http'
require 'uri'
uri = URI.parse("https://api.us.springverify.com/company/actions")
request = Net::HTTP::Post.new(uri)
request.content_type = "application/json"
request["Authorization"] = "Bearer JWT_TOKEN"
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
# response.code
# response.body
Success Response
{
"success": true,
"data": [
{
"string": "employment check is in progress.",
"time": "2020-08-13T14:32:50.000Z",
"id": "298af70a-b3a3-4605-8789-37387bb276a1",
"first_name": "Mark",
"middle_name": "James",
"last_name": "Smith",
"email": "johhndoe@gmail.com"
},
{
"string": "education check is in progress.",
"time": "2020-08-13T14:32:08.000Z",
"id": "298af70a-b3a3-4605-8789-37387bb276a1",
"first_name": "Mark",
"middle_name": "James",
"last_name": "Smith",
"email": "johhndoe@gmail.com"
},
{
"string": "has entered their education.",
"time": "2020-08-13T14:31:34.000Z",
"id": "298af70a-b3a3-4605-8789-37387bb276a1",
"first_name": "Mark",
"middle_name": "James",
"last_name": "Smith",
"email": "johhndoe@gmail.com"
},
{
"string": "has entered their employment.",
"time": "2020-08-13T14:26:25.000Z",
"id": "298af70a-b3a3-4605-8789-37387bb276a1",
"first_name": "Mark",
"middle_name": "James",
"last_name": "Smith",
"email": "johhndoe@gmail.com"
},
{
"string": "has successfully verified their identity. (using their driving license)",
"time": "2020-08-13T14:24:44.000Z",
"id": "298af70a-b3a3-4605-8789-37387bb276a1",
"first_name": "Mark",
"middle_name": "James",
"last_name": "Smith",
"email": "johhndoe@gmail.com"
},
{
"string": "has uploaded their driving license.",
"time": "2020-08-13T14:23:15.000Z",
"id": "298af70a-b3a3-4605-8789-37387bb276a1",
"first_name": "Mark",
"middle_name": "James",
"last_name": "Smith",
"email": "johhndoe@gmail.com"
},
{
"string": "has entered personal details.",
"time": "2020-08-13T14:21:13.000Z",
"id": "298af70a-b3a3-4605-8789-37387bb276a1",
"first_name": "Mark",
"middle_name": "James",
"last_name": "Smith",
"email": "johhndoe@gmail.com"
},
{
"string": "has been added as a candidate and invited to enter his information.",
"time": "2020-08-13T14:19:32.000Z",
"id": "298af70a-b3a3-4605-8789-37387bb276a1",
"first_name": "Mark",
"middle_name": "James",
"last_name": "Smith",
"email": "johhndoe@gmail.com"
}
]
}
This API informs an admin/s of the activities of a specific candidate in the following scenarios:
- The candidate has been invited to provide their information to initiate the verification.
- The candidate has entered their personal information.
- The candidate has successfully uploaded their driver's license.
- The candidate has successfully verified their identity using their driver's license.
- The candidate has entered their education information.
- The candidate has entered their employment information.
- Verification for the education information has been initiated.
- Verification for the employment information has been initiated.
Get Company Candidates by Filter
curl --location --request POST 'https://api.us.springverify.com/company/employees' \
--header 'Authorization: Bearer JWT_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"limit":1,
"offset":0,
"filter":"NULL"
}'
// FETCH
var fetch = require('node-fetch');
fetch('https://api.us.springverify.com/company/employees', {
method: 'POST',
headers: {
'Authorization': 'Bearer JWT_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({ "limit":1, "offset":0, "filter":"NULL" })
});
// REQUEST
var request = require('request');
var headers = {
'Authorization': 'Bearer JWT_TOKEN',
'Content-Type': 'application/json'
};
var dataString = '{ "limit":1, "offset":0, "filter":"NULL" }';
var options = {
url: 'https://api.us.springverify.com/company/employees',
method: 'POST',
headers: headers,
body: dataString
};
function callback(error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body);
}
}
request(options, callback);
<?php
include('vendor/rmccue/requests/library/Requests.php');
Requests::register_autoloader();
$headers = array(
'Authorization' => 'Bearer JWT_TOKEN',
'Content-Type' => 'application/json'
);
$data = '{ "limit":1, "offset":0, "filter":"NULL" }';
$response = Requests::post('https://api.us.springverify.com/company/employees', $headers, $data);
import requests
headers = {
'Authorization': 'Bearer JWT_TOKEN',
'Content-Type': 'application/json',
}
data = '{ "limit":1, "offset":0, "filter":"NULL" }'
response = requests.post('https://api.us.springverify.com/company/employees', headers=headers, data=data)
require 'net/http'
require 'uri'
uri = URI.parse("https://api.us.springverify.com/company/employees")
request = Net::HTTP::Post.new(uri)
request.content_type = "application/json"
request["Authorization"] = "Bearer JWT_TOKEN"
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
# response.code
# response.body
Success Response
{
"success": true,
"data": {
"employees": [{
"id": "5d7bea97-fdca-4f2b-be32-72637a3491f4",
"email": "johbobby@Johns.com",
"first_name": "John",
"middle_name": "Bobby",
"last_name": "Johns",
"status": "PENDING",
"created_at": "2020-08-19T16:32:11.000Z",
"kbaqna": null,
"employments": [{
"status": 0,
"super_admin_status": null,
"status_new": null,
"super_admin_status_new": null,
"adverse_action": null
}],
"education": [{
"status": 3,
"super_admin_status": null,
"status_new": null,
"super_admin_status_new": null,
"adverse_action": null
}],
"professional_licenses": [],
"employee_limit": {
"employment": 2,
"education": 1,
"professional_license": 0,
"civil_court": 0,
"county_criminal_search": 0,
"all_county_criminal_search": true,
"employee_invite_group": {
"package": "platinum"
}
},
"employee_verification": {
"s3_passport_verified": null,
"s3_dl_verified": 1,
"verification_type": "id",
"super_admin_status": null,
"passport_status": null,
"dl_status": null,
"super_admin_status_new": null
},
"criminal_statuses": {
"national_criminal": "PENDING",
"sex_offender": "PENDING",
"global_watchlist": "PENDING",
"county_criminal_search": "PENDING"
},
"cic_criminal_records": [{
"id": "8b454419-8691-4688-9719-72571012978c",
"record_type": "SEX_OFFENDER",
"reviewed": false,
"adverse_action": {
"status": "CLOSED",
"cleared": false,
"id": "af1cef6e-e38f-4545-8fc4-6a31c0886b37"
}
},
{
"id": "ade7b7cd-c80c-4302-a2f0-6066f81322b3",
"record_type": "SEX_OFFENDER",
"reviewed": true,
"adverse_action": {
"status": "CLOSED",
"cleared": false,
"id": "af1cef6e-e38f-4545-8fc4-6a31c0886b37"
}
}
],
"sjv_criminal_reports": [{
"id": "428fc0d7-9122-4eed-8a76-a382be5e847f",
"sjv_search_type": "COUNTY_CRIMINAL",
"county_name": {
"county_name": "Ocean County"
},
"adverse_action": {
"status": "PENDING",
"cleared": null,
"id": "350849d9-24c2-40ea-ad20-d5654854fac9"
}
},
{
"id": "281edcbe-cdb4-411e-8d8e-87f7aea33b2a",
"sjv_search_type": "COUNTY_CRIMINAL_NOTIFICATION",
"county_name": null,
"adverse_action": null
},
{
"id": "96b6aef0-1114-4e5b-99a4-f9ed917504a2",
"sjv_search_type": "NATIONAL_CRIMINAL",
"county_name": {
"county_name": "Palm Beach County"
},
"adverse_action": null
}
]
}],
"count": 238
}
}
URL Parameters
Parameter | Type | Description |
---|---|---|
limit | integer |
Page limit |
offset | integer |
Page offset |
filter | string |
ALL/COMPLETED/VERIFIED/PENDING/NULL(AWAITING INPUT)/FAILED. |
Get Company Adverse Action Counts
curl --location --request GET 'https://api.us.springverify.com/company/action/adverse/counts' \
--header 'Authorization: Bearer JWT_TOKEN'
// FETCH
var fetch = require('node-fetch');
fetch('https://api.us.springverify.com/company/action/adverse/counts', {
headers: {
'Authorization': 'Bearer JWT_TOKEN'
}
});
// REQUEST
var request = require('request');
var headers = {
'Authorization': 'Bearer JWT_TOKEN'
};
var options = {
url: 'https://api.us.springverify.com/company/action/adverse/counts',
headers: headers
};
function callback(error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body);
}
}
request(options, callback);
<?php
include('vendor/rmccue/requests/library/Requests.php');
Requests::register_autoloader();
$headers = array(
'Authorization' => 'Bearer JWT_TOKEN'
);
$response = Requests::get('https://api.us.springverify.com/company/action/adverse/counts', $headers);
import requests
headers = {
'Authorization': 'Bearer JWT_TOKEN',
}
response = requests.get('https://api.us.springverify.com/company/action/adverse/counts', headers=headers)
require 'net/http'
require 'uri'
uri = URI.parse("https://api.us.springverify.com/company/action/adverse/counts")
request = Net::HTTP::Get.new(uri)
request["Authorization"] = "Bearer JWT_TOKEN"
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
# response.code
# response.body
Success Response
{
"message": "successfully retrieved count",
"data": {
"PENDING": {
"pendingCount": 4,
"totalCount": 8
},
"NOTICE_SENT": {
"pendingCount": 2,
"totalCount": 19
},
"IN_REVIEW": {
"pendingCount": 2,
"totalCount": 3
},
"FINAL_CALL": {
"pendingCount": 0,
"totalCount": 24
},
"CLOSED": {
"pendingCount": 5,
"totalCount": 30
}
}
}
This API gives the count of the total adverse actions that are/have been:
- closed -- the candidate's response has been accepted or rejected and the verification is completed.
- pending -- the candidate is to be informed of the issue; or the candidate's response is to be received.
- being reviewed -- the candidate's response is being reviewed.
- sent a notice -- the candidate has been informed of an issue with their verification.
- taken a final call on -- a decision has been taken by the company on the adverse action and is to be informed to the candidate.
Get Company Adverse Actions
curl --location --request POST 'https://api.us.springverify.com/company/action/adverse/fetch' \
--header 'Authorization: Bearer JWT_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"limit":10,
"offset":0,
"status":"PENDING"
}'
// FETCH
var fetch = require('node-fetch');
fetch('https://api.us.springverify.com/company/action/adverse/fetch', {
method: 'POST',
headers: {
'Authorization': 'Bearer JWT_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({ "limit":10, "offset":0, "status":"PENDING" })
});
// REQUEST
var request = require('request');
var headers = {
'Authorization': 'Bearer JWT_TOKEN',
'Content-Type': 'application/json'
};
var dataString = '{ "limit":10, "offset":0, "status":"PENDING" }';
var options = {
url: 'https://api.us.springverify.com/company/action/adverse/fetch',
method: 'POST',
headers: headers,
body: dataString
};
function callback(error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body);
}
}
request(options, callback);
<?php
include('vendor/rmccue/requests/library/Requests.php');
Requests::register_autoloader();
$headers = array(
'Authorization' => 'Bearer JWT_TOKEN',
'Content-Type' => 'application/json'
);
$data = '{ "limit":10, "offset":0, "status":"PENDING" }';
$response = Requests::post('https://api.us.springverify.com/company/action/adverse/fetch', $headers, $data);
import requests
headers = {
'Authorization': 'Bearer JWT_TOKEN',
'Content-Type': 'application/json',
}
data = '{ "limit":10, "offset":0, "status":"PENDING" }'
response = requests.post('https://api.us.springverify.com/company/action/adverse/fetch', headers=headers, data=data)
require 'net/http'
require 'uri'
uri = URI.parse("https://api.us.springverify.com/company/action/adverse/fetch")
request = Net::HTTP::Post.new(uri)
request.content_type = "application/json"
request["Authorization"] = "Bearer JWT_TOKEN"
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
# response.code
# response.body
Success Response
{
"success": true,
"data": {
"adverse_actions": [
{
"id": "ab5e647c-103f-4395-b316-2644f0ee7289",
"check_id": "f6b48659-d0a2-4a88-b5e3-a82e0b6e0ad8",
"status": "PENDING",
"type": "PROFESSIONAL_REFERENCE",
"cleared": null,
"comments": null,
"created_at": "2021-08-05T12:46:04.000Z",
"updated_at": "2021-08-05T12:46:04.000Z",
"deleted_at": null,
"education": null,
"employment": null,
"read_statuses": [],
"cic_criminal_records": [],
"sjv_criminal_reports": [],
"motor_vehicle_record": null,
"professional_reference": {
"id": "f6b48659-d0a2-4a88-b5e3-a82e0b6e0ad8",
"email": "manager@email.com",
"phone": "1-1234652545",
"name": "Reference",
"relation": "Manager",
"status": "FAILED",
"created_at": "2021-08-05T12:42:33.000Z",
"updated_at": "2021-08-05T12:46:04.000Z",
"employee": {
"first_name": "Employee",
"middle_name": "",
"last_name": "ProfRef",
"company_id_fk": 126,
"id": "cae5ad0d-65ec-40ee-83c8-9f30f4d79867",
"email": "karthik.raj+pr1@springworks.in"
}
},
"professional_license": null
},
{
"id": "d0f7011c-a92f-4cec-aa66-dc1f2402ee54",
"check_id": "912fc305-0636-42b4-b12c-b859a192e099",
"status": "PENDING",
"type": "EMPLOYMENT",
"cleared": null,
"comments": null,
"created_at": "2021-08-05T12:44:05.000Z",
"updated_at": "2021-08-05T12:44:05.000Z",
"deleted_at": null,
"education": null,
"employment": {
"id": "912fc305-0636-42b4-b12c-b859a192e099",
"email": "karthik.raj+pr1@springworks.in",
"access_id": null,
"employer_name": "Springworks",
"employer_name_verified": 0,
"employer_phone": "1-123123123",
"employer_phone_verified": null,
"employer_address": "Downtown Santa Monica, 1447 2nd Street, Santa Monica, CA, USA, some second street",
"employer_address_verified": 0,
"employer_town": "Santa Monica",
"employer_town_verified": 0,
"state": "CA",
"state_verified": null,
"zipcode": "90401",
"zipcode_verified": null,
"employer_country": "United States",
"employer_country_verified": 0,
"job_title": "QA",
"job_title_verified": 0,
"start_date": "01-01-2000",
"start_date_verified": 0,
"end_date": "01-01-2000",
"end_date_verified": 0,
"supervisor_name": "Random",
"supervisor_contact": "andom@random.com",
"current_employment": "0",
"current_employment_verified": 0,
"contract_type": null,
"contract_type_verified": "0",
"source": null,
"created_at": "2021-08-05T04:03:45.000Z",
"updated_at": "2021-08-05T12:44:05.000Z",
"job_type": "full time employee",
"reason_for_leaving": null,
"status": null,
"status_new": "MANUAL_REVIEW",
"super_admin_status": null,
"super_admin_status_new": "FAILED",
"consent": false,
"employee_id_fk": "cae5ad0d-65ec-40ee-83c8-9f30f4d79867",
"deleted_at": null,
"employee": {
"id": "cae5ad0d-65ec-40ee-83c8-9f30f4d79867",
"first_name": "Employee",
"middle_name": "",
"last_name": "ProfRef",
"email": "karthik.raj+pr1@springworks.in",
"company": {
"created_by": "karthik.raj+ca@springworks.in"
}
}
},
"read_statuses": [],
"cic_criminal_records": [],
"sjv_criminal_reports": [],
"motor_vehicle_record": null,
"professional_reference": null,
"professional_license": null
},
{
"id": "fe52c032-8641-4fea-8ce4-0b3e8c81c583",
"check_id": "ececd24c-9e5a-4cf2-b407-cd3000e0c4ac",
"status": "PENDING",
"type": "EMPLOYMENT",
"cleared": null,
"comments": null,
"created_at": "2021-07-29T07:16:28.000Z",
"updated_at": "2021-07-29T07:16:28.000Z",
"deleted_at": null,
"education": null,
"employment": {
"id": "ececd24c-9e5a-4cf2-b407-cd3000e0c4ac",
"email": "karthik.raj+e1@springworks.in",
"access_id": null,
"employer_name": "Company1",
"employer_name_verified": 0,
"employer_phone": "1-4567434567",
"employer_phone_verified": null,
"employer_address": "Texarkana, TX, USA",
"employer_address_verified": 0,
"employer_town": "Texarkana",
"employer_town_verified": 0,
"state": "TX",
"state_verified": null,
"zipcode": "75001",
"zipcode_verified": null,
"employer_country": "United States",
"employer_country_verified": 0,
"job_title": "QA",
"job_title_verified": 0,
"start_date": "01-01-2000",
"start_date_verified": 0,
"end_date": "01-01-2011",
"end_date_verified": 0,
"supervisor_name": "contact1",
"supervisor_contact": "contact1@company1.com",
"current_employment": "0",
"current_employment_verified": 0,
"contract_type": null,
"contract_type_verified": "0",
"source": null,
"created_at": "2021-07-03T09:45:40.000Z",
"updated_at": "2021-07-29T07:16:28.000Z",
"job_type": "full time employee",
"reason_for_leaving": null,
"status": null,
"status_new": "MANUAL_REVIEW",
"super_admin_status": null,
"super_admin_status_new": "FAILED",
"consent": false,
"employee_id_fk": "cc712be5-d433-414e-b5aa-00d65d9f0e4a",
"deleted_at": null,
"employee": {
"id": "cc712be5-d433-414e-b5aa-00d65d9f0e4a",
"first_name": "Employee",
"middle_name": "M",
"last_name": "One",
"email": "karthik.raj+e1@springworks.in",
"company": {
"created_by": "karthik.raj+ca@springworks.in"
}
}
},
"read_statuses": [],
"cic_criminal_records": [],
"sjv_criminal_reports": [],
"motor_vehicle_record": null,
"professional_reference": null,
"professional_license": null
},
{
"id": "cbbcefa7-1b68-44e3-a690-d5907f5a158d",
"check_id": null,
"status": "PENDING",
"type": "CIVIL_COURT",
"cleared": null,
"comments": null,
"created_at": "2021-07-03T10:56:22.000Z",
"updated_at": "2021-07-03T10:56:22.000Z",
"deleted_at": null,
"education": null,
"employment": null,
"read_statuses": [],
"cic_criminal_records": [],
"sjv_criminal_reports": [
{
"id": "01bbfda9-1d32-4245-9fb3-de4987f65616",
"employee_email_fk": "karthik.raj+e1@springworks.in",
"status": "RECEIVED",
"sjv_search_type": "CIVIL_COURT",
"reference_id": null,
"cic_criminal_record_fk": null,
"report_link": "env_development/sjv-report/karthik.raj+e1@springworks.in/sjv-report-CIVIL_COURT-e0024de7-8b6d-4df4-8b2a-0e9f3a113d30.json",
"marked_done": 0,
"marked_reviewed": 0,
"marked_reviewed_by": null,
"marked_reviewed_at": null,
"county_id": null,
"county_uuid": "92d999b6-4395-11eb-8ea4-d37f0189acc3",
"county_state": "Arkansas AR",
"adverse_action_fk": "cbbcefa7-1b68-44e3-a690-d5907f5a158d",
"authenticating_unique_identifier": "12eaa4b2-f858-4894-bbf5-478e4bce57a9",
"created_at": "2021-07-03T10:56:22.000Z",
"updated_at": "2021-07-03T10:56:22.000Z",
"deleted_at": null,
"county_name": null,
"employee": {
"id": "cc712be5-d433-414e-b5aa-00d65d9f0e4a",
"first_name": "Employee",
"middle_name": "M",
"last_name": "One",
"email": "karthik.raj+e1@springworks.in"
}
}
],
"motor_vehicle_record": null,
"professional_reference": null,
"professional_license": null
}
],
"count": 3
}
}
This API can be used to get a list of the adversities found across all the profiles that have been processed.
URL Parameters
Parameter | Type | Description |
---|---|---|
limit | integer |
Raw file of the logo. |
offset | integer |
Raw file of the logo. |
status | string |
Current status of the action: (PENDING/NOTICE_SENT/IN_REVIEW/FINAL_CALL/CLOSED) |
Adverse Action of Single Candidate
curl --location --request GET 'https://api.us.springverify.com/company/action/adverse?adverse_action_id=2504d7c7-3f68-47a7-b9dc-be2adb99936e' \
--header 'Authorization: Bearer JWT_TOKEN' \
--header 'Content-Type: application/json'
// FETCH
var fetch = require('node-fetch');
fetch('https://api.us.springverify.com/company/action/adverse?adverse_action_id=2504d7c7-3f68-47a7-b9dc-be2adb99936e', {
headers: {
'Authorization': 'Bearer JWT_TOKEN',
'Content-Type': 'application/json'
}
});
// REQUEST
var request = require('request');
var headers = {
'Authorization': 'Bearer JWT_TOKEN',
'Content-Type': 'application/json'
};
var options = {
url: 'https://api.us.springverify.com/company/action/adverse?adverse_action_id=2504d7c7-3f68-47a7-b9dc-be2adb99936e',
headers: headers
};
function callback(error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body);
}
}
request(options, callback);
<?php
include('vendor/rmccue/requests/library/Requests.php');
Requests::register_autoloader();
$headers = array(
'Authorization' => 'Bearer JWT_TOKEN',
'Content-Type' => 'application/json'
);
$response = Requests::get('https://api.us.springverify.com/company/action/adverse?adverse_action_id=2504d7c7-3f68-47a7-b9dc-be2adb99936e', $headers);
import requests
headers = {
'Authorization': 'Bearer JWT_TOKEN',
'Content-Type': 'application/json',
}
params = (
('adverse_action_id', '2504d7c7-3f68-47a7-b9dc-be2adb99936e'),
)
response = requests.get('https://api.us.springverify.com/company/action/adverse', headers=headers, params=params)
require 'net/http'
require 'uri'
uri = URI.parse("https://api.us.springverify.com/company/action/adverse?adverse_action_id=2504d7c7-3f68-47a7-b9dc-be2adb99936e")
request = Net::HTTP::Get.new(uri)
request.content_type = "application/json"
request["Authorization"] = "Bearer JWT_TOKEN"
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
# response.code
# response.body
Success Response:
{
"success": true,
"data": {
"id": "2504d7c7-3f68-47a7-b9dc-be2adb99936e",
"check_id": null,
"status": "CLOSED",
"type": "SEX_OFFENDER",
"cleared": true,
"comments": null,
"created_at": "2020-08-25T08:17:24.000Z",
"updated_at": "2020-08-26T12:00:11.000Z",
"deleted_at": null,
"education": null,
"employment": null,
"adverse_action_ledgers": [
{
"id": "21484067-1194-4495-a2f2-e80d54aff4be",
"reference_id": "2504d7c7-3f68-47a7-b9dc-be2adb99936e",
"status": "NOTICE_SENT",
"comments": null,
"cleared": null,
"deleted_at": null,
"created_at": "2020-08-26T11:58:27.000Z",
"updated_at": "2020-08-26T11:58:27.000Z"
},
{
"id": "622008d7-2553-4c32-bca0-3f5c833d2b66",
"reference_id": "2504d7c7-3f68-47a7-b9dc-be2adb99936e",
"status": "PENDING",
"comments": null,
"cleared": null,
"deleted_at": null,
"created_at": "2020-08-25T08:17:24.000Z",
"updated_at": "2020-08-25T08:17:24.000Z"
},
{
"id": "6d0a88fb-a297-47ca-a892-f06257fe2e48",
"reference_id": "2504d7c7-3f68-47a7-b9dc-be2adb99936e",
"status": "CLOSED",
"comments": null,
"cleared": true,
"deleted_at": null,
"created_at": "2020-08-26T12:00:11.000Z",
"updated_at": "2020-08-26T12:00:11.000Z"
}
],
"adverse_action_comments": [],
"cic_criminal_records": [
{
"id": "0548ea1c-b3de-4008-8147-1376c5870b8f",
"employee_email_fk": "johndoe@gmail.com",
"cic_criminal_report_id_fk": "62b71576-8456-42db-8ce9-4d12b2d864cb",
"adverse_action_id_fk": "2504d7c7-3f68-47a7-b9dc-be2adb99936e",
"record_type": "SEX_OFFENDER",
"reviewed": false,
"deleted_at": null,
"created_at": "2020-08-13T14:24:42.000Z",
"updated_at": "2020-08-25T08:17:24.000Z",
"employee": {
"id": "298af70a-b3a3-4605-8789-37387bb276a1",
"access_id": "05065b6d-8272-4ba5-b31e-b9f576c0a44a",
"email": "johndoe@gmail.com",
"password_hash": "qwerty123",
"first_name": "John",
"middle_name": "Mark",
"last_name": "Smith",
"name_verified": null,
"created_at": "2020-08-13T13:59:22.000Z",
"updated_at": "2020-08-25T08:17:24.000Z",
"employer_id": "1d4fb8ba-09ac-412c-aa62-58970b4d7472",
"payment_id": "3aa91fd2-aca5-456b-a375-cf4df6ededed",
"email_sent": true,
"payment": false,
"status": "VERIFIED",
"flow_completed": true,
"company_created_by": "ajitesh.tiwari@springrole.com",
"employee_limit_id": "0e3ee39a-32c2-4eb6-a7f2-61a3507a26ba"
},
"record_data": {
"subject": {
"full_name": "JONATHAN DOE",
"dob": 19510000,
"image": "https://www.securecontinfo.com/user/images/sampleoffender.jpg",
"category": "SEX OFFENDER",
"source": "WI SEX OFFENDER REGISTRY",
"sex": "MALE",
"race": "BROWN",
"hair_color": "BROWN",
"eye_color": "BROWN",
"weight": "199 LBS",
"height": "5 FEET 10 INCHES",
"age": 64,
"case_number": 123456789,
"state": "CA",
"address": "123 CONSUMER RD, ca 95555",
"comments": "PHOTO DATE: 12/20/2010; CUSTODY/SUPERVISION: TERMINATED; REGISTRATION END DATE: LIFE REGISTRATION; COMPLIANCE STATUS: COMPLIANT; PROGRAM INFORMATION: DOC SORP ADMINISTRATION 3099 E WASHINGTON AVENUE Jane WI 53704 (608)240-5830;ID NUMBERS: DEPARTMENT OF CORRECTIONS NUMBER:00223018; OFFENDER REGISTER DATE: 19901127",
"alias": "GREGORY CONSUMER"
},
"offenses": {
"offense": {
"description": "SEXUAL ASSAULT OF A CHILD",
"statute": "948.02(1)",
"conviction_date": "11/27/1990",
"conviction_location": "ROCK, WI"
}
}
}
},
{
"id": "63216b70-1c5e-4c46-bd5e-9d72ce7d78f5",
"employee_email_fk": "johndoe@gmail.com",
"cic_criminal_report_id_fk": "62b71576-8456-42db-8ce9-4d12b2d864cb",
"adverse_action_id_fk": "2504d7c7-3f68-47a7-b9dc-be2adb99936e",
"record_type": "SEX_OFFENDER",
"reviewed": false,
"deleted_at": null,
"created_at": "2020-08-13T14:24:42.000Z",
"updated_at": "2020-08-25T08:17:24.000Z",
"employee": {
"id": "298af70a-b3a3-4605-8789-37387bb276a1",
"access_id": "05065b6d-8272-4ba5-b31e-b9f576c0a44a",
"email": "johndoe@gmail.com",
"password_hash": "qwerty123",
"first_name": "John",
"middle_name": "Mark",
"last_name": "Smith",
"name_verified": null,
"created_at": "2020-08-13T13:59:22.000Z",
"updated_at": "2020-08-25T08:17:24.000Z",
"employer_id": "1d4fb8ba-09ac-412c-aa62-58970b4d7472",
"payment_id": "3aa91fd2-aca5-456b-a375-cf4df6ededed",
"email_sent": true,
"payment": false,
"status": "VERIFIED",
"flow_completed": true,
"company_created_by": "ajitesh.tiwari@springrole.com",
"employee_limit_id": "0e3ee39a-32c2-4eb6-a7f2-61a3507a26ba"
},
"record_data": {
"subject": {
"full_name": "JONATHAN DOE",
"dob": "12/04/1951",
"category": "CRIMINAL",
"source": "FL DEPT OF CORRECTIONS- INMATE",
"sex": "MALE",
"race": "BLACK",
"hair_color": "BLACK",
"eye_color": "BROWN",
"weight": "240 LBS",
"height": "5 FEET 10 INCHES",
"age": 64,
"scars_marks": "GLASSES",
"case_number": 1550682,
"state": "FL",
"comments": "SENTENCE LENGTH: 13Y 0M 0D",
"alias": "JONATHAN CONSUMER,JONATHAN QUINCY CONSUMER,JOSEPH QUINCY CONSUMER"
},
"offenses": {
"offense": [
{
"description": "ROBB. GUN/DEADLY WPN(CONSPIRACY TO COMMIT)",
"disposition": "NOT PROVIDED BY SOURCE",
"disposition_date": "02-17-2012",
"offense_date": "07-26-2010",
"commitment_date": "03-12-2012",
"release_date": "07-26-2023"
},
{
"description": "2ND DEG.MURD,DANGEROUS ACT",
"disposition": "NOT PROVIDED BY SOURCE",
"disposition_date": "02-17-2012",
"offense_date": "07-26-2010",
"commitment_date": "03-12-2012",
"release_date": "07-26-2023"
},
{
"description": "ROBB. GUN/DEADLY WPN",
"disposition": "NOT PROVIDED BY SOURCE",
"disposition_date": "02-17-2012",
"offense_date": "07-26-2010",
"commitment_date": "03-12-2012",
"release_date": "07-26-2023"
}
]
}
}
}
],
"sjv_criminal_reports": []
}
}
For a specific candidate whose verification has resulted in an adverse action, this API can be used to get a list of the adversities found in the profile.
URL Parameters
Parameter | Type | Description |
---|---|---|
adverse_action_id | uuid |
The ID of the adverse action. |
Mark Adverse Action as Read
curl --location --request PUT 'https://api.us.springverify.com/company/action/adverse/mark-read' \
--header 'Authorization: Bearer JWT_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"IDs":["2504d7c7-3f68-47a7-b9dc-be2adb99936e"]
}'
// FETCH
var fetch = require('node-fetch');
fetch('https://api.us.springverify.com/company/action/adverse/mark-read', {
method: 'POST',
headers: {
'Authorization': 'Bearer JWT_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({ "IDs":["2504d7c7-3f68-47a7-b9dc-be2adb99936e"] })
});
// REQUEST
var request = require('request');
var headers = {
'Authorization': 'Bearer JWT_TOKEN',
'Content-Type': 'application/json'
};
var dataString = '{ "IDs":["2504d7c7-3f68-47a7-b9dc-be2adb99936e"] }';
var options = {
url: 'https://api.us.springverify.com/company/action/adverse/mark-read',
method: 'POST',
headers: headers,
body: dataString
};
function callback(error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body);
}
}
request(options, callback);
<?php
include('vendor/rmccue/requests/library/Requests.php');
Requests::register_autoloader();
$headers = array(
'Authorization' => 'Bearer JWT_TOKEN',
'Content-Type' => 'application/json'
);
$data = '{ "IDs":["2504d7c7-3f68-47a7-b9dc-be2adb99936e"] }';
$response = Requests::post('https://api.us.springverify.com/company/action/adverse/mark-read', $headers, $data);
import requests
headers = {
'Authorization': 'Bearer JWT_TOKEN',
'Content-Type': 'application/json',
}
data = '{ "IDs":["2504d7c7-3f68-47a7-b9dc-be2adb99936e"] }'
response = requests.post('https://api.us.springverify.com/company/action/adverse/mark-read', headers=headers, data=data)
require 'net/http'
require 'uri'
uri = URI.parse("https://api.us.springverify.com/company/action/adverse/mark-read")
request = Net::HTTP::Put.new(uri)
request.content_type = "application/json"
request["Authorization"] = "Bearer JWT_TOKEN"
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
# response.code
# response.body
Success Response
{
"success": true,
"data": true
}
Once an admin has been notified of a list of adversity (of a single candidate's profile or of multiple profiles), this API is used to let the admin mark the notification as "read".
URL Parameters
Parameter | Type | Description |
---|---|---|
IDs | array |
An array of the IDs that are to be marked as read. |
Clear or Send Adverse Action Notice
curl --location --request PUT 'https://api.us.springverify.com/company/action/adverse/pending' \
--header 'Authorization: Bearer JWT_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"adverse_action_id":"2504d7c7-3f68-47a7-b9dc-be2adb99936e",
"status":"NOTICE_SENT"
}'
// FETCH
var fetch = require('node-fetch');
fetch('https://api.us.springverify.com/company/action/adverse/pending', {
method: 'POST',
headers: {
'Authorization': 'Bearer JWT_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({ "adverse_action_id":"2504d7c7-3f68-47a7-b9dc-be2adb99936e", "status":"NOTICE_SENT" })
});
// REQUEST
var request = require('request');
var headers = {
'Authorization': 'Bearer JWT_TOKEN',
'Content-Type': 'application/json'
};
var dataString = '{ "adverse_action_id":"2504d7c7-3f68-47a7-b9dc-be2adb99936e", "status":"NOTICE_SENT" }';
var options = {
url: 'https://api.us.springverify.com/company/action/adverse/pending',
method: 'POST',
headers: headers,
body: dataString
};
function callback(error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body);
}
}
request(options, callback);
<?php
include('vendor/rmccue/requests/library/Requests.php');
Requests::register_autoloader();
$headers = array(
'Authorization' => 'Bearer JWT_TOKEN',
'Content-Type' => 'application/json'
);
$data = '{ "adverse_action_id":"2504d7c7-3f68-47a7-b9dc-be2adb99936e", "status":"NOTICE_SENT" }';
$response = Requests::post('https://api.us.springverify.com/company/action/adverse/pending', $headers, $data);
import requests
headers = {
'Authorization': 'Bearer JWT_TOKEN',
'Content-Type': 'application/json',
}
data = '{ "adverse_action_id":"2504d7c7-3f68-47a7-b9dc-be2adb99936e", "status":"NOTICE_SENT" }'
response = requests.post('https://api.us.springverify.com/company/action/adverse/pending', headers=headers, data=data)
require 'net/http'
require 'uri'
uri = URI.parse("https://api.us.springverify.com/company/action/adverse/pending")
request = Net::HTTP::Put.new(uri)
request.content_type = "application/json"
request["Authorization"] = "Bearer JWT_TOKEN"
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
# response.code
# response.body
Success Response
{
"success": true,
"data": true
}
Once notified, an admin can decide to take an action on the adversity notified or ignore it. This is the initial action particular adverse action lifecycle for the Admin.
URL Parameters
Parameter | Type | Description |
---|---|---|
status | string |
Current status of the action: NOTICE_SENT/IGNORED. |
adverse_action_id | string |
The ID of the adverse action whose status is being updated. |
Set Final Adverse Action Status
curl --location --request PUT 'https://api.us.springverify.com/company/action/adverse/final' \
--header 'Authorization: Bearer JWT_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"adverse_action_id":"2504d7c7-3f68-47a7-b9dc-be2adb99936e",
"status":"CLEAR"
}'
// FETCH
var fetch = require('node-fetch');
fetch('https://api.us.springverify.com/company/action/adverse/final', {
method: 'POST',
headers: {
'Authorization': 'Bearer JWT_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({ "adverse_action_id":"2504d7c7-3f68-47a7-b9dc-be2adb99936e", "status":"CLEAR" })
});
// REQUEST
var request = require('request');
var headers = {
'Authorization': 'Bearer JWT_TOKEN',
'Content-Type': 'application/json'
};
var dataString = '{ "adverse_action_id":"2504d7c7-3f68-47a7-b9dc-be2adb99936e", "status":"CLEAR" }';
var options = {
url: 'https://api.us.springverify.com/company/action/adverse/final',
method: 'POST',
headers: headers,
body: dataString
};
function callback(error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body);
}
}
request(options, callback);
<?php
include('vendor/rmccue/requests/library/Requests.php');
Requests::register_autoloader();
$headers = array(
'Authorization' => 'Bearer JWT_TOKEN',
'Content-Type' => 'application/json'
);
$data = '{ "adverse_action_id":"2504d7c7-3f68-47a7-b9dc-be2adb99936e", "status":"CLEAR" }';
$response = Requests::post('https://api.us.springverify.com/company/action/adverse/final', $headers, $data);
import requests
headers = {
'Authorization': 'Bearer JWT_TOKEN',
'Content-Type': 'application/json',
}
data = '{ "adverse_action_id":"2504d7c7-3f68-47a7-b9dc-be2adb99936e", "status":"CLEAR" }'
response = requests.post('https://api.us.springverify.com/company/action/adverse/final', headers=headers, data=data)
require 'net/http'
require 'uri'
uri = URI.parse("https://api.us.springverify.com/company/action/adverse/final")
request = Net::HTTP::Put.new(uri)
request.content_type = "application/json"
request["Authorization"] = "Bearer JWT_TOKEN"
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
# response.code
# response.body
Success Response
{
"success": true,
"data": true
}
On an candidate profile that is being processed for adversities, an admin can set a final adverse action using this API. This is the final action in a particular adverse action lifecycle for the Admin.
URL Parameters
Parameter | Type | Description |
---|---|---|
status | string |
Current status of the action: CLEAR/REJECT. |
adverse_action_id | string |
The ID of the adverse action whose status is being updated. |
Get Criminal Report
curl --location --request GET 'https://api.us.springverify.com/company/criminal/sjv/report?sjv_id=0db2b92a-ec0d-4506-a356-fcb97f31e0c3' \
--header 'Authorization: Bearer JWT_TOKEN'
// FETCH
var fetch = require('node-fetch');
fetch('https://api.us.springverify.com/company/criminal/sjv/report?sjv_id=0db2b92a-ec0d-4506-a356-fcb97f31e0c3', {
headers: {
'Authorization': 'Bearer JWT_TOKEN'
}
});
// REQUEST
var request = require('request');
var headers = {
'Authorization': 'Bearer JWT_TOKEN'
};
var options = {
url: 'https://api.us.springverify.com/company/criminal/sjv/report?sjv_id=0db2b92a-ec0d-4506-a356-fcb97f31e0c3',
headers: headers
};
function callback(error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body);
}
}
request(options, callback);
<?php
include('vendor/rmccue/requests/library/Requests.php');
Requests::register_autoloader();
$headers = array(
'Authorization' => 'Bearer JWT_TOKEN'
);
$response = Requests::get('https://api.us.springverify.com/company/criminal/sjv/report?sjv_id=0db2b92a-ec0d-4506-a356-fcb97f31e0c3', $headers);
import requests
headers = {
'Authorization': 'Bearer JWT_TOKEN',
}
params = (
('sjv_id', '0db2b92a-ec0d-4506-a356-fcb97f31e0c3'),
)
response = requests.get('https://api.us.springverify.com/company/criminal/sjv/report', headers=headers, params=params)
require 'net/http'
require 'uri'
uri = URI.parse("https://api.us.springverify.com/company/criminal/sjv/report?sjv_id=0db2b92a-ec0d-4506-a356-fcb97f31e0c3")
request = Net::HTTP::Get.new(uri)
request["Authorization"] = "Bearer JWT_TOKEN"
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
# response.code
# response.body
Success Response
{
"message": "successfully retrieved sjv report",
"data": {
"glossary.title": "example glossary",
"glossary.GlossDiv.title": "S",
"glossary.GlossDiv.GlossList.GlossEntry.ID": "SGML",
"glossary.GlossDiv.GlossList.GlossEntry.SortAs": "SGML",
"glossary.GlossDiv.GlossList.GlossEntry.GlossTerm": "Standard Generalized Markup Language",
"glossary.GlossDiv.GlossList.GlossEntry.Acronym": "SGML",
"glossary.GlossDiv.GlossList.GlossEntry.Abbrev": "ISO 8879:1986",
"glossary.GlossDiv.GlossList.GlossEntry.GlossDef.para": "A meta-markup language, used to create markup languages such as DocBook.",
"glossary.GlossDiv.GlossList.GlossEntry.GlossDef.GlossSeeAlso.0": "GML",
"glossary.GlossDiv.GlossList.GlossEntry.GlossDef.GlossSeeAlso.1": "XML",
"glossary.GlossDiv.GlossList.GlossEntry.GlossSee": "markup"
}
}
On an candidate profile that is being processed for adversities, an admin can get the criminal report using the SJV ID in the adverse action object of this API. This is a sample JSON response.
URL Parameters
Parameter | Type | Description |
---|---|---|
sjv_id | string |
The SJV ID of the criminal report. |
Create Webhook
curl --location --request POST 'https://api.us.springverify.com/company/webhook' \
--header 'Authorization: Bearer JWT_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"url": "https://httpstat.us/200?sleep=2000"
}'
// FETCH
var myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer JWT_TOKEN");
myHeaders.append("Content-Type", "application/json");
var raw = JSON.stringify({"url":"https://httpstat.us/200?sleep=2000"});
var requestOptions = {
method: 'POST',
headers: myHeaders,
body: raw,
redirect: 'follow'
};
fetch("https://api.us.springverify.com/company/webhook", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
// REQUEST
var request = require('request');
var headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer JWT_TOKEN'
};
var dataString = JSON.stringify({"url":"https://httpstat.us/200?sleep=2000"});
var options = {
url: 'https://api.us.springverify.com/company/webhook',
method: 'POST',
headers: headers,
body: dataString
};
function callback(error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body);
}
}
request(options, callback);
<?php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('https://api.us.springverify.com/company/webhook');
$request->setMethod(HTTP_Request2::METHOD_POST);
$request->setConfig(array(
'follow_redirects' => TRUE
));
$request->setHeader(array(
'Authorization' => 'Bearer JWT_TOKEN',
'Content-Type' => 'application/json'
));
$request->setBody('{\n "url": "https://httpstat.us/200?sleep=2000"\n}');
try {
$response = $request->send();
if ($response->getStatus() == 200) {
echo $response->getBody();
}
else {
echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
$response->getReasonPhrase();
}
}
catch(HTTP_Request2_Exception $e) {
echo 'Error: ' . $e->getMessage();
}
import requests
url = "https://api.us.springverify.com/company/webhook"
payload="{\n \"url\": \"https://httpstat.us/200?sleep=2000\"\n}"
headers = {
'Authorization': 'Bearer JWT_TOKEN',
'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
require "uri"
require "net/http"
url = URI("https://api.us.springverify.com/company/webhook")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer JWT_TOKEN"
request["Content-Type"] = "application/json"
request.body = "{\n \"url\": \"https://httpstat.us/200?sleep=2000\"\n}"
response = https.request(request)
puts response.read_body
# response.code
# response.body
Success Response
{
"success": true,
"data": {
"id": "ea48d205-aeac-4b5a-b687-17fba5854396",
"company_id": 53,
"url": "https://httpstat.us/200?sleep=2000",
"active": true,
"updated_at": "2020-12-01T08:33:27.802Z",
"created_at": "2020-12-01T08:33:27.802Z"
}
}
A company can register a webhook for any overall status updates to the candidate. Only one webhook can be registered per company. Webhook url must be a valid url and must respond with a status code of 200.
URL Parameters
Parameter | Type | Description |
---|---|---|
url | string |
Webhook url |
Webhook Data Sample
{ "data": { "employee_email": "abc@email.com", "overall_status": "FAILED" }, "event_type": "overall_status_update" }
Webhook Event Types
Event types | Description |
---|---|
overall_status_update | Any status change in overall status of the candidate. Individual status of each check for the candidate is not included in this event. |
Get Webhook
curl --location --request GET 'https://api.us.springverify.com/company/webhook' \
--header 'Authorization: Bearer JWT_TOKEN'
// FETCH
var myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer JWT_TOKEN");
var requestOptions = {
method: 'GET',
headers: myHeaders,
redirect: 'follow'
};
fetch("https://api.us.springverify.com/company/webhook", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
// REQUEST
var request = require('request');
var headers = {
'Authorization': 'Bearer JWT_TOKEN',
'Content-Type': 'application/json'
};
var options = {
url: 'https://api.us.springverify.com/company/webhook',
method: 'GET',
headers: headers
};
function callback(error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body);
}
}
request(options, callback);
<?php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('https://api.us.springverify.com/company/webhook');
$request->setMethod(HTTP_Request2::METHOD_GET);
$request->setConfig(array(
'follow_redirects' => TRUE
));
$request->setHeader(array(
'Authorization' => 'Bearer JWT_TOKEN'
));
try {
$response = $request->send();
if ($response->getStatus() == 200) {
echo $response->getBody();
}
else {
echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
$response->getReasonPhrase();
}
}
catch(HTTP_Request2_Exception $e) {
echo 'Error: ' . $e->getMessage();
}
import requests
url = "https://api.us.springverify.com/company/webhook"
payload={}
headers = {
'Authorization': 'Bearer JWT_TOKEN'
}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)
require "uri"
require "net/http"
url = URI("https://api.us.springverify.com/company/webhook")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer JWT_TOKEN"
response = https.request(request)
puts response.read_body
# response.code
# response.body
Success Response
{
"success": true,
"data": {
"id": "3f8f1464-d4a9-4020-86bd-048b2660f01b",
"url": "https://httpstat.us/200?sleep=2000",
"active": true
}
}
A company can get the details of a registered webhook using this API.
Delete Webhook
curl --location --request DELETE 'https://api.us.springverify.com/company/webhook' \
--header 'Authorization: Bearer JWT_TOKEN'
// FETCH
var myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer JWT_TOKEN");
var requestOptions = {
method: 'DELETE',
headers: myHeaders,
redirect: 'follow'
};
fetch("https://api.us.springverify.com/company/webhook", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
// REQUEST
var request = require('request');
var headers = {
'Authorization': 'Bearer JWT_TOKEN',
'Content-Type': 'application/json'
};
var options = {
url: 'https://api.us.springverify.com/company/webhook',
method: 'DELETE',
headers: headers
};
function callback(error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body);
}
}
request(options, callback);
<?php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('https://api.us.springverify.com/company/webhook');
$request->setMethod(HTTP_Request2::METHOD_DELETE);
$request->setConfig(array(
'follow_redirects' => TRUE
));
$request->setHeader(array(
'Authorization' => 'Bearer JWT_TOKEN'
));
try {
$response = $request->send();
if ($response->getStatus() == 200) {
echo $response->getBody();
}
else {
echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
$response->getReasonPhrase();
}
}
catch(HTTP_Request2_Exception $e) {
echo 'Error: ' . $e->getMessage();
}
import requests
url = "https://api.us.springverify.com/company/webhook"
payload={}
headers = {
'Authorization': 'Bearer JWT_TOKEN'
}
response = requests.request("DELETE", url, headers=headers, data=payload)
print(response.text)
require "uri"
require "net/http"
url = URI("https://api.us.springverify.com/company/webhook")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = "Bearer JWT_TOKEN"
response = https.request(request)
puts response.read_body
# response.code
# response.body
Success Response
{
"success": true,
"data": 1
}
A company can delete a registered webhook using this API.
Get Webhook Logs
curl --location --request GET 'https://api.us.springverify.com/company/webhook/logs' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer JWT_TOKEN'
// FETCH
var myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");
myHeaders.append("Authorization", "Bearer JWT_TOKEN");
var requestOptions = {
method: 'GET',
headers: myHeaders,
redirect: 'follow'
};
fetch("https://api.us.springverify.com/company/webhook/logs", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
// REQUEST
var request = require('request');
var options = {
'method': 'GET',
'url': 'https://api.us.springverify.com/company/webhook/logs',
'headers': {
'Content-Type': 'application/json',
'Authorization': 'Bearer JWT_TOKEN'
}
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
<?php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('https://api.us.springverify.com/company/webhook/logs');
$request->setMethod(HTTP_Request2::METHOD_GET);
$request->setConfig(array(
'follow_redirects' => TRUE
));
$request->setHeader(array(
'Content-Type' => 'application/json',
'Authorization' => 'Bearer JWT_TOKEN'
));
try {
$response = $request->send();
if ($response->getStatus() == 200) {
echo $response->getBody();
}
else {
echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
$response->getReasonPhrase();
}
}
catch(HTTP_Request2_Exception $e) {
echo 'Error: ' . $e->getMessage();
}
import requests
import json
url = "https://api.us.springverify.com/company/webhook/logs"
payload={}
headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer JWT_TOKEN'
}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)
require "uri"
require "json"
require "net/http"
url = URI("https://api.us.springverify.com/company/webhook/logs")
http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Get.new(url)
request["Content-Type"] = "application/json"
request["Authorization"] = "Bearer JWT_TOKEN"
response = http.request(request)
puts response.read_body
Success Response
{
"success": true,
"data": {
"logs": [
{
"email": "johndoe@gmail.com",
"event_type": "overall_status_update",
"response": {
"code":200,
"description":"OK"
},
"response_code": 200,
"curl": "curl \"https://webhook.site/be9bcd8c-c819-4b5a-9652-0984e6dfa282\" \\n-H \"cache-control: no-cache\" \\n-H \"content-type: application/json\" \\n-H \"secret-token: null\" \\n-H \"authorization: Bearer JWT_TOKEN\" \\n-H \"accept: application/json\" \\n--data-binary \"{\"\"data\"\":{\"\"employee_email\"\":\"\"johndoe@gmail.com\"\",\"\"overall_status\"\":\"\"PENDING\"\"},\"\"event_type\"\":\"\"overall_status_update\"\",\"\"company_id\"\":126}\" --compressed",
"id": "61026a761e331e43541d7925",
"created_at": "2021-07-29T08:44:38.242Z"
}
],
"count": 1
}
}
A company can get the logs of a registered webhook using this API.
URL Parameters
Parameter | Type | Description |
---|---|---|
status | string |
ALL/SUCCESS/ERROR |
search | string |
Search term which returns record after matching email of the candidate |
limit | integer |
Page Limit |
offset | integer |
Page Offset |
Get BGV Progress
curl --location --request GET 'https://api.us.springverify.com/company/employee/bgv-progress?id=cc712be5-d433-414e-b5aa-00d65d9f0e4a' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer JWT_TOKEN'
// FETCH
var myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");
myHeaders.append("Authorization", "Bearer JWT_TOKEN");
var requestOptions = {
method: 'GET',
headers: myHeaders,
redirect: 'follow'
};
fetch("https://api.us.springverify.com/company/employee/bgv-progress?id=cc712be5-d433-414e-b5aa-00d65d9f0e4a", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
// REQUEST
var request = require('request');
var options = {
'method': 'GET',
'url': 'https://api.us.springverify.com/company/employee/bgv-progress?id=cc712be5-d433-414e-b5aa-00d65d9f0e4a',
'headers': {
'Content-Type': 'application/json',
'Authorization': 'Bearer JWT_TOKEN'
}
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
<?php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('https://api.us.springverify.com/company/employee/bgv-progress?id=cc712be5-d433-414e-b5aa-00d65d9f0e4a');
$request->setMethod(HTTP_Request2::METHOD_GET);
$request->setConfig(array(
'follow_redirects' => TRUE
));
$request->setHeader(array(
'Content-Type' => 'application/json',
'Authorization' => 'Bearer JWT_TOKEN'
));
try {
$response = $request->send();
if ($response->getStatus() == 200) {
echo $response->getBody();
}
else {
echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
$response->getReasonPhrase();
}
}
catch(HTTP_Request2_Exception $e) {
echo 'Error: ' . $e->getMessage();
}
import requests
import json
url = "https://api.us.springverify.com/company/employee/bgv-progress?id=cc712be5-d433-414e-b5aa-00d65d9f0e4a"
payload={}
headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer JWT_TOKEN'
}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)
require "uri"
require "json"
require "net/http"
url = URI("https://api.us.springverify.com/company/employee/bgv-progress?id=cc712be5-d433-414e-b5aa-00d65d9f0e4a")
http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Get.new(url)
request["Content-Type"] = "application/json"
request["Authorization"] = "Bearer JWT_TOKEN"
response = http.request(request)
puts response.read_body
Success Response
{
"success": true,
"data": {
"personal_details": {
"name": "personal_details",
"skip": false,
"date": null
},
"id_verification": {
"name": "id_verification",
"skip": false,
"date": null
},
"employment": {
"name": "employment",
"skip": false,
"date": null
},
"education": {
"name": "education",
"skip": true,
"date": null
},
"professional_license": {
"name": "professional_license",
"skip": true,
"date": null
},
"mvr": {
"name": "mvr",
"skip": false,
"date": null
}
}
}
Using this API, a company can know how much the candidate has completed and how much is left to complete in BGV form.
URL Parameters
Parameter | Type | Description |
---|---|---|
id | string |
Employee ID |
Re-Run Criminal Check
curl --location --request POST 'https://api.us.springverify.com/employee/criminal-report-run' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer JWT_TOKEN' \
--data-raw '{
"id":"cd5f75ac-69d4-423f-8919-8ddc49a65163"
}'
// FETCH
var myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");
myHeaders.append("Authorization", "Bearer JWT_TOKEN");
var raw = JSON.stringify({
"id": "cd5f75ac-69d4-423f-8919-8ddc49a65163"
});
var requestOptions = {
method: 'POST',
headers: myHeaders,
body: raw,
redirect: 'follow'
};
fetch("https://api.us.springverify.com/employee/criminal-report-run", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
// REQUEST
var request = require('request');
var options = {
'method': 'POST',
'url': 'https://api.us.springverify.com/employee/criminal-report-run',
'headers': {
'Content-Type': 'application/json',
'Authorization': 'Bearer JWT_TOKEN'
},
body: JSON.stringify({
"id": "cd5f75ac-69d4-423f-8919-8ddc49a65163"
})
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
<?php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('https://api.us.springverify.com/employee/criminal-report-run');
$request->setMethod(HTTP_Request2::METHOD_POST);
$request->setConfig(array(
'follow_redirects' => TRUE
));
$request->setHeader(array(
'Content-Type' => 'application/json',
'Authorization' => 'Bearer JWT_TOKEN'
));
$request->setBody('{
\n "id":"cd5f75ac-69d4-423f-8919-8ddc49a65163"
\n}');
try {
$response = $request->send();
if ($response->getStatus() == 200) {
echo $response->getBody();
}
else {
echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
$response->getReasonPhrase();
}
}
catch(HTTP_Request2_Exception $e) {
echo 'Error: ' . $e->getMessage();
}
import requests
import json
url = "https://api.us.springverify.com/employee/criminal-report-run"
payload = json.dumps({
"id": "cd5f75ac-69d4-423f-8919-8ddc49a65163"
})
headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer JWT_TOKEN'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
require "uri"
require "json"
require "net/http"
url = URI("https://api.us.springverify.com/employee/criminal-report-run")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = "application/json"
request["Authorization"] = "Bearer JWT_TOKEN"
request.body = JSON.dump({
"id": "cd5f75ac-69d4-423f-8919-8ddc49a65163"
})
response = https.request(request)
puts response.read_body
Success Response
{
"success":true,
"data":true
}
Using this API, a company can opt to rerun the criminal check on a candidate.
URL Parameters
Parameter | Type | Description |
---|---|---|
id | string |
Employee ID |
Delete / Archive candidate
curl --location --request DELETE 'https://api.us.springverify.com/company/employee?employee_id=71b5d6e8-c20d-4aa3-acf8-aefd9cad9f7c' \
--header 'Authorization: Bearer JWT_TOKEN'
// FETCH
var myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer JWT_TOKEN");
var requestOptions = {
method: 'DELETE',
headers: myHeaders,
redirect: 'follow'
};
fetch("https://api.us.springverify.com/company/employee?employee_id=71b5d6e8-c20d-4aa3-acf8-aefd9cad9f7c", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
// REQUEST
var request = require('request');
var options = {
'method': 'DELETE',
'url': 'https://api.us.springverify.com/company/employee?employee_id=71b5d6e8-c20d-4aa3-acf8-aefd9cad9f7c',
'headers': {
'Authorization': 'Bearer JWT_TOKEN'
}
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
<?php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('https://api.us.springverify.com/company/employee?employee_id=71b5d6e8-c20d-4aa3-acf8-aefd9cad9f7c');
$request->setMethod(HTTP_Request2::METHOD_DELETE);
$request->setConfig(array(
'follow_redirects' => TRUE
));
$request->setHeader(array(
'Authorization' => 'Bearer JWT_TOKEN'
));
try {
$response = $request->send();
if ($response->getStatus() == 200) {
echo $response->getBody();
}
else {
echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
$response->getReasonPhrase();
}
}
catch(HTTP_Request2_Exception $e) {
echo 'Error: ' . $e->getMessage();
}
import requests
url = "https://api.us.springverify.com/company/employee?employee_id=71b5d6e8-c20d-4aa3-acf8-aefd9cad9f7c"
payload={}
headers = {
'Authorization': 'Bearer JWT_TOKEN'
}
response = requests.request("DELETE", url, headers=headers, data=payload)
print(response.text)
require "uri"
require "net/http"
url = URI("https://api.us.springverify.com/company/employee?employee_id=71b5d6e8-c20d-4aa3-acf8-aefd9cad9f7c")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = "Bearer JWT_TOKEN"
response = https.request(request)
puts response.read_body
Success Response
{
"success":true,
"data":true
}
Using this API, a company can opt to delete/archive a candidate. If the candidate has started the flow (filling up his personal details) then he/she will be archived. If the candidate has not begun the flow, then he will be deleted and a refund will be initiated.
URL Parameters
Parameter | Type | Description |
---|---|---|
employee_id | string |
Employee ID |
Download PDF report
curl --location --request GET 'https://us.springverify.com/api/company/common/report/download?report_url=/candidate-report/8cc38377-602e-4db7-9dfc-cd74585e275b?cAdminToken=JWT_TOKEN' \
--header 'Authorization: Bearer JWT_TOKEN'
// FETCH
var myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer JWT_TOKEN");
var requestOptions = {
method: 'GET',
headers: myHeaders,
redirect: 'follow'
};
fetch("https://us.springverify.com/api/company/common/report/download?report_url=/candidate-report/8cc38377-602e-4db7-9dfc-cd74585e275b?cAdminToken=JWT_TOKEN", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
// REQUEST
var request = require('request');
var options = {
'method': 'GET',
'url': 'https://us.springverify.com/api/company/common/report/download?report_url=/candidate-report/8cc38377-602e-4db7-9dfc-cd74585e275b?cAdminToken=JWT_TOKEN',
'headers': {
'Authorization': 'Bearer JWT_TOKEN'
}
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
<?php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('https://us.springverify.com/api/company/common/report/download?report_url=/candidate-report/8cc38377-602e-4db7-9dfc-cd74585e275b?cAdminToken=JWT_TOKEN');
$request->setMethod(HTTP_Request2::METHOD_GET);
$request->setConfig(array(
'follow_redirects' => TRUE
));
$request->setHeader(array(
'Authorization' => 'Bearer JWT_TOKEN'
));
try {
$response = $request->send();
if ($response->getStatus() == 200) {
echo $response->getBody();
}
else {
echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
$response->getReasonPhrase();
}
}
catch(HTTP_Request2_Exception $e) {
echo 'Error: ' . $e->getMessage();
}
import requests
url = "https://us.springverify.com/api/company/common/report/download?report_url=/candidate-report/8cc38377-602e-4db7-9dfc-cd74585e275b?cAdminToken=JWT_TOKEN"
payload={}
headers = {
'Authorization': 'Bearer JWT_TOKEN'
}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)
require "uri"
require "net/http"
url = URI("https://us.springverify.com/api/company/common/report/download?report_url=/candidate-report/8cc38377-602e-4db7-9dfc-cd74585e275b?cAdminToken=JWT_TOKEN")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer JWT_TOKEN"
response = https.request(request)
puts response.read_body
Success Response
PDF file
Download PDF report for the candidate
URL Parameters
Parameter | Type | Description |
---|---|---|
report_url | string |
Report url of the candidate |
Candidate
This section covers the API details available for users logged in as candidates i.e., users who wish to get background verification checks performed on their profiles.
Submit Personal Details
curl --location --request POST 'https://api.us.springverify.com/employee/personal-details' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer JWT_TOKEN' \
--data-raw '{
"first_name":"John",
"middle_name":"David",
"last_name":"Doe",
"dob":"12-11-1980",
"ssn":"123456789",
"email":"johndoe@gmail.com",
"house_number": "239",
"street_name": "Avea street",
"address":"236 Avea street",
"city":"Gotham",
"state":"CA",
"zip_code":"33433",
"phone":"56-999222992"
}'
// FETCH
var fetch = require('node-fetch');
fetch('https://api.us.springverify.com/employee/personal-details', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer JWT_TOKEN'
},
body: '{ "first_name":"John", "middle_name":"David", "last_name":"Doe", "dob":"12-11-1980", "ssn":"123456789", "email":"johndoe@gmail.com", "house_number": "239", "street_name": "Avea street" "address":"236 Avea street", "city":"Gotham", "state":"CA", "zip_code":"33433", "phone":"56-999222992" }'
});
// REQUEST
var request = require('request');
var headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer JWT_TOKEN'
};
var dataString = '{ "first_name":"John", "middle_name":"David", "last_name":"Doe", "dob":"12-11-1980", "ssn":"123456789", "email":"johndoe@gmail.com", "house_number": "239", "street_name": "Avea street" "address":"236 Avea street", "city":"Gotham", "state":"CA", "zip_code":"33433", "phone":"56-999222992" }';
var options = {
url: 'https://api.us.springverify.com/employee/personal-details',
method: 'POST',
headers: headers,
body: dataString
};
function callback(error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body);
}
}
request(options, callback);
<?php
include('vendor/rmccue/requests/library/Requests.php');
Requests::register_autoloader();
$headers = array(
'Content-Type' => 'application/json',
'Authorization' => 'Bearer JWT_TOKEN'
);
$data = '{ "first_name":"John", "middle_name":"David", "last_name":"Doe", "dob":"12-11-1980", "ssn":"123456789", "email":"johndoe@gmail.com", "house_number": "239", "street_name": "Avea street" "address":"236 Avea street", "city":"Gotham", "state":"CA", "zip_code":"33433", "phone":"56-999222992" }';
$response = Requests::post('https://api.us.springverify.com/employee/personal-details', $headers, $data);
import requests
headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer JWT_TOKEN',
}
data = '{ "first_name":"John", "middle_name":"David", "last_name":"Doe", "dob":"12-11-1980", "ssn":"123456789", "email":"johndoe@gmail.com", "house_number": "239", "street_name": "Avea street" "address":"236 Avea street", "city":"Gotham", "state":"CA", "zip_code":"33433", "phone":"56-999222992" }'
response = requests.post('https://api.us.springverify.com/employee/personal-details', headers=headers, data=data)
require 'net/http'
require 'uri'
uri = URI.parse("https://api.us.springverify.com/employee/personal-details")
request = Net::HTTP::Post.new(uri)
request.content_type = "application/json"
request["Authorization"] = "Bearer JWT_TOKEN"
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
# response.code
# response.body
Success Response
{
"success": true,
"data": {
"id": "ee23f57c-ad7a-40fc-8845-18aa12d67a5e",
"access_id": "799bee32-72e6-480f-b023-883bde7aa34f",
"email": "johndoe@yopmail.com",
"password_hash": null,
"first_name": "John",
"middle_name": "David",
"last_name": "Doe",
"name_verified": null,
"created_at": "2021-01-19T04:25:21.000Z",
"updated_at": "2021-01-19T04:25:48.157Z",
"employer_id": "64c5e04f-c9cc-43ca-bb6a-3bb70abb9d6a",
"payment_id": "11061087-7975-4ef9-8e3d-9f2c8dd44ad6",
"email_sent": true,
"payment": {
"charged": true
},
"status": null,
"flow_completed": null,
"company_created_by": "pooja@recrosoft.com",
"employee_limit_id": "8ff7ef5e-0182-46ba-847b-6b22bc65b408",
"employments": [],
"education": [],
"cic_criminal_records": [],
"professional_licenses": [],
"employee_detail": {
"id": "5988dda2-66aa-4ecb-a239-398465e569ab",
"access_id": null,
"address": "236 Avea street",
"address_verified": null,
"driving_number": null,
"driving_number_verified": null,
"city": "Gotham",
"city_verified": null,
"state": "CA",
"state_verified": null,
"zipcode": "33433",
"zipcode_verified": null,
"country": null,
"country_verified": null,
"birthdate": "12-11-1980",
"birthdate_verified": null,
"phone": "56-999222992",
"phone_verified": null,
"ssn": "6789",
"ssn_verified": null,
"created_at": "2021-01-19T04:25:48.000Z",
"updated_at": "2021-01-19T04:25:48.000Z",
"employee_email": "johndoe@yopmail.com"
},
"employee_verification": null,
"employee_limit": {
"id": "8ff7ef5e-0182-46ba-847b-6b22bc65b408",
"employment": 0,
"mvr": false,
"education": 0,
"professional_license": 0,
"all_county_criminal_search": false,
"county_criminal_search": 0,
"civil_court": 0,
"driving_license": 0,
"package_id": null,
"created_at": "2021-01-19T04:25:21.000Z",
"updated_at": "2021-01-19T04:25:21.000Z",
"employee_invite_group_id": "e38d60d3-e474-4710-aa84-847221f77910",
"employee_invite_group": {
"id": "e38d60d3-e474-4710-aa84-847221f77910",
"package": "bronze",
"active": true,
"created_at": "2021-01-19T04:25:21.000Z",
"updated_at": "2021-01-19T04:25:21.000Z",
"company_created_by": "pooja@recrosoft.com",
"package_id": "1"
}
},
"kbaqna": null,
"employee_flow": {
"id": 274,
"employment_flow": null,
"education_flow": null,
"professional_license_flow": null,
"created_at": "2021-01-19T04:25:47.000Z",
"updated_at": "2021-01-19T04:25:47.000Z",
"employee_email": "johndoe@yopmail.com"
},
"s3_files": [],
"criminal_statuses": [],
"sjv_criminal_reports": [],
"motor_vehicle_record": null
}
}
A candidate can submit their personal details using this API. It is of the utmost importance that the details entered here are absolutely accurate. For creating the profile, the same email ID must be used to which the verification request was sent.
URL Parameters
Parameter | Type | Description |
---|---|---|
first_name | string |
The candidate's first name. |
middle_name | string |
The candidate's middle name. |
last_name | string |
The candidate's last name. |
dob | string |
The candidate's date of birth in the format DD-MM-YYYY. |
ssn | string |
The candidate's SSN. |
string |
The candidate's email address - must be the same address to which the verification request was sent. | |
house_number | integer |
The candidate's house number. |
street_name | string |
The name of the street where the candidate's house is located. |
address | string |
The candidate's residential address. |
city | string |
The city where the candidate's house is located. |
state | string |
The state where the candidate's house is located. |
zip_code | string |
The ZIP code of the postal district where the candidate's house is located. |
phone | string |
The candidate's phone number. |
Update Personal Details
curl --location --request PUT 'https://api.us.springverify.com/employee/personal-details' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer JWT_TOKEN' \
--data-raw '{
"first_name":"John",
"middle_name":"David",
"last_name":"Doe",
"dob":"12-11-1980",
"ssn":"123456789",
"email":"johndoe@gmail.com",
"house_number": "239",
"street_name": "A clear street",
"address":"236 A clear street",
"city":"Gotham",
"state":"CA",
"zip_code":"33433",
"phone":"56-999222992"
}'
// FETCH
var fetch = require('node-fetch');
fetch('https://api.us.springverify.com/employee/personal-details', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer JWT_TOKEN'
},
body: '{ "first_name":"John", "middle_name":"David", "last_name":"Doe", "dob":"12-11-1980", "ssn":"123456789", "email":"johndoe@gmail.com", "house_number": "239", "street_name": "A clear street" "address":"236 A clear street", "city":"Gotham", "state":"CA", "zip_code":"33433", "phone":"56-999222992" }'
});
// REQUEST
var request = require('request');
var headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer JWT_TOKEN'
};
var dataString = '{ "first_name":"John", "middle_name":"David", "last_name":"Doe", "dob":"12-11-1980", "ssn":"123456789", "email":"johndoe@gmail.com", "house_number": "239", "street_name": "Avea street" "address":"236 Avea street", "city":"Gotham", "state":"CA", "zip_code":"33433", "phone":"56-999222992" }';
var options = {
url: 'https://api.us.springverify.com/employee/personal-details',
method: 'POST',
headers: headers,
body: dataString
};
function callback(error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body);
}
}
request(options, callback);
<?php
include('vendor/rmccue/requests/library/Requests.php');
Requests::register_autoloader();
$headers = array(
'Content-Type' => 'application/json',
'Authorization' => 'Bearer JWT_TOKEN'
);
$data = '{ "first_name":"John", "middle_name":"David", "last_name":"Doe", "dob":"12-11-1980", "ssn":"123456789", "email":"johndoe@gmail.com", "house_number": "239", "street_name": "Avea street" "address":"236 Avea street", "city":"Gotham", "state":"CA", "zip_code":"33433", "phone":"56-999222992" }';
$response = Requests::post('https://api.us.springverify.com/employee/personal-details', $headers, $data);
import requests
headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer JWT_TOKEN',
}
data = '{ "first_name":"John", "middle_name":"David", "last_name":"Doe", "dob":"12-11-1980", "ssn":"123456789", "email":"johndoe@gmail.com", "house_number": "239", "street_name": "Avea street" "address":"236 Avea street", "city":"Gotham", "state":"CA", "zip_code":"33433", "phone":"56-999222992" }'
response = requests.post('https://api.us.springverify.com/employee/personal-details', headers=headers, data=data)
require 'net/http'
require 'uri'
uri = URI.parse("https://api.us.springverify.com/employee/personal-details")
request = Net::HTTP::Put.new(uri)
request.content_type = "application/json"
request["Authorization"] = "Bearer JWT_TOKEN"
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
# response.code
# response.body
Success Response
{
"success": true,
"data": {
"employee_details_resp": {
"id": "5988dda2-66aa-4ecb-a239-398465e569ab",
"access_id": null,
"address": "236 Avea street",
"address_verified": null,
"driving_number": null,
"driving_number_verified": null,
"city": "Gotham",
"city_verified": null,
"state": "CA",
"state_verified": null,
"zipcode": "33433",
"zipcode_verified": null,
"country": null,
"country_verified": null,
"birthdate": "12-11-1980",
"birthdate_verified": null,
"phone": "56-999222992",
"phone_verified": null,
"ssn": "6789",
"ssn_verified": null,
"created_at": "2021-01-19T04:25:48.000Z",
"updated_at": "2021-01-19T04:25:48.000Z",
"employee_email": "johndoe@yopmail.com"
},
"employee_resp": {
"id": "ee23f57c-ad7a-40fc-8845-18aa12d67a5e",
"access_id": "799bee32-72e6-480f-b023-883bde7aa34f",
"email": "johndoe@yopmail.com",
"password_hash": null,
"first_name": "John",
"middle_name": "David",
"last_name": "Doe",
"name_verified": null,
"created_at": "2021-01-19T04:25:21.000Z",
"updated_at": "2021-01-19T04:25:48.000Z",
"employer_id": "64c5e04f-c9cc-43ca-bb6a-3bb70abb9d6a",
"payment_id": "11061087-7975-4ef9-8e3d-9f2c8dd44ad6",
"email_sent": true,
"payment": {
"charged": true
},
"status": null,
"flow_completed": null,
"company_created_by": "pooja@recrosoft.com",
"employee_limit_id": "8ff7ef5e-0182-46ba-847b-6b22bc65b408",
"employments": [],
"education": [],
"cic_criminal_records": [],
"professional_licenses": [],
"employee_detail": {
"id": "5988dda2-66aa-4ecb-a239-398465e569ab",
"access_id": null,
"address": "236 Avea street",
"address_verified": null,
"driving_number": null,
"driving_number_verified": null,
"city": "Gotham",
"city_verified": null,
"state": "CA",
"state_verified": null,
"zipcode": "33433",
"zipcode_verified": null,
"country": null,
"country_verified": null,
"birthdate": "12-11-1980",
"birthdate_verified": null,
"phone": "56-999222992",
"phone_verified": null,
"ssn": "6789",
"ssn_verified": null,
"created_at": "2021-01-19T04:25:48.000Z",
"updated_at": "2021-01-19T04:25:48.000Z",
"employee_email": "johndoe@yopmail.com"
},
"employee_verification": null,
"employee_limit": {
"id": "8ff7ef5e-0182-46ba-847b-6b22bc65b408",
"employment": 0,
"mvr": false,
"education": 0,
"professional_license": 0,
"all_county_criminal_search": false,
"county_criminal_search": 0,
"civil_court": 0,
"driving_license": 0,
"package_id": null,
"created_at": "2021-01-19T04:25:21.000Z",
"updated_at": "2021-01-19T04:25:21.000Z",
"employee_invite_group_id": "e38d60d3-e474-4710-aa84-847221f77910",
"employee_invite_group": {
"id": "e38d60d3-e474-4710-aa84-847221f77910",
"package": "bronze",
"active": true,
"created_at": "2021-01-19T04:25:21.000Z",
"updated_at": "2021-01-19T04:25:21.000Z",
"company_created_by": "pooja@recrosoft.com",
"package_id": "1"
}
},
"kbaqna": null,
"employee_flow": {
"id": 274,
"employment_flow": null,
"education_flow": null,
"professional_license_flow": null,
"created_at": "2021-01-19T04:25:47.000Z",
"updated_at": "2021-01-19T04:25:47.000Z",
"employee_email": "johndoe@yopmail.com"
},
"s3_files": [],
"criminal_statuses": [],
"sjv_criminal_reports": [],
"motor_vehicle_record": null
}
}
}
A candidate who has created a profile can use this API to update their personal details. The updates can be made until the verification process is complete.
URL Parameters
Parameter | Type | Description |
---|---|---|
first_name | string |
The candidate's first name. |
middle_name | string |
The candidate's middle name. |
last_name | string |
The candidate's last name. |
dob | string |
The candidate's date of birth in the format DD-MM-YYYY. |
ssn | string |
The candidate's SSN. |
string |
The candidate's email address - must be the same address to which the verification request was sent. | |
house_number | integer |
The candidate's house number. |
street_name | string |
The name of the street where the candidate's house is located. |
address | string |
The candidate's residential address. |
city | string |
The city where the candidate's house is located. |
state | string |
The state where the candidate's house is located. |
zip_code | string |
The ZIP code of the postal district where the candidate's house is located. |
phone | string |
The candidate's phone number. |
Provide Consent
curl --location --request POST 'https://api.us.springverify.com/employee/consent' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer JWT_TOKEN' \
--data-raw '{
"summary_of_rights": true,
"background_check": true,
"report_checked": true,
"full_name": "John David Doe"
}'
// FETCH
var myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");
myHeaders.append("Authorization", "Bearer JWT_TOKEN");
var raw = JSON.stringify({"summary_of_rights":true,"background_check":true,"report_checked":true,"full_name":"John David Doe"});
var requestOptions = {
method: 'POST',
headers: myHeaders,
body: raw,
redirect: 'follow'
};
fetch("https://api.us.springverify.com/employee/consent", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
// REQUEST
var request = require('request');
var options = {
'method': 'POST',
'url': 'https://api.us.springverify.com/employee/consent',
'headers': {
'Content-Type': 'application/json',
'Authorization': 'Bearer JWT_TOKEN'
},
body: JSON.stringify({"summary_of_rights":true,"background_check":true,"report_checked":true,"full_name":"John David Doe"})
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
<?php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('https://api.us.springverify.com/employee/consent');
$request->setMethod(HTTP_Request2::METHOD_POST);
$request->setConfig(array(
'follow_redirects' => TRUE
));
$request->setHeader(array(
'Content-Type' => 'application/json',
'Authorization' => 'Bearer JWT_TOKEN'
));
$request->setBody('{\n "summary_of_rights": true,\n "background_check": true,\n "report_checked": true,\n "full_name": "John David Doe"\n}');
try {
$response = $request->send();
if ($response->getStatus() == 200) {
echo $response->getBody();
}
else {
echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
$response->getReasonPhrase();
}
}
catch(HTTP_Request2_Exception $e) {
echo 'Error: ' . $e->getMessage();
}
import requests
url = "https://api.us.springverify.com/employee/consent"
payload="{\n \"summary_of_rights\": true,\n \"background_check\": true,\n \"report_checked\": true,\n \"full_name\": \"John David Doe\"\n}"
headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer JWT_TOKEN'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
require "uri"
require "net/http"
url = URI("https://api.us.springverify.com/employee/consent")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = "application/json"
request["Authorization"] = "Bearer JWT_TOKEN"
request.body = "{\n \"summary_of_rights\": true,\n \"background_check\": true,\n \"report_checked\": true,\n \"full_name\": \"John David Doe\"\n}"
response = https.request(request)
puts response.read_body
Success Response
{
"success": true,
"data": {
"id": "c068d1da-9615-4b8e-a7a7-5daf624ed8d1",
"summary_of_rights_accepted": true,
"background_check_disclosure_accepted": true,
"is_report_checked": false,
"employee_email": "johndoe@gmail.com",
"consent_link": "s3 link",
"spring_sign_ref_id": "5f4524b817710d0014423b61",
"updated_at": "2020-08-25T14:48:27.394Z",
"created_at": "2020-08-25T14:48:27.394Z"
}
}
After creating their profile, a candidate needs to explicitly provide consent to allow background verification using this API. The name provided here should match the full name provided in the Submit Personal Details API.
URL Parameters
Parameter | Type | Description |
---|---|---|
summary_of_rights | boolean |
Indicates that the candidate has read the summary of rights. This flag can be "true" or "false". |
background_check | boolean |
Indicates that the candidate has agreed for a background check. This flag can be "true" or "false". |
report_checked | boolean |
Indicates that the candidate's report has been checked. This flag can be "true" or "false". |
full_name | string |
The candidate's full name. |
Knowledge Based Quiz
curl --location --request GET 'https://api.us.springverify.com/employee/kba/questions' \
--header 'Authorization: Bearer JWT_TOKEN'
Success Response
{
"success": true,
"data": {
"data": {
"idm_session_id": "103c7770a327eada",
"idmkba_response": {
"kba_question": [
{
"question_id": 1,
"question": "Which of the following addresses have you lived at?",
"question_type": "StreetAddress",
"options": [
{
"id": 1,
"option": "2601 GORDON AVE"
},
{
"id": 2,
"option": "134 MARYLAND RD"
},
{
"id": 3,
"option": "1131 CANYON RD"
},
{
"id": 4,
"option": "9011 CENTRAL RD"
},
{
"id": 5,
"option": "NONE OF THE ABOVE"
}
]
},
{
"question_id": 2,
"question": "Which of the following people is your relative?",
"question_type": "Relatives",
"options": [
{
"id": 1,
"option": "Dwight Kurt Schrute"
},
{
"id": 2,
"option": "Gabe"
},
{
"id": 3,
"option": "Kelly"
},
{
"id": 4,
"option": "Toby"
},
{
"id": 5,
"option": "NONE OF THE ABOVE"
}
]
},
{
"question_id": 3,
"question": "Which of the following vehicles have you owned?",
"question_type": "Vehicle",
"options": [
{
"id": 1,
"option": "1984 NISSAN 300ZX"
},
{
"id": 2,
"option": "1997 ISUZU RODEO"
},
{
"id": 3,
"option": "2008 HYUNDAI TIBURON"
},
{
"id": 4,
"option": "1967 LINCOLN CONTINENTAL"
},
{
"id": 5,
"option": "NONE OF THE ABOVE"
}
]
},
{
"question_id": 4,
"question": "Which of the following streets have you lived in?",
"question_type": "StreetName",
"options": [
{
"id": 1,
"option": "BANDERO DR"
},
{
"id": 2,
"option": "GALEWOOD DR"
},
{
"id": 3,
"option": "UNION HALL RD"
},
{
"id": 4,
"option": "KNOBHILL DR"
},
{
"id": 5,
"option": "NONE OF THE ABOVE"
}
]
},
{
"question_id": 5,
"question": "Which of these businesses are you associated with?",
"question_type": "Businesses",
"options": [
{
"id": 1,
"option": "Stark Industries"
},
{
"id": 2,
"option": "Avengers LLC"
},
{
"id": 3,
"option": "Wayne Enterprises"
},
{
"id": 4,
"option": "Dunder Mifflin"
},
{
"id": 5,
"option": "NONE OF THE ABOVE"
}
]
}
],
"kba_status": {
"questions_answered": 0,
"no_of_questions": 5
},
"is_kba_enabled": "1"
}
},
"attempt_number": 1,
"success": true
}
}
This API is used to generate a knowledge-based quiz about the candidate to verify authenticity. A series of questions relating to the candidate's profile will be asked to which the candidate is required to answer. Based on these answers, a score will be generated.
Submit KBA Quiz
curl --location --request POST 'https://api.us.springverify.com/employee/kba/verify' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer JWT_TOKEN' \
--data-raw '{
"qna":[
{
"question_id": 1,
"answer_id": 5
},{
"question_id": 2,
"answer_id": 5
},{
"question_id": 3,
"answer_id": 5
},{
"question_id": 4,
"answer_id": 5
},{
"question_id": 5,
"answer_id": 5
}
]
}'
// FETCH
var fetch = require('node-fetch');
fetch('https://api.us.springverify.com/employee/kba/verify', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer JWT_TOKEN'
},
body: JSON.stringify({ "qna":[ { "question_id": 1, "answer_id": 5 },{ "question_id": 2, "answer_id": 5 },{ "question_id": 3, "answer_id": 5 },{ "question_id": 4, "answer_id": 5 },{ "question_id": 5, "answer_id": 5 } ] })
});
// REQUEST
var request = require('request');
var headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer JWT_TOKEN'
};
var dataString = '{ "qna":[ { "question_id": 1, "answer_id": 5 },{ "question_id": 2, "answer_id": 5 },{ "question_id": 3, "answer_id": 5 },{ "question_id": 4, "answer_id": 5 },{ "question_id": 5, "answer_id": 5 } ] }';
var options = {
url: 'https://api.us.springverify.com/employee/kba/verify',
method: 'POST',
headers: headers,
body: dataString
};
function callback(error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body);
}
}
request(options, callback);
<?php
include('vendor/rmccue/requests/library/Requests.php');
Requests::register_autoloader();
$headers = array(
'Content-Type' => 'application/json',
'Authorization' => 'Bearer JWT_TOKEN'
);
$data = '{ "qna":[ { "question_id": 1, "answer_id": 5 },{ "question_id": 2, "answer_id": 5 },{ "question_id": 3, "answer_id": 5 },{ "question_id": 4, "answer_id": 5 },{ "question_id": 5, "answer_id": 5 } ] }';
$response = Requests::post('https://api.us.springverify.com/employee/kba/verify', $headers, $data);
import requests
headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer JWT_TOKEN',
}
data = '{ "qna":[ { "question_id": 1, "answer_id": 5 },{ "question_id": 2, "answer_id": 5 },{ "question_id": 3, "answer_id": 5 },{ "question_id": 4, "answer_id": 5 },{ "question_id": 5, "answer_id": 5 } ] }'
response = requests.post('https://api.us.springverify.com/employee/kba/verify', headers=headers, data=data)
require 'net/http'
require 'uri'
uri = URI.parse("https://api.us.springverify.com/employee/kba/verify")
request = Net::HTTP::Post.new(uri)
request.content_type = "application/json"
request["Authorization"] = "Bearer JWT_TOKEN"
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
# response.code
# response.body
Success Response
{
"success": true,
"data": {
"correct_answers": 5,
"total_questions": 5,
"success": true
}
}
Error Response
{
"message": "Your answers didn't seem to be correct, please try uploading DL or Passport.",
"stack": "message"
}
This API is used to submit the candidate's answers of the Knowledge Based Quiz.
URL Parameters
Parameter | Type | Description |
---|---|---|
qna | array |
This is an array that contains the IDs of the question as well as the ID of the responses to those questions. |
Upload and Verify ID
curl --location --request POST 'https://api.us.springverify.com/employee/upload/id' \
--header 'Authorization: Bearer JWT_TOKEN' \
--form 'front=@/path/to/file' \
--form 'back=@/path/to/file' \
// FETCH
var fetch = require('node-fetch');
fetch('https://api.us.springverify.com/employee/upload/id', {
method: 'POST',
headers: {
'Authorization': 'Bearer JWT_TOKEN'
}
});
// REQUEST
var request = require('request');
var headers = {
'Authorization': 'Bearer JWT_TOKEN'
};
var options = {
url: 'https://api.us.springverify.com/employee/upload/id',
method: 'POST',
headers: headers
};
function callback(error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body);
}
}
request(options, callback);
<?php
include('vendor/rmccue/requests/library/Requests.php');
Requests::register_autoloader();
$headers = array(
'Authorization' => 'Bearer JWT_TOKEN'
);
$response = Requests::post('https://api.us.springverify.com/employee/upload/id', $headers);
import requests
headers = {
'Authorization': 'Bearer JWT_TOKEN',
}
response = requests.post('https://api.us.springverify.com/employee/upload/id', headers=headers)
require 'net/http'
require 'uri'
uri = URI.parse("https://api.us.springverify.com/employee/upload/id")
request = Net::HTTP::Post.new(uri)
request["Authorization"] = "Bearer JWT_TOKEN"
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
# response.code
# response.body
Success Response
{
"success": true,
"data": {
"success": true,
"attempts": 1,
"user_access_code": "6e7d5f15-9456-430d-b9da-9df67a4d9996"
}
}
This API records the ID of the candidate and verifies its authenticity.
Important Notes:
- The maximum allowed size of the image uploaded (per image) is capped at 2MB. Uploading photos larger than 2MB will throw an exception.
- If using a mobile device, capturing a clear, non-blurry image is extremely important so that the ID can be processed accurately.
- At a minimum, a 5MP camera should be used to capture the images for the UploadID parameter.
- It is mandatory to have a contrast between the ID and the background. The background must be solid colored.
- It must be ensured that all the edges of the ID are visible and none of the edges are cutoff.
URL Parameters
Parameter | Type | Description |
---|---|---|
front | image |
The image of the front of the ID. |
back | image |
The image of the back of the ID. |
Upload and Verify Passport
curl --location --request POST 'https://api.us.springverify.com/employee/upload/passport' \
--header 'Authorization: Bearer JWT_TOKEN' \
--form 'front=@/path/to/file'
// FETCH
var fetch = require('node-fetch');
fetch('https://api.us.springverify.com/employee/upload/passport', {
method: 'POST',
headers: {
'Authorization': 'Bearer JWT_TOKEN'
}
});
// REQUEST
var request = require('request');
var headers = {
'Authorization': 'Bearer JWT_TOKEN'
};
var options = {
url: 'https://api.us.springverify.com/employee/upload/passport',
method: 'POST',
headers: headers
};
function callback(error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body);
}
}
request(options, callback);
<?php
include('vendor/rmccue/requests/library/Requests.php');
Requests::register_autoloader();
$headers = array(
'Authorization' => 'Bearer JWT_TOKEN'
);
$response = Requests::post('https://api.us.springverify.com/employee/upload/passport', $headers);
import requests
headers = {
'Authorization': 'Bearer JWT_TOKEN',
}
response = requests.post('https://api.us.springverify.com/employee/upload/passport', headers=headers)
require 'net/http'
require 'uri'
uri = URI.parse("https://api.us.springverify.com/employee/upload/passport")
request = Net::HTTP::Post.new(uri)
request["Authorization"] = "Bearer JWT_TOKEN"
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
# response.code
# response.body
Success Response
{
"success": true,
"data": true
}
Error Response
{
"message": "The Passport could not be parsed. Please make sure all four sides are visible and the Passport is in front of a dark background."
}
This API records the Passport details of the emcaployee and verifies its authenticity.
This API is used to upload an image of the candidate's passport that will be scanned and parsed. The image should have the candidate's information on it on the first or the second page. It must be a single picture that captures both pages of the passport. This follows the same logic as the other uploadId endpoints -- the picture needs to be clear with minimal glare and must have sufficient lighting.
There are several variables that are more likely to cause a document to fail: 1. The quality of the captured image - blurred images or images with reflections. 2. Personalization of the document such as documents with especially long names. 3. Variations in manufacturing techniques - for example, a card printed on the wrong side or slight variations in the printing location. 4. Wear and aging of the document - a worn or dirty card can cause failure. 5. Tampering and counterfeiting - unlawful changes or reproduction of documents.
URL Parameters
Parameter | Type | Description |
---|---|---|
front | image |
The image of the passport. |
Request Manual Review of the ID or Passport
curl --location --request GET 'https://api.us.springverify.com/employee/id/manual-review' \
--header 'Authorization: Bearer JWT_TOKEN'
// FETCH
var fetch = require('node-fetch');
fetch('https://api.us.springverify.com/employee/id/manual-review', {
headers: {
'Authorization': 'Bearer JWT_TOKEN'
}
});
// REQUEST
var request = require('request');
var headers = {
'Authorization': 'Bearer JWT_TOKEN'
};
var options = {
url: 'https://api.us.springverify.com/employee/id/manual-review',
headers: headers
};
function callback(error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body);
}
}
request(options, callback);
<?php
include('vendor/rmccue/requests/library/Requests.php');
Requests::register_autoloader();
$headers = array(
'Authorization' => 'Bearer JWT_TOKEN'
);
$response = Requests::get('https://api.us.springverify.com/employee/id/manual-review', $headers);
import requests
headers = {
'Authorization': 'Bearer JWT_TOKEN',
}
response = requests.get('https://api.us.springverify.com/employee/id/manual-review', headers=headers)
require 'net/http'
require 'uri'
uri = URI.parse("https://api.us.springverify.com/employee/id/manual-review")
request = Net::HTTP::Get.new(uri)
request["Authorization"] = "Bearer JWT_TOKEN"
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
# response.code
# response.body
Success Response
{
"success": true,
"data": "success"
}
If the uploading of an ID and of the passport fails more than once, a manual review can be requested using this API.
Get ID verification tries
curl --location --request GET 'https://api.us.springverify.com/employee/id/try-counts' \
--header 'Authorization: Bearer JWT_TOKEN'
// FETCH
var fetch = require('node-fetch');
fetch('https://api.us.springverify.com/employee/id/try-counts', {
headers: {
'Authorization': 'Bearer JWT_TOKEN'
}
});
// REQUEST
var request = require('request');
var headers = {
'Authorization': 'Bearer JWT_TOKEN'
};
var options = {
url: 'https://api.us.springverify.com/employee/id/try-counts',
headers: headers
};
function callback(error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body);
}
}
request(options, callback);
<?php
include('vendor/rmccue/requests/library/Requests.php');
Requests::register_autoloader();
$headers = array(
'Authorization' => 'Bearer JWT_TOKEN'
);
$response = Requests::get('https://api.us.springverify.com/employee/id/try-counts', $headers);
import requests
headers = {
'Authorization': 'Bearer JWT_TOKEN',
}
response = requests.get('https://api.us.springverify.com/employee/id/try-counts', headers=headers)
require 'net/http'
require 'uri'
uri = URI.parse("https://api.us.springverify.com/employee/id/try-counts")
request = Net::HTTP::Get.new(uri)
request["Authorization"] = "Bearer JWT_TOKEN"
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
# response.code
# response.body
Success Response
{
"success": true,
"data": {
"dl": 1,
"passport": 0,
"kba": 2
}
}
This API will provide the number of tries that a candidate has made for uploading the Driving License ID, the Passport and also the number of tries a candidate has made on the KBA (Knowledge Based Quiz). The maximum allowed limit is 2 per method per candidate.
Get Candidate Info
curl --location --request GET 'https://api.us.springverify.com/employee/' \
--header 'Authorization: Bearer JWT_TOKEN'
// FETCH
var fetch = require('node-fetch');
fetch('https://api.us.springverify.com/employee/', {
headers: {
'Authorization': 'Bearer JWT_TOKEN'
}
});
// REQUEST
var request = require('request');
var headers = {
'Authorization': 'Bearer JWT_TOKEN'
};
var options = {
url: 'https://api.us.springverify.com/employee/',
headers: headers
};
function callback(error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body);
}
}
request(options, callback);
<?php
include('vendor/rmccue/requests/library/Requests.php');
Requests::register_autoloader();
$headers = array(
'Authorization' => 'Bearer JWT_TOKEN'
);
$response = Requests::get('https://api.us.springverify.com/employee/', $headers);
import requests
headers = {
'Authorization': 'Bearer JWT_TOKEN',
}
response = requests.get('https://api.us.springverify.com/employee/', headers=headers)
require 'net/http'
require 'uri'
uri = URI.parse("https://api.us.springverify.com/employee/")
request = Net::HTTP::Get.new(uri)
request["Authorization"] = "Bearer JWT_TOKEN"
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
# response.code
# response.body
Success Response
{
"success": true,
"data": {
"employee": {
"id": "cc712be5-d433-414e-b5aa-00d65d9f0e4a",
"access_id": "b5584283-a2a3-4067-be33-62f340101b44",
"email": "johndoe@email.com",
"password_hash": "932f3c1b56257ce8539ac269d7aab42550dacf8818d075f0bdf1990562aae3ef",
"first_name": "Employee",
"middle_name": "M",
"last_name": "One",
"name_verified": null,
"created_at": "2021-07-03T08:44:03.000Z",
"updated_at": "2021-07-03T09:46:23.000Z",
"employer_id": "df74c56d-8a9e-4106-9c6f-4e456822481a",
"payment_id": "87296312-974b-4aab-ae62-83049e2719ee",
"email_sent": true,
"payment": false,
"status": "PENDING",
"flow_completed": true,
"company_created_by": null,
"company_id_fk": 126,
"added_by_fk": "karthik.raj+ca@springworks.in",
"archived_by": null,
"deleted_at": null,
"employee_limit_id": "4dd3e5b2-1df2-4004-a1a5-714bac305a3c",
"employments": [
{
"id": "ececd24c-9e5a-4cf2-b407-cd3000e0c4ac",
"email": "johndoe@email.com",
"access_id": null,
"employer_name": "Company1",
"employer_name_verified": 0,
"employer_phone": "1-4567434567",
"employer_phone_verified": null,
"employer_address": "Texarkana, TX, USA",
"employer_address_verified": 0,
"employer_town": "Texarkana",
"employer_town_verified": 0,
"state": "TX",
"state_verified": null,
"zipcode": "75001",
"zipcode_verified": null,
"employer_country": "United States",
"employer_country_verified": 0,
"job_title": "QA",
"job_title_verified": 0,
"start_date": "01-01-2000",
"start_date_verified": 0,
"end_date": "01-01-2011",
"end_date_verified": 0,
"supervisor_name": "contact1",
"supervisor_contact": "contact1@company1.com",
"current_employment": "0",
"current_employment_verified": 0,
"contract_type": null,
"contract_type_verified": "0",
"source": null,
"created_at": "2021-07-03T09:45:40.000Z",
"updated_at": "2021-07-29T07:16:28.000Z",
"job_type": "full time employee",
"reason_for_leaving": null,
"status": null,
"status_new": "MANUAL_REVIEW",
"super_admin_status": null,
"super_admin_status_new": "FAILED",
"consent": false,
"employee_id_fk": "cc712be5-d433-414e-b5aa-00d65d9f0e4a",
"deleted_at": null,
"adverse_action": {
"id": "fe52c032-8641-4fea-8ce4-0b3e8c81c583",
"check_id": "ececd24c-9e5a-4cf2-b407-cd3000e0c4ac",
"status": "PENDING",
"type": "EMPLOYMENT",
"cleared": null,
"comments": null,
"created_at": "2021-07-29T07:16:28.000Z",
"updated_at": "2021-07-29T07:16:28.000Z",
"deleted_at": null
}
}
],
"professional_references": [],
"education": [],
"kbaqna": {
"id": "53628a7e-c4d3-4ccc-b43d-941010e955e7",
"access_id": "b5584283-a2a3-4067-be33-62f340101b44",
"email": "johndoe@email.com",
"questions_flag": 1,
"kba_enabled": 1,
"question_count": "5",
"correct_answers": null,
"verified": null,
"created_at": "2021-07-06T13:21:26.000Z",
"updated_at": "2021-07-06T13:21:26.000Z",
"idm_session_id": "8453244f2469e58a",
"deleted_at": null,
"employee_email": "johndoe@email.com"
},
"employee_limit": {
"id": "4dd3e5b2-1df2-4004-a1a5-714bac305a3c",
"employment": 1,
"mvr": true,
"education": 1,
"professional_license": 1,
"all_county_criminal_search": false,
"county_criminal_search": 0,
"civil_court": 1,
"driving_license": 0,
"package_id": null,
"professional_reference": null,
"created_at": "2021-07-03T08:44:03.000Z",
"updated_at": "2021-07-03T08:44:03.000Z",
"employee_invite_group_id": "f337cac5-0b91-4463-8cfd-2a4005df11ab"
},
"employee_detail": {
"id": "46db165e-737a-4107-80fd-3648b08e390b",
"access_id": null,
"address": "2233, street",
"address_verified": null,
"driving_number": null,
"driving_number_verified": null,
"city": "city",
"city_verified": null,
"state": "IN",
"state_verified": null,
"zipcode": "12345",
"zipcode_verified": null,
"country": null,
"country_verified": null,
"birthdate": "01-01-1990",
"birthdate_verified": null,
"phone": "1-8765433223",
"phone_verified": null,
"ssn": "6789",
"ssn_verified": 1,
"employee_id_fk": null,
"created_at": "2021-07-03T09:00:10.000Z",
"updated_at": "2021-07-03T09:03:21.000Z",
"deleted_at": null,
"employee_email": "johndoe@email.com"
},
"employee_verification": {
"id": "7b22379e-7368-4676-a54e-905e864b6165",
"s3_gov_id": S3_LINK,
"s3_gov_id_back": null,
"s3_gov_id_match": false,
"s3_web_img": null,
"s3_passport_verified": 0,
"passport_status": "VERIFIED",
"s3_dl_verified": null,
"dl_status": null,
"verification_type": "id",
"address": null,
"address_verified": null,
"city": null,
"city_verified": null,
"state": null,
"state_verified": null,
"zipcode": null,
"zipcode_verified": null,
"country": null,
"country_verified": null,
"birthdate": null,
"birthdate_verified": null,
"criminal_verified": null,
"global_watchlist_verified": null,
"created_at": "2021-07-03T09:02:41.000Z",
"updated_at": "2021-07-03T09:03:21.000Z",
"is_report_checked": false,
"summary_of_rights_accepted": true,
"background_check_disclosure_accepted": true,
"id_manual_review": null,
"super_admin_status": null,
"super_admin_status_new": null,
"consent_link": CONSENT_LINK,
"spring_sign_ref_id": "60e027b07900a60012fb36ce",
"deleted_at": null,
"employee_email": "johndoe@email.com"
},
"employee_flow": {
"id": 549,
"employment_flow": "SUBMITTED",
"education_flow": null,
"mvr_flow": "SUBMITTED",
"professional_license_flow": null,
"professional_reference_flow": null,
"details_filled_on": null,
"id_filled_on": null,
"edu_filled_on": null,
"emp_filled_on": null,
"mvr_filled_on": null,
"pl_filled_on": null,
"pr_filled_on": null,
"created_at": "2021-07-03T09:00:10.000Z",
"updated_at": "2021-07-03T09:46:05.000Z",
"deleted_at": null,
"employee_email": "johndoe@email.com"
},
"criminal_statuses": {
"national_criminal": "PENDING",
"sex_offender": "PENDING",
"global_watchlist": "PENDING",
"civil_court": "FAILED",
"overall_criminal_status": "PENDING"
},
"motor_vehicle_record": {
"id": "e2d7d3d5-c56a-46a8-a940-945fb91725ce",
"status": "FAILED",
"license_number": "123123123",
"state": "AZ",
"authenticating_response": {
"state": "FL",
"record_type": "THREE YEAR",
"product": "DL",
"first_name": "JOHN",
"last_name": "DOE",
"birth_date": "1960-01-30T00:00:00.000Z",
"is_clear": "N",
"valid": "Y",
"returned_date": "31-10-2020",
"current_license": {
"license_number": "W544781114100",
"license_number_verified": true,
"issue_date": "11-12-2000",
"issue_date_verified": true,
"expiration_date": "10-12-2010",
"expiration_date_verified": true,
"class_description": "REGULAR OPERATOR",
"class_description_verified": true,
"class_code": "E",
"class_code_verified": true,
"has_driver_training": null,
"status": "REVOKED"
},
"violations": [
{
"common": {
"subtype": "VIOL",
"state": {
"abbrev": "AK",
"full": "ALASKA"
},
"date": {
"year": 2005,
"month": 9,
"day": 10
},
"location": "FAIRBANKS",
"iscommercial": "N",
"docketnumber": "B1220012"
},
"descriptionlist": {
"descriptionitem": {
"adrlargedescription": "IMP/NO SAFETY BELT",
"adrsmalldescription": "IMP/NO SAFETY BELT",
"statedescription": "IMP/NO SAFETY BELT",
"acd": "F04",
"avd1": "EB02",
"avd2": "EB02"
}
},
"violation": {
"convictiondate": {
"year": 2005,
"month": 9,
"day": 26
},
"courttype": "DISTRICT COURT",
"fineamount": "$15"
}
},
{
"common": {
"subtype": "VIOL",
"state": {
"abbrev": "AK",
"full": "ALASKA"
},
"date": {
"year": 2006,
"month": 1,
"day": 22
},
"iscommercial": "N",
"docketnumber": "A0000221"
},
"descriptionlist": {
"descriptionitem": {
"adrlargedescription": "RECKLESS DRIVING",
"adrsmalldescription": "RECKLESS DRIVING",
"statedescription": "RECKLESS DRIVING",
"acd": "M84",
"avd1": "MK05",
"avd2": "MK05"
}
},
"violation": {
"convictiondate": {
"year": 2006,
"month": 6,
"day": 2
},
"courttype": "DISTRICT COURT",
"fineamount": "$500"
}
},
{
"common": {
"subtype": "REVOCATION",
"state": {
"abbrev": "AK",
"full": "ALASKA"
},
"date": {
"year": 2003,
"month": 12,
"day": 5
},
"location": "NORTH POLE"
},
"descriptionlist": {
"descriptionitem": {
"adrlargedescription": "ADMIN PER SE .08",
"adrsmalldescription": "ADMIN PER SE .08",
"statedescription": "ADMIN PER SE .08",
"acd": "A90",
"avd1": "CB10",
"avd2": "CB10"
}
},
"action": {
"cleardate": {
"year": 2004,
"month": 3,
"day": 3
},
"offensedate": {
"year": 2003,
"month": 8,
"day": 23
}
}
},
{
"common": {
"subtype": "REVOCATION",
"state": {
"abbrev": "AK",
"full": "ALASKA"
},
"date": {
"year": 2006,
"month": 5,
"day": 27
}
},
"descriptionlist": {
"descriptionitem": {
"adrlargedescription": "ADMIN PER SE .08",
"adrsmalldescription": "ADMIN PER SE .08",
"statedescription": "ADMIN PER SE .08",
"acd": "A90",
"avd1": "CB10",
"avd2": "CB10"
}
},
"action": {
"cleardate": {
"year": 2006,
"month": 8,
"day": 24
},
"offensedate": {
"year": 2006,
"month": 1,
"day": 22
}
}
},
{
"common": {
"subtype": "REVOCATION",
"state": {
"abbrev": "AK",
"full": "ALASKA"
},
"date": {
"year": 2006,
"month": 5,
"day": 27
},
"docketnumber": "A0000221"
},
"descriptionlist": {
"descriptionitem": {
"adrlargedescription": "RECKLESS DRIVING",
"adrsmalldescription": "RECKLESS DRIVING",
"statedescription": "RECKLESS DRIVING",
"acd": "M84",
"avd1": "MK05",
"avd2": "MK05"
}
},
"action": {
"cleardate": {
"year": 2006,
"month": 8,
"day": 24
},
"offensedate": {
"year": 2006,
"month": 1,
"day": 22
}
}
},
{
"common": {
"subtype": "WARNING",
"state": {
"abbrev": "AK",
"full": "ALASKA"
},
"date": {
"year": 2006,
"month": 8,
"day": 5
}
},
"descriptionlist": {
"descriptionitem": {
"adrlargedescription": "POINT SYS WARNING",
"adrsmalldescription": "POINT SYS WARNING",
"statedescription": "POINT SYS WARNING",
"acd": "W01",
"avd1": "UH19",
"avd2": "UH24"
}
}
}
]
},
"adverse_action": {
"id": "1ef15e2c-16f3-4c93-991d-3f53952e6962",
"status": "FINAL_CALL",
"type": "MVR",
"cleared": null
}
},
"professional_licenses": [],
"employer": {
"id": "df74c56d-8a9e-4106-9c6f-4e456822481a",
"active": true,
"email": "karthik.raj+ca@springworks.in",
"domain": "springworks.in",
"role": "ADMIN",
"password": "$2b$10$bOatzkQowjKeWs.rS1WkTObO2DkHlvwfEKHEAgk.IgYgUKpkpEMyW",
"first_name": "Karthik",
"last_name": "Raj",
"phone_number": "1-3456789444",
"stripe_id": null,
"email_sent_time": null,
"company_id_fk": 126,
"join_date": null,
"is_demo_done": true,
"created_at": "2021-07-03T08:36:58.000Z",
"updated_at": "2021-07-03T08:40:14.000Z",
"deleted_at": null,
"company": {
"id": 126,
"created_by": "karthik.raj+ca@springworks.in",
"name": "Springworkstest",
"address": "1447, 2nd Streetsecond line",
"city": "Santa Monica",
"state": "IA",
"country": "US",
"zipcode": "90401",
"tax_id_number": null,
"credits": 1500,
"domain": "springworks.in",
"employment_limit": null,
"education_limit": null,
"license_limit": null,
"civilcourt_limit": null,
"dl_limit": null,
"s3_logo": null,
"stripe_cust_id": "cus_Jmdki8RL6djOxX",
"created_at": "2021-07-03T08:37:35.000Z",
"updated_at": "2021-08-05T04:00:07.000Z"
}
}
}
}
}
This API returns all info pertaining to a candidate including all types of verification.
Add Candidate Employment
curl --location --request POST 'https://api.us.springverify.com/employee/employment' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer JWT_TOKEN' \
--data-raw '{
"employer_name": "Stark Industries",
"employer_address": "12, Manhattan Street",
"employer_phone": "9911991199",
"employer_town": "New York",
"state": "New York",
"zip_code": "129012",
"country": "USA",
"job_title": "Senior Manager",
"start_date": "19-11-2000",
"end_date": "19-11-2002",
"supervisor_name": "Nick Fury",
"current_employment": "0",
"job_type": "Contract",
"reason_for_leaving": "xyz",
"supervisor_contact": "nickfury@starkindustries.com"
}'
// FETCH
var fetch = require('node-fetch');
fetch('https://api.us.springverify.com/employee/employment', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer JWT_TOKEN'
},
body: JSON.stringify({ "employer_name": "Stark Industries", "employer_address": "12, Manhattan Street", "employer_phone": "9911991199", "employer_town": "New York", "state": "New York", "zip_code": "129012", "country": "USA", "job_title": "Senior Manager", "start_date": "19-11-2000", "end_date": "19-11-2002", "supervisor_name": "Nick Fury", "current_employment": "0", "job_type": "Contract", "reason_for_leaving": "xyz", "supervisor_contact": "nickfury@starkindustries.com" })
});
// REQUEST
var request = require('request');
var headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer JWT_TOKEN'
};
var dataString = '{ "employer_name": "Stark Industries", "employer_address": "12, Manhattan Street", "employer_phone": "9911991199", "employer_town": "New York", "state": "New York", "zip_code": "129012", "country": "USA", "job_title": "Senior Manager", "start_date": "19-11-2000", "end_date": "19-11-2002", "supervisor_name": "Nick Fury", "current_employment": "0", "job_type": "Contract", "reason_for_leaving": "xyz", "supervisor_contact": "nickfury@starkindustries.com" }';
var options = {
url: 'https://api.us.springverify.com/employee/employment',
method: 'POST',
headers: headers,
body: dataString
};
function callback(error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body);
}
}
request(options, callback);
<?php
include('vendor/rmccue/requests/library/Requests.php');
Requests::register_autoloader();
$headers = array(
'Content-Type' => 'application/json',
'Authorization' => 'Bearer JWT_TOKEN'
);
$data = '{ "employer_name": "Stark Industries", "employer_address": "12, Manhattan Street", "employer_phone": "9911991199", "employer_town": "New York", "state": "New York", "zip_code": "129012", "country": "USA", "job_title": "Senior Manager", "start_date": "19-11-2000", "end_date": "19-11-2002", "supervisor_name": "Nick Fury", "current_employment": "0", "job_type": "Contract", "reason_for_leaving": "xyz", "supervisor_contact": "nickfury@starkindustries.com" }';
$response = Requests::post('https://api.us.springverify.com/employee/employment', $headers, $data);
import requests
headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer JWT_TOKEN',
}
data = '{ "employer_name": "Stark Industries", "employer_address": "12, Manhattan Street", "employer_phone": "9911991199", "employer_town": "New York", "state": "New York", "zip_code": "129012", "country": "USA", "job_title": "Senior Manager", "start_date": "19-11-2000", "end_date": "19-11-2002", "supervisor_name": "Nick Fury", "current_employment": "0", "job_type": "Contract", "reason_for_leaving": "xyz", "supervisor_contact": "nickfury@starkindustries.com" }'
response = requests.post('https://api.us.springverify.com/employee/employment', headers=headers, data=data)
require 'net/http'
require 'uri'
uri = URI.parse("https://api.us.springverify.com/employee/employment")
request = Net::HTTP::Post.new(uri)
request.content_type = "application/json"
request["Authorization"] = "Bearer JWT_TOKEN"
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
# response.code
# response.body
Success Response
{
"success": true,
"data": {
"id": "ef9e7612-3789-405a-be37-c7bc1871c1f7",
"email": "johndoe@gmail.com",
"employer_name": "Stark Industries",
"employer_town": "New York",
"employer_country": "USA",
"state": "New York",
"job_title": "Senior Manager",
"start_date": "19-11-2000",
"end_date": "19-11-2002",
"supervisor_name": "Nick Fury",
"job_type": "Contract",
"status": "PENDING",
"employer_address": "12, Manhattan Street",
"employer_phone": "9911991199",
"zipcode": "129012",
"reason_for_leaving": "xyz",
"supervisor_contact": "nickfury@starkindustries.com",
"updated_at": "2020-08-25T15:24:03.346Z",
"created_at": "2020-08-25T15:24:03.346Z"
}
}
This API will be used to submit the Employment records for the candidate.
URL Parameters
Parameter | Type | Description |
---|---|---|
employer_name | string |
Name of the employer. |
employer_address | string |
Address of the employer. |
employer_phone | string |
Phone number of the employer. |
employer_town | string |
Town where the employer is located. |
state | string |
State where the employer is located. |
zip_code | string |
Zip Code of the postal district where the employer is located. |
country | string |
Country where the employer is located. |
job_title | string |
Job title of the latest employment. |
start_date | string |
Start Date of the employment. |
end_date | string |
End Date of the employment. |
supervisor_name | string |
The name of the candidate's supervisor in this employment. |
current_employment | string |
Is this the candidate's current employment? |
job_type | string |
Is this a contract or a full-time employment? |
reason_for_leaving | string |
Reason for leaving the job (optional). |
supervisor_contact | string |
Contact details of the supervisor. |
Delete Employment
curl --location --request DELETE 'https://api.us.springverify.com/employee/employment?id=ef9e7612-3789-405a-be37-c7bc1871c1f7' \
--header 'Authorization: Bearer JWT_TOKEN'
// FETCH
var fetch = require('node-fetch');
fetch('https://api.us.springverify.com/employee/employment?id=ef9e7612-3789-405a-be37-c7bc1871c1f7', {
headers: {
'Authorization': 'Bearer JWT_TOKEN'
}
});
// REQUEST
var request = require('request');
var headers = {
'Authorization': 'Bearer JWT_TOKEN'
};
var options = {
url: 'https://api.us.springverify.com/employee/employment?id=ef9e7612-3789-405a-be37-c7bc1871c1f7',
headers: headers
};
function callback(error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body);
}
}
request(options, callback);
<?php
include('vendor/rmccue/requests/library/Requests.php');
Requests::register_autoloader();
$headers = array(
'Authorization' => 'Bearer JWT_TOKEN'
);
$response = Requests::get('https://api.us.springverify.com/employee/employment?id=ef9e7612-3789-405a-be37-c7bc1871c1f7', $headers);
import requests
headers = {
'Authorization': 'Bearer JWT_TOKEN',
}
params = (
('id', 'ef9e7612-3789-405a-be37-c7bc1871c1f7'),
)
response = requests.get('https://api.us.springverify.com/employee/employment', headers=headers, params=params)
require 'net/http'
require 'uri'
uri = URI.parse("https://api.us.springverify.com/employee/employment?id=ef9e7612-3789-405a-be37-c7bc1871c1f7")
request = Net::HTTP::Delete.new(uri)
request["Authorization"] = "Bearer JWT_TOKEN"
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
# response.code
# response.body
Success Response
{
"success": true,
"data": 1
}
This API is used to delete the employment submitted in the "Add Candidate Employment" API before it goes for verification.
URL Parameters
Parameter | Type | Description |
---|---|---|
id | uuid |
UUID of the employment record. |
Edit Employment
curl --location --request POST 'https://api.us.springverify.com/employee/employment' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer JWT_TOKEN' \
--data-raw '{
"id": "ef9e7612-3789-405a-be37-c7bc1871c1f7",
"employer_name": "Stark Industries pvt ltd",
"employer_address": "12, Manhattan Street",
"employer_phone": "9911991199",
"employer_town": "New York",
"state": "New York",
"zip_code": "129012",
"country": "USA",
"job_title": "Senior Manager",
"start_date": "19-11-2000",
"end_date": "19-11-2002",
"supervisor_name": "Nick Fury",
"current_employment": "0",
"job_type": "Contract",
"reason_for_leaving": "xyz",
"supervisor_contact": "nickfury@starkindustries.com"
}'
// FETCH
var fetch = require('node-fetch');
fetch('https://api.us.springverify.com/employee/employment', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer JWT_TOKEN'
},
body: JSON.stringify({ "id": "ef9e7612-3789-405a-be37-c7bc1871c1f7", "employer_name": "Stark Industries pvt ltd", "employer_address": "12, Manhattan Street", "employer_phone": "9911991199", "employer_town": "New York", "state": "New York", "zip_code": "129012", "country": "USA", "job_title": "Senior Manager", "start_date": "19-11-2000", "end_date": "19-11-2002", "supervisor_name": "Nick Fury", "current_employment": "0", "job_type": "Contract", "reason_for_leaving": "xyz", "supervisor_contact": "nickfury@starkindustries.com" })
});
// REQUEST
var request = require('request');
var headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer JWT_TOKEN'
};
var dataString = '{ "id": "ef9e7612-3789-405a-be37-c7bc1871c1f7", "employer_name": "Stark Industries pvt ltd", "employer_address": "12, Manhattan Street", "employer_phone": "9911991199", "employer_town": "New York", "state": "New York", "zip_code": "129012", "country": "USA", "job_title": "Senior Manager", "start_date": "19-11-2000", "end_date": "19-11-2002", "supervisor_name": "Nick Fury", "current_employment": "0", "job_type": "Contract", "reason_for_leaving": "xyz", "supervisor_contact": "nickfury@starkindustries.com" }';
var options = {
url: 'https://api.us.springverify.com/employee/employment',
method: 'POST',
headers: headers,
body: dataString
};
function callback(error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body);
}
}
request(options, callback);
<?php
include('vendor/rmccue/requests/library/Requests.php');
Requests::register_autoloader();
$headers = array(
'Content-Type' => 'application/json',
'Authorization' => 'Bearer JWT_TOKEN'
);
$data = '{ "id": "ef9e7612-3789-405a-be37-c7bc1871c1f7", "employer_name": "Stark Industries pvt ltd", "employer_address": "12, Manhattan Street", "employer_phone": "9911991199", "employer_town": "New York", "state": "New York", "zip_code": "129012", "country": "USA", "job_title": "Senior Manager", "start_date": "19-11-2000", "end_date": "19-11-2002", "supervisor_name": "Nick Fury", "current_employment": "0", "job_type": "Contract", "reason_for_leaving": "xyz", "supervisor_contact": "nickfury@starkindustries.com" }';
$response = Requests::post('https://api.us.springverify.com/employee/employment', $headers, $data);
import requests
headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer JWT_TOKEN',
}
data = '{ "id": "ef9e7612-3789-405a-be37-c7bc1871c1f7", "employer_name": "Stark Industries pvt ltd", "employer_address": "12, Manhattan Street", "employer_phone": "9911991199", "employer_town": "New York", "state": "New York", "zip_code": "129012", "country": "USA", "job_title": "Senior Manager", "start_date": "19-11-2000", "end_date": "19-11-2002", "supervisor_name": "Nick Fury", "current_employment": "0", "job_type": "Contract", "reason_for_leaving": "xyz", "supervisor_contact": "nickfury@starkindustries.com" }'
response = requests.post('https://api.us.springverify.com/employee/employment', headers=headers, data=data)
require 'net/http'
require 'uri'
uri = URI.parse("https://api.us.springverify.com/employee/employment")
request = Net::HTTP::Post.new(uri)
request.content_type = "application/json"
request["Authorization"] = "Bearer JWT_TOKEN"
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
# response.code
# response.body
Success Response
{
"success": true,
"data": {
"id": "ef9e7612-3789-405a-be37-c7bc1871c1f7",
"email": "johndoe@gmail.com",
"access_id": null,
"employer_name": "Stark Industries pvt ltd",
"employer_name_verified": null,
"employer_phone": "9911991199",
"employer_phone_verified": null,
"employer_address": "12, Manhattan Street",
"employer_address_verified": null,
"employer_town": "New York",
"employer_town_verified": null,
"state": "New York",
"state_verified": null,
"zipcode": "129012",
"zipcode_verified": null,
"employer_country": "USA",
"employer_country_verified": null,
"job_title": "Senior Manager",
"job_title_verified": null,
"start_date": "19-11-2000",
"start_date_verified": null,
"end_date": "19-11-2002",
"end_date_verified": null,
"supervisor_name": "Nick Fury",
"supervisor_contact": "nickfury@starkindustries.com",
"current_employment": "0",
"current_employment_verified": null,
"contract_type": null,
"contract_type_verified": null,
"source": null,
"created_at": "2020-08-26T06:24:25.000Z",
"updated_at": "2020-08-26T06:26:07.019Z",
"job_type": "Full time",
"reason_for_leaving": "xyz",
"status": "PENDING",
"status_new": null,
"super_admin_status": null,
"super_admin_status_new": null,
"consent": null
}
}
By adding the ID received in the "Submit Employment" response in this API, it can be used to edit the employment data.
URL Parameters
Parameter | Type | Description |
---|---|---|
id | uuid |
UUID of the employment record. |
employer_name | string |
Name of the employer. |
employer_address | string |
Address of the employer. |
employer_phone | string |
Phone number of the employer. |
employer_town | string |
Town where the employer is located. |
state | string |
State where the employer is located. |
zip_code | string |
Zip Code of the postal district where the employer is located. |
country | string |
Country where the employer is located. |
job_title | string |
Job title of the latest employment. |
start_date | string |
Start Date of the employment. |
end_date | string |
End Date of the employment. |
supervisor_name | string |
The name of the candidate's supervisor in this employment. |
current_employment | string |
Is this the candidate's current employment? |
job_type | string |
Is this a contract or a full-time employment? |
reason_for_leaving | string |
Reason for leaving the job (optional). |
supervisor_contact | string |
Contact details of the supervisor. |
Trigger Employment Verification
curl --location --request GET 'https://api.us.springverify.com/employee/submit/employment' \
--header 'Authorization: Bearer JWT_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"run_mock": true,
"fail_check": false
}'
// FETCH
var myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer JWT_TOKEN");
myHeaders.append("Content-Type", "application/json");
var raw = JSON.stringify({"run_mock":true,"fail_check":false});
var requestOptions = {
method: 'GET',
headers: myHeaders,
body: raw,
redirect: 'follow'
};
fetch("https://api.us.springverify.com/employee/submit/employment", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
// REQUEST
var request = require('request');
var options = {
'method': 'GET',
'url': 'https://api.us.springverify.com/employee/submit/employment',
'headers': {
'Authorization': 'Bearer JWT_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({"run_mock":true,"fail_check":false})
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
<?php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('https://api.us.springverify.com/employee/submit/employment');
$request->setMethod(HTTP_Request2::METHOD_GET);
$request->setConfig(array(
'follow_redirects' => TRUE
));
$request->setHeader(array(
'Authorization' => 'Bearer JWT_TOKEN',
'Content-Type' => 'application/json'
));
$request->setBody('{\n "run_mock": true,\n "fail_check": false\n}');
try {
$response = $request->send();
if ($response->getStatus() == 200) {
echo $response->getBody();
}
else {
echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
$response->getReasonPhrase();
}
}
catch(HTTP_Request2_Exception $e) {
echo 'Error: ' . $e->getMessage();
}
require "uri"
require "net/http"
url = URI("https://api.us.springverify.com/employee/submit/employment")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer JWT_TOKEN"
request["Content-Type"] = "application/json"
request.body = "{\n \"run_mock\": true,\n \"fail_check\": false\n}"
response = https.request(request)
puts response.read_body
Success Response
{
"success": true,
"data": {
"success": true,
"status": "Completed",
"institution_name_verified": false,
"employer_name_verified": false,
"count": 1
}
}
Once the employment records have been submitted and finalized, an Employment Verification request can be triggered using this API.
URL Parameters
Parameter | Type | Description |
---|---|---|
run_mock | boolean |
(Optional) Run mock api |
fail_check | boolean |
(Optional) Whether the employment check should fail or not |
Add Candidate's Education
curl --location --request POST 'https://api.us.springverify.com/employee/education' \
--header 'Content-Type: application/json' \
--data-raw '{
"school_name": "MIT",
"school_type": "University",
"school_campus": "Boston",
"address": "Asdasd",
"city":"Boston",
"state":"Massachusetts",
"zip_code": "126112"
"country":"USA",
"start_date":"28-12-1991",
"end_date":"12-28-1996",
"degree":"Engineering",
"currently_attending":"0",
"completed_successfully":"1",
"major":"Biotech"
}'
Success Response
{
"success": true,
"data": {
"id": "de359912-1223-4338-87c4-0783a0ea495b",
"email": "johndoe@gmail.com",
"school_name": "MIT",
"school_type": "University",
"school_campus": "Boston",
"address": "Asdasd",
"city": "Boston",
"country": "USA",
"start_date": "28-12-1991",
"end_date": "12-28-1996",
"degree": "Engineering",
"currently_attending": "0",
"completed_successfully": "1",
"status": "PENDING",
"state": "Massachusetts",
"major": "Biotech",
"zipcode": "126112",
"updated_at": "2020-08-26T06:57:12.876Z",
"created_at": "2020-08-26T06:57:12.876Z"
}
}
// FETCH
var fetch = require('node-fetch');
fetch('https://api.us.springverify.com/employee/education', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: '{ "school_name": "MIT", "school_type": "University", "school_campus": "Boston", "address": "Asdasd", "city":"Boston", "state":"Massachusetts", "zip_code": "126112" "country":"USA", "start_date":"28-12-1991", "end_date":"12-28-1996", "degree":"Engineering", "currently_attending":"0", "completed_successfully":"1", "major":"Biotech" }'
});
// REQUEST
var request = require('request');
var headers = {
'Content-Type': 'application/json'
};
var dataString = '{ "school_name": "MIT", "school_type": "University", "school_campus": "Boston", "address": "Asdasd", "city":"Boston", "state":"Massachusetts", "zip_code": "126112" "country":"USA", "start_date":"28-12-1991", "end_date":"12-28-1996", "degree":"Engineering", "currently_attending":"0", "completed_successfully":"1", "major":"Biotech" }';
var options = {
url: 'https://api.us.springverify.com/employee/education',
method: 'POST',
headers: headers,
body: dataString
};
function callback(error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body);
}
}
request(options, callback);
<?php
include('vendor/rmccue/requests/library/Requests.php');
Requests::register_autoloader();
$headers = array(
'Content-Type' => 'application/json'
);
$data = '{ "school_name": "MIT", "school_type": "University", "school_campus": "Boston", "address": "Asdasd", "city":"Boston", "state":"Massachusetts", "zip_code": "126112" "country":"USA", "start_date":"28-12-1991", "end_date":"12-28-1996", "degree":"Engineering", "currently_attending":"0", "completed_successfully":"1", "major":"Biotech" }';
$response = Requests::post('https://api.us.springverify.com/employee/education', $headers, $data);
import requests
headers = {
'Content-Type': 'application/json',
}
data = '{ "school_name": "MIT", "school_type": "University", "school_campus": "Boston", "address": "Asdasd", "city":"Boston", "state":"Massachusetts", "zip_code": "126112" "country":"USA", "start_date":"28-12-1991", "end_date":"12-28-1996", "degree":"Engineering", "currently_attending":"0", "completed_successfully":"1", "major":"Biotech" }'
response = requests.post('https://api.us.springverify.com/employee/education', headers=headers, data=data)
require 'net/http'
require 'uri'
uri = URI.parse("https://api.us.springverify.com/employee/education")
request = Net::HTTP::Post.new(uri)
request.content_type = "application/json"
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
# response.code
# response.body
This API will be used to submit the education records of the candidate.
URL Parameters
Parameter | Type | Description |
---|---|---|
school_name | string |
The name of the candidate's school. |
school_type | string |
The type of the candidate's school. |
school_campus | string |
The campus of the candidate's school. |
address | string |
The address of the candidate's school. |
city | string |
The city where the candidate's school is located. |
state | string |
The state where the candidate's school is located. |
zip_code | string |
The ZIP code of the postal district where the candidate's school is located. |
country | string |
The country where the candidate's school is located. |
start_date | string |
Start date of the course. |
end_date | string |
End date of the course. |
degree | string |
Official degree of the course. |
currently_attending | string |
This flag will be set to 1 if the candidate is currently attending the course, else it will be set to 0. |
completed_successfully | string |
This flag will be set to 1 if the candidate has successfully completed the course, else it will be set to 0. |
major | string |
The field in which the candidate has majored. |
Edit Education Entry
curl --location --request POST 'https://api.us.springverify.com/employee/education' \
--header 'Content-Type: application/json' \
--data-raw '{
"id":"de359912-1223-4338-87c4-0783a0ea495b",
"school_name": "MIT",
"school_type": "University",
"school_campus": "Boston",
"address":"New street east block",
"city":"Boston",
"state":"Massachusetts",
"zip_code": "129012",
"country":"USA",
"start_date": "28-12-1991",
"end_date": "12-28-1996",
"degree":"Engineering",
"currently_attending":"0",
"completed_successfully":"1",
"major":"Biotech"
}'
// FETCH
var fetch = require('node-fetch');
fetch('https://api.us.springverify.com/employee/education', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ "id":"de359912-1223-4338-87c4-0783a0ea495b", "school_name": "MIT", "school_type": "University", "school_campus": "Boston", "address":"New street east block", "city":"Boston", "state":"Massachusetts", "zip_code": "129012", "country":"USA", "start_date": "28-12-1991", "end_date": "12-28-1996", "degree":"Engineering", "currently_attending":"0", "completed_successfully":"1", "major":"Biotech" })
});
// REQUEST
var request = require('request');
var headers = {
'Content-Type': 'application/json'
};
var dataString = '{ "id":"de359912-1223-4338-87c4-0783a0ea495b", "school_name": "MIT", "school_type": "University", "school_campus": "Boston", "address":"New street east block", "city":"Boston", "state":"Massachusetts", "zip_code": "129012", "country":"USA", "start_date": "28-12-1991", "end_date": "12-28-1996", "degree":"Engineering", "currently_attending":"0", "completed_successfully":"1", "major":"Biotech" }';
var options = {
url: 'https://api.us.springverify.com/employee/education',
method: 'POST',
headers: headers,
body: dataString
};
function callback(error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body);
}
}
request(options, callback);
<?php
include('vendor/rmccue/requests/library/Requests.php');
Requests::register_autoloader();
$headers = array(
'Content-Type' => 'application/json'
);
$data = '{ "id":"de359912-1223-4338-87c4-0783a0ea495b", "school_name": "MIT", "school_type": "University", "school_campus": "Boston", "address":"New street east block", "city":"Boston", "state":"Massachusetts", "zip_code": "129012", "country":"USA", "start_date": "28-12-1991", "end_date": "12-28-1996", "degree":"Engineering", "currently_attending":"0", "completed_successfully":"1", "major":"Biotech" }';
$response = Requests::post('https://api.us.springverify.com/employee/education', $headers, $data);
import requests
headers = {
'Content-Type': 'application/json',
}
data = '{ "id":"de359912-1223-4338-87c4-0783a0ea495b", "school_name": "MIT", "school_type": "University", "school_campus": "Boston", "address":"New street east block", "city":"Boston", "state":"Massachusetts", "zip_code": "129012", "country":"USA", "start_date": "28-12-1991", "end_date": "12-28-1996", "degree":"Engineering", "currently_attending":"0", "completed_successfully":"1", "major":"Biotech" }'
response = requests.post('https://api.us.springverify.com/employee/education', headers=headers, data=data)
require 'net/http'
require 'uri'
uri = URI.parse("https://api.us.springverify.com/employee/education")
request = Net::HTTP::Post.new(uri)
request.content_type = "application/json"
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
# response.code
# response.body
Success Response
{
"success": true,
"data": {
"id": "18304027-e78a-426c-aae5-db9c677c1704",
"email": "johndoe@gmail.com",
"access_id": null,
"employee_alias_name": null,
"employee_alias_name_verified": null,
"school_name": "MIT",
"school_name_verified": null,
"school_campus": "Boston",
"school_campus_verified": null,
"phone": null,
"phone_verified": null,
"address": "New street east block",
"address_verified": null,
"town": null,
"town_verified": null,
"city": "Boston",
"city_verified": null,
"state": "Massachusetts",
"state_verified": null,
"zipcode": "129012",
"zipcode_verified": null,
"country": "USA",
"country_verified": null,
"start_date": "28-12-1991",
"start_date_verified": null,
"end_date": "12-28-1996",
"end_date_verified": null,
"degree": "Engineering",
"degree_verified": null,
"major": "Biotech",
"major_verified": null,
"school_type": "University",
"source": null,
"created_at": "2020-08-26T07:15:58.000Z",
"updated_at": "2020-08-26T07:16:55.604Z",
"currently_attending": "0",
"completed_successfully": "1",
"status": "PENDING",
"status_new": null,
"super_admin_status": null,
"super_admin_status_new": null
}
}
This API will be used to edit the education records for the Candidate. The id parameter passed will be the same as received at the time of Education Entry submission.
URL Parameters
Parameter | Type | Description |
---|---|---|
id | uuid |
UUID of the education entry. |
school_name | string |
The name of the candidate's school. |
school_type | string |
The type of the candidate's school. |
school_campus | string |
The campus of the candidate's school. |
address | string |
The address of the candidate's school. |
city | string |
The city where the candidate's school is located. |
state | string |
The state where the candidate's school is located. |
zip_code | string |
The ZIP code of the postal district where the candidate's school is located. |
country | string |
The country where the candidate's school is located. |
start_date | string |
Start date of the course. |
end_date | string |
End date of the course. |
degree | string |
Official degree of the course. |
currently_attending | string |
This flag will be set to 1 if the candidate is currently attending the course, else it will be set to 0. |
completed_successfully | string |
This flag will be set to 1 if the candidate has successfully completed the course, else it will be set to 0. |
major | string |
The field in which the candidate has majored. |
Delete Education
curl --location --request DELETE 'https://api.us.springverify.com/employee/education?id=de359912-1223-4338-87c4-0783a0ea495b' \
--header 'Authorization: Bearer JWT_TOKEN'
// FETCH
var fetch = require('node-fetch');
fetch('https://api.us.springverify.com/employee/education?id=de359912-1223-4338-87c4-0783a0ea495b', {
headers: {
'Authorization': 'Bearer JWT_TOKEN'
}
});
// REQUEST
var request = require('request');
var headers = {
'Authorization': 'Bearer JWT_TOKEN'
};
var options = {
url: 'https://api.us.springverify.com/employee/education?id=de359912-1223-4338-87c4-0783a0ea495b',
headers: headers
};
function callback(error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body);
}
}
request(options, callback);
<?php
include('vendor/rmccue/requests/library/Requests.php');
Requests::register_autoloader();
$headers = array(
'Authorization' => 'Bearer JWT_TOKEN'
);
$response = Requests::get('https://api.us.springverify.com/employee/education?id=de359912-1223-4338-87c4-0783a0ea495b', $headers);
import requests
headers = {
'Authorization': 'Bearer JWT_TOKEN',
}
params = (
('id', 'de359912-1223-4338-87c4-0783a0ea495b'),
)
response = requests.get('https://api.us.springverify.com/employee/education', headers=headers, params=params)
require 'net/http'
require 'uri'
uri = URI.parse("https://api.us.springverify.com/employee/education?id=de359912-1223-4338-87c4-0783a0ea495b")
request = Net::HTTP::Delete.new(uri)
request["Authorization"] = "Bearer JWT_TOKEN"
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
# response.code
# response.body
Success Response
{
"success": true,
"data": 1
}
This API is used to delete the education entry submitted in the previous API before it goes for verification.
URL Parameters
Parameter | Type | Description |
---|---|---|
id | uuid |
UUID of the education entry. |
Trigger Education Verification
curl --location --request GET 'https://api.us.springverify.com/employee/submit/education' \
--header 'Authorization: Bearer JWT_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"run_mock": true,
"fail_check": false
}'
// FETCH
var myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer JWT_TOKEN");
myHeaders.append("Content-Type", "application/json");
var raw = JSON.stringify({"run_mock":true,"fail_check":false});
var requestOptions = {
method: 'GET',
headers: myHeaders,
body: raw,
redirect: 'follow'
};
fetch("https://api.us.springverify.com/employee/submit/education", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
// REQUEST
var request = require('request');
var options = {
'method': 'GET',
'url': 'https://api.us.springverify.com/employee/submit/education',
'headers': {
'Authorization': 'Bearer JWT_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({"run_mock":true,"fail_check":false})
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
<?php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('https://api.us.springverify.com/employee/submit/education');
$request->setMethod(HTTP_Request2::METHOD_GET);
$request->setConfig(array(
'follow_redirects' => TRUE
));
$request->setHeader(array(
'Authorization' => 'Bearer JWT_TOKEN',
'Content-Type' => 'application/json'
));
$request->setBody('{\n "run_mock": true,\n "fail_check": false\n}');
try {
$response = $request->send();
if ($response->getStatus() == 200) {
echo $response->getBody();
}
else {
echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
$response->getReasonPhrase();
}
}
catch(HTTP_Request2_Exception $e) {
echo 'Error: ' . $e->getMessage();
}
import requests
url = "https://api.us.springverify.com/employee/submit/education"
payload="{\n \"run_mock\": true,\n \"fail_check\": false\n}"
headers = {
'Authorization': 'Bearer JWT_TOKEN',
'Content-Type': 'application/json'
}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)
require "uri"
require "net/http"
url = URI("https://api.us.springverify.com/employee/submit/education")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer JWT_TOKEN"
request["Content-Type"] = "application/json"
request.body = "{\n \"run_mock\": true,\n \"fail_check\": false\n}"
response = https.request(request)
puts response.read_body
Success Response
{
"success": true,
"data": {
"success": true,
"status": "Completed",
"institution_name_verified": false,
"employer_name_verified": false
}
}
Once the education records have been submitted and finalized, an Education Verification request can be triggered using this API.
URL Parameters
Parameter | Type | Description |
---|---|---|
run_mock | boolean |
(Optional) Run mock api |
fail_check | boolean |
(Optional) Whether the education check should fail or not |
Add Motor Vehicle Record
curl --location --request POST 'https://api.us.springverify.com/employee/mvr' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer JWT_TOKEN' \
--data-raw '{
"license_number": "LH4782920",
"state": "CA"
}'
Success Response
{
"success": true,
"data": "Data updated successfully."
}
// FETCH
var myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");
myHeaders.append("Authorization", "Bearer JWT_TOKEN");
var raw = JSON.stringify({
"license_number": "LH4782920",
"state": "CA"
});
var requestOptions = {
method: 'POST',
headers: myHeaders,
body: raw,
redirect: 'follow'
};
fetch("https://api.us.springverify.com/employee/mvr", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
// REQUEST
var request = require('request');
var options = {
'method': 'POST',
'url': 'https://api.us.springverify.com/employee/mvr',
'headers': {
'Content-Type': 'application/json',
'Authorization': 'Bearer JWT_TOKEN'
},
body: JSON.stringify({
"license_number": "LH4782920",
"state": "CA"
})
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
<?php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('https://api.us.springverify.com/employee/mvr');
$request->setMethod(HTTP_Request2::METHOD_POST);
$request->setConfig(array(
'follow_redirects' => TRUE
));
$request->setHeader(array(
'Content-Type' => 'application/json',
'Authorization' => 'Bearer JWT_TOKEN'
));
$request->setBody('{\n "license_number": "LH4782920",\n "state": "CA"\n}');
try {
$response = $request->send();
if ($response->getStatus() == 200) {
echo $response->getBody();
}
else {
echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
$response->getReasonPhrase();
}
}
catch(HTTP_Request2_Exception $e) {
echo 'Error: ' . $e->getMessage();
}
import requests
import json
url = "https://api.us.springverify.com/employee/mvr"
payload = json.dumps({
"license_number": "LH4782920",
"state": "CA"
})
headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer JWT_TOKEN'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
require "uri"
require "json"
require "net/http"
url = URI("https://api.us.springverify.com/employee/mvr")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = "application/json"
request["Authorization"] = "Bearer JWT_TOKEN"
request.body = JSON.dump({
"license_number": "LH4782920",
"state": "CA"
})
response = https.request(request)
puts response.read_body
This API will be used to submit the motor vehicle record of the candidate. This endpoint can be called again to update the license number or state.
URL Parameters
Parameter | Type | Description |
---|---|---|
license_number | string |
License number |
state | string |
A 2-letter and 2-digit codes from the ANSI standard INCITS 38:2009 |
Delete Motor Vehicle Record
curl --location --request DELETE 'https://api.us.springverify.com/employee/mvr/3f605433-7654-4d81-8a03-2fadd5e5140a' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer JWT_TOKEN'
Success Response
{
"success": true,
"data": "MVR record deleted successfully."
}
// FETCH
var myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");
myHeaders.append("Authorization", "Bearer JWT_TOKEN");
var requestOptions = {
method: 'DELETE',
headers: myHeaders,
redirect: 'follow'
};
fetch("https://api.us.springverify.com/employee/mvr/3f605433-7654-4d81-8a03-2fadd5e5140a", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
// REQUEST
var request = require('request');
var options = {
'method': 'DELETE',
'url': 'https://api.us.springverify.com/employee/mvr/3f605433-7654-4d81-8a03-2fadd5e5140a',
'headers': {
'Content-Type': 'application/json',
'Authorization': 'Bearer JWT_TOKEN'
}
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
<?php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('https://api.us.springverify.com/employee/mvr/3f605433-7654-4d81-8a03-2fadd5e5140a');
$request->setMethod(HTTP_Request2::METHOD_DELETE);
$request->setConfig(array(
'follow_redirects' => TRUE
));
$request->setHeader(array(
'Content-Type' => 'application/json',
'Authorization' => 'Bearer JWT_TOKEN'
));
try {
$response = $request->send();
if ($response->getStatus() == 200) {
echo $response->getBody();
}
else {
echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
$response->getReasonPhrase();
}
}
catch(HTTP_Request2_Exception $e) {
echo 'Error: ' . $e->getMessage();
}
import requests
import json
url = "https://api.us.springverify.com/employee/mvr/3f605433-7654-4d81-8a03-2fadd5e5140a"
payload={}
headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer JWT_TOKEN'
}
response = requests.request("DELETE", url, headers=headers, data=payload)
print(response.text)
require "uri"
require "json"
require "net/http"
url = URI("https://api.us.springverify.com/employee/mvr/3f605433-7654-4d81-8a03-2fadd5e5140a")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Content-Type"] = "application/json"
request["Authorization"] = "Bearer JWT_TOKEN"
response = https.request(request)
puts response.read_body
This API is used to delete the motor vehicle record entry submitted in the previous API before it goes for verification.
URL Parameters
Parameter | Type | Description |
---|---|---|
id | uuid |
UUID of MVR entry |
Create Password
curl --location --request POST 'https://api.us.springverify.com/employee/create-password' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer JWT_TOKEN' \
--data-raw '{
"token": "JWT_TOKEN"
"password_hash":"5c29a959abce4eda5f0e7a4e7ea53dce4fa0f0abbe8eaa63717e2fed5f193d31"
}'
// FETCH
var fetch = require('node-fetch');
fetch('https://api.us.springverify.com/employee/create-password', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer JWT_TOKEN'
},
body: '{ "token": "JWT_TOKEN" "password_hash":"5c29a959abce4eda5f0e7a4e7ea53dce4fa0f0abbe8eaa63717e2fed5f193d31" }'
});
// REQUEST
var request = require('request');
var headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer JWT_TOKEN'
};
var dataString = '{ "token": "JWT_TOKEN" "password_hash":"5c29a959abce4eda5f0e7a4e7ea53dce4fa0f0abbe8eaa63717e2fed5f193d31" }';
var options = {
url: 'https://api.us.springverify.com/employee/create-password',
method: 'POST',
headers: headers,
body: dataString
};
function callback(error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body);
}
}
request(options, callback);
<?php
include('vendor/rmccue/requests/library/Requests.php');
Requests::register_autoloader();
$headers = array(
'Content-Type' => 'application/json',
'Authorization' => 'Bearer JWT_TOKEN'
);
$data = '{ "token": "JWT_TOKEN" "password_hash":"5c29a959abce4eda5f0e7a4e7ea53dce4fa0f0abbe8eaa63717e2fed5f193d31" }';
$response = Requests::post('https://api.us.springverify.com/employee/create-password', $headers, $data);
import requests
headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer JWT_TOKEN',
}
data = '{ "token": "JWT_TOKEN" "password_hash":"5c29a959abce4eda5f0e7a4e7ea53dce4fa0f0abbe8eaa63717e2fed5f193d31" }'
response = requests.post('https://api.us.springverify.com/employee/create-password', headers=headers, data=data)
require 'net/http'
require 'uri'
uri = URI.parse("https://api.us.springverify.com/employee/create-password")
request = Net::HTTP::Post.new(uri)
request.content_type = "application/json"
request["Authorization"] = "Bearer JWT_TOKEN"
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
# response.code
# response.body
Success Response
{
"success": true,
"data": {
"id": "9ca37df2-1d81-40df-90aa-b88e081b8103",
"access_id": "6e7d5f15-9456-430d-b9da-9df67a4d9996",
"email": "johndoe@gmail.com",
"password_hash": "yahoo123456789",
"first_name": "John",
"middle_name": "David",
"last_name": "Doe",
"name_verified": null,
"created_at": "2020-08-25T14:28:47.000Z",
"updated_at": "2020-08-26T07:52:04.000Z",
"employer_id": "1d4fb8ba-09ac-412c-aa62-58970b4d7472",
"payment_id": "6c75e302-ac2a-4efa-9ba9-c5dfc97b941e",
"email_sent": true,
"payment": false,
"status": null,
"flow_completed": null,
"company_created_by": "zed@max.com",
"employee_limit_id": "e1e2fef4-a1dd-4be2-8dd1-b0ab8ec29ff8",
"employments": [
{
"id": "d0284d0b-eae8-4f0c-a574-66d39ad9d548",
"email": "johndoe@gmail.com",
"access_id": null,
"employer_name": "Stark Industries pvt ltd",
"employer_name_verified": null,
"employer_phone": "9911991199",
"employer_phone_verified": null,
"employer_address": "12, Manhattan Street",
"employer_address_verified": null,
"employer_town": "New York",
"employer_town_verified": null,
"state": "New York",
"state_verified": null,
"zipcode": "129012",
"zipcode_verified": null,
"employer_country": "USA",
"employer_country_verified": null,
"job_title": "Senior Manager",
"job_title_verified": null,
"start_date": "19-11-2000",
"start_date_verified": null,
"end_date": "19-11-2002",
"end_date_verified": null,
"supervisor_name": "Nick Fury",
"supervisor_contact": "nickfury@starkindustries.com",
"current_employment": "0",
"current_employment_verified": null,
"contract_type": null,
"contract_type_verified": null,
"source": null,
"created_at": "2020-08-26T06:24:25.000Z",
"updated_at": "2020-08-26T06:26:07.000Z",
"job_type": "Full time",
"reason_for_leaving": "xyz",
"status": 0,
"status_new": null,
"super_admin_status": null,
"super_admin_status_new": null,
"consent": null,
"adverse_action": null
}
],
"education": [
{
"id": "18304027-e78a-426c-aae5-db9c677c1704",
"email": "johndoe@gmail.com",
"access_id": null,
"employee_alias_name": null,
"employee_alias_name_verified": null,
"school_name": "MIT",
"school_name_verified": null,
"school_campus": "Boston",
"school_campus_verified": null,
"phone": null,
"phone_verified": null,
"address": "New street east block",
"address_verified": null,
"town": null,
"town_verified": null,
"city": "Boston",
"city_verified": null,
"state": "Massachusetts",
"state_verified": null,
"zipcode": "129012",
"zipcode_verified": null,
"country": "USA",
"country_verified": null,
"start_date": "28-12-1991",
"start_date_verified": null,
"end_date": "12-28-1996",
"end_date_verified": null,
"degree": "Engineering",
"degree_verified": null,
"major": "Biotech",
"major_verified": null,
"school_type": "University",
"source": null,
"created_at": "2020-08-26T07:15:58.000Z",
"updated_at": "2020-08-26T07:16:55.000Z",
"currently_attending": 0,
"completed_successfully": 1,
"status": 0,
"status_new": null,
"super_admin_status": null,
"super_admin_status_new": null,
"adverse_action": null
}
],
"cic_criminal_records": [
{
"id": "4fb5b9ee-873e-4a7c-b19b-b0ae943f420b",
"record_type": null,
"reviewed": false,
"adverse_action": null
},
{
"id": "f68e75da-a915-4e4c-8159-9e86ca595996",
"record_type": null,
"reviewed": false,
"adverse_action": null
}
],
"professional_licenses": [],
"employee_detail": {
"id": "efa4191a-331d-48c3-8e52-8915ed8167be",
"access_id": null,
"address": "236 Avea street",
"address_verified": null,
"driving_number": null,
"driving_number_verified": null,
"city": "Gotham",
"city_verified": null,
"state": "CA",
"state_verified": null,
"zipcode": "33433",
"zipcode_verified": null,
"country": null,
"country_verified": null,
"birthdate": "12-11-1980",
"birthdate_verified": null,
"phone": "56-999222992",
"phone_verified": null,
"ssn": "6789",
"ssn_verified": null,
"created_at": "2020-08-25T14:32:46.000Z",
"updated_at": "2020-08-25T14:32:46.000Z",
"employee_email": "johndoe@gmail.com"
},
"employee_verification": {
"id": "c068d1da-9615-4b8e-a7a7-5daf624ed8d1",
"s3_gov_id": "image link",
"s3_gov_id_back": "image link",
"s3_gov_id_match": false,
"s3_web_img": null,
"s3_passport_verified": 1,
"passport_status": "VERIFIED",
"s3_dl_verified": 1,
"dl_status": "VERIFIED",
"verification_type": "id",
"address": null,
"address_verified": null,
"city": null,
"city_verified": null,
"state": null,
"state_verified": null,
"zipcode": null,
"zipcode_verified": null,
"country": null,
"country_verified": null,
"birthdate": null,
"birthdate_verified": null,
"criminal_verified": null,
"global_watchlist_verified": null,
"created_at": "2020-08-25T14:48:27.000Z",
"updated_at": "2020-08-26T05:01:16.000Z",
"is_report_checked": false,
"summary_of_rights_accepted": true,
"background_check_disclosure_accepted": true,
"id_manual_review": null,
"super_admin_status": null,
"super_admin_status_new": null,
"consent_link": "link",
"spring_sign_ref_id": "5f4524b817710d0014423b61",
"employee_email": "johndoe@gmail.com"
},
"employee_limit": {
"id": "e1e2fef4-a1dd-4be2-8dd1-b0ab8ec29ff8",
"employment": 2,
"education": 1,
"professional_license": 0,
"all_county_criminal_search": true,
"county_criminal_search": 0,
"civil_court": 1,
"driving_license": 0,
"package_id": null,
"created_at": "2020-08-25T14:28:47.000Z",
"updated_at": "2020-08-25T14:28:47.000Z",
"employee_invite_group_id": "b630d0ec-e8d6-49a0-bbf2-8fd26a791a85",
"employee_invite_group": {
"id": "b630d0ec-e8d6-49a0-bbf2-8fd26a791a85",
"package": "diamond",
"active": true,
"created_at": "2020-08-25T14:28:47.000Z",
"updated_at": "2020-08-25T14:28:47.000Z",
"company_created_by": "zed@max.com",
"package_id": "5"
}
},
"kbaqna": {
"id": "71f4dda4-2949-4f23-97ae-26d158c082a2",
"access_id": "6e7d5f15-9456-430d-b9da-9df67a4d9996",
"email": "johndoe@gmail.com",
"questions_flag": 1,
"kba_enabled": 1,
"question_count": "5",
"correct_answers": "4",
"verified": false,
"created_at": "2020-08-25T15:06:19.000Z",
"updated_at": "2020-08-25T15:11:49.000Z",
"idm_session_id": "91b59885191b01f5",
"employee_email": "johndoe@gmail.com"
},
"employee_flow": {
"id": 289,
"employment_flow": "SUBMITTED",
"education_flow": "SUBMITTED",
"professional_license_flow": null,
"created_at": "2020-08-25T14:32:40.000Z",
"updated_at": "2020-08-26T07:36:45.000Z",
"employee_email": "johndoe@gmail.com"
},
"s3_files": [
{
"id": "0d81811f-4cb7-4d3e-875f-0e229ab98fa4",
"type": "ID",
"sub_type": "BACK",
"relation_id": "c7509e8b-49bb-40df-bc80-609c4f460af8",
"link": "link",
"reference_id": "9ca37df2-1d81-40df-90aa-b88e081b8103",
"status": null,
"comments": null,
"deleted_at": null,
"created_at": "2020-08-25T15:14:00.000Z",
"updated_at": "2020-08-25T15:14:00.000Z"
},
{
"id": "3bf55d4f-6570-4d32-93ae-fc101677fce9",
"type": "ID",
"sub_type": "FRONT",
"relation_id": "c7509e8b-49bb-40df-bc80-609c4f460af8",
"link": "link",
"reference_id": "9ca37df2-1d81-40df-90aa-b88e081b8103",
"status": null,
"comments": null,
"deleted_at": null,
"created_at": "2020-08-25T15:14:00.000Z",
"updated_at": "2020-08-25T15:14:00.000Z"
}
],
"criminal_statuses": [
{
"id": "026c5a13-8112-40c7-8bba-39655a3f987a",
"type": "NATIONAL_CRIMINAL",
"status": "PENDING",
"source": "SYSTEM",
"employee_email_fk": "johndoe@gmail.com",
"created_at": "2020-08-25T15:14:36.000Z",
"updated_at": "2020-08-25T15:14:36.000Z"
},
{
"id": "0e9fb3d3-d464-4752-bc34-8537807482b9",
"type": "GLOBAL_WATCHLIST",
"status": "PENDING",
"source": "SYSTEM",
"employee_email_fk": "johndoe@gmail.com",
"created_at": "2020-08-25T15:14:36.000Z",
"updated_at": "2020-08-25T15:14:36.000Z"
},
{
"id": "2cf42d97-850f-4348-bac9-a7eacbe575b9",
"type": "SEX_OFFENDER",
"status": "PENDING",
"source": "SYSTEM",
"employee_email_fk": "johndoe@gmail.com",
"created_at": "2020-08-25T15:14:36.000Z",
"updated_at": "2020-08-25T15:14:36.000Z"
},
{
"id": "4b8e8f14-db92-476c-b2fb-bf9d054ad96e",
"type": "COUNTY_CRIMINAL_SEARCH",
"status": "PENDING",
"source": "SYSTEM",
"employee_email_fk": "johndoe@gmail.com",
"created_at": "2020-08-25T15:14:36.000Z",
"updated_at": "2020-08-25T15:14:36.000Z"
},
{
"id": "5d16c475-ba47-44fe-962c-a32dc26878c5",
"type": "CIVIL_COURT",
"status": "PENDING",
"source": "SYSTEM",
"employee_email_fk": "johndoe@gmail.com",
"created_at": "2020-08-25T15:14:36.000Z",
"updated_at": "2020-08-25T15:14:36.000Z"
}
],
"sjv_criminal_reports": [
{
"id": "d18c1432-91be-4ce2-8f07-4bff6728850c",
"employee_email_fk": "johndoe@gmail.com",
"status": "NOT_INITIATED",
"sjv_search_type": "CIVIL_COURT_NOTIFICATION",
"reference_id": null,
"cic_criminal_record_fk": null,
"report_link": null,
"marked_done": 0,
"marked_reviewed": 0,
"county_id": null,
"adverse_action_fk": null,
"authenticating_unique_identifier": null,
"created_at": "2020-08-25T15:14:36.000Z",
"updated_at": "2020-08-25T15:14:36.000Z",
"county_name": null,
"adverse_action": null
},
{
"id": "fed50a2f-bc72-4d3b-99dd-5e5053304008",
"employee_email_fk": "johndoe@gmail.com",
"status": "NOT_INITIATED",
"sjv_search_type": "COUNTY_CRIMINAL_NOTIFICATION",
"reference_id": null,
"cic_criminal_record_fk": null,
"report_link": null,
"marked_done": 0,
"marked_reviewed": 0,
"county_id": null,
"adverse_action_fk": null,
"authenticating_unique_identifier": null,
"created_at": "2020-08-25T15:14:36.000Z",
"updated_at": "2020-08-25T15:14:36.000Z",
"county_name": null,
"adverse_action": null
}
]
}
}
After all the previously mentioned checks have been successfully submitted and triggered, the candidate can create a password for their profile using this API.
URL Parameters
Parameter | Type | Description |
---|---|---|
token | string |
JWT_TOKEN |
password_hash | string |
Hash of the password. (8 characters minimum). |
Reset Password
curl --location --request POST 'https://api.us.springverify.com/employee/reset-password' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer JWT_TOKEN' \
--data-raw '{
"password":"ab0365e1c40ea17c8d1e7819c45a477ac836080b3b5fd1305ccb281acf24c62e"
}'
// FETCH
var fetch = require('node-fetch');
fetch('https://api.us.springverify.com/employee/reset-password', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer JWT_TOKEN'
},
body: JSON.stringify({ "password":"ab0365e1c40ea17c8d1e7819c45a477ac836080b3b5fd1305ccb281acf24c62e" })
});
// REQUEST
var request = require('request');
var headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer JWT_TOKEN'
};
var dataString = '{ "password":"ab0365e1c40ea17c8d1e7819c45a477ac836080b3b5fd1305ccb281acf24c62e" }';
var options = {
url: 'https://api.us.springverify.com/employee/reset-password',
method: 'POST',
headers: headers,
body: dataString
};
function callback(error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body);
}
}
request(options, callback);
<?php
include('vendor/rmccue/requests/library/Requests.php');
Requests::register_autoloader();
$headers = array(
'Content-Type' => 'application/json',
'Authorization' => 'Bearer JWT_TOKEN'
);
$data = '{ "password":"ab0365e1c40ea17c8d1e7819c45a477ac836080b3b5fd1305ccb281acf24c62e" }';
$response = Requests::post('https://api.us.springverify.com/employee/reset-password', $headers, $data);
import requests
headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer JWT_TOKEN',
}
data = '{ "password":"ab0365e1c40ea17c8d1e7819c45a477ac836080b3b5fd1305ccb281acf24c62e" }'
response = requests.post('https://api.us.springverify.com/employee/reset-password', headers=headers, data=data)
require 'net/http'
require 'uri'
uri = URI.parse("https://api.us.springverify.com/employee/reset-password")
request = Net::HTTP::Post.new(uri)
request.content_type = "application/json"
request["Authorization"] = "Bearer JWT_TOKEN"
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
# response.code
# response.body
Success Response
{
"success": true,
"data": true
}
This API is used to reset the candidate profile password.
URL Parameters
Parameter | Type | Description |
---|---|---|
password | string |
Hash of the password. (8 characters minimum). |
Complete Candidate Flow
curl --location --request GET 'https://api.us.springverify.com/employee/flow-completed' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer JWT_TOKEN' \
// FETCH
var fetch = require('node-fetch');
fetch('https://api.us.springverify.com/employee/flow-completed', {
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer JWT_TOKEN'
}
});
// REQUEST
var request = require('request');
var headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer JWT_TOKEN'
};
var options = {
url: 'https://api.us.springverify.com/employee/flow-completed',
headers: headers
};
function callback(error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body);
}
}
request(options, callback);
<?php
include('vendor/rmccue/requests/library/Requests.php');
Requests::register_autoloader();
$headers = array(
'Content-Type' => 'application/json',
'Authorization' => 'Bearer JWT_TOKEN'
);
$response = Requests::get('https://api.us.springverify.com/employee/flow-completed', $headers);
import requests
headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer JWT_TOKEN',
}
response = requests.get('https://api.us.springverify.com/employee/flow-completed', headers=headers)
require 'net/http'
require 'uri'
uri = URI.parse("https://api.us.springverify.com/employee/flow-completed")
request = Net::HTTP::Get.new(uri)
request.content_type = "application/json"
request["Authorization"] = "Bearer JWT_TOKEN"
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
# response.code
# response.body
Success Response
{
"success": true,
"data": {
"id": "9ca37df2-1d81-40df-90aa-b88e081b8103",
"access_id": "6e7d5f15-9456-430d-b9da-9df67a4d9996",
"email": "johndoe@gmail.com",
"password_hash": "yahoo123456789",
"first_name": "John",
"middle_name": "David",
"last_name": "Doe",
"name_verified": null,
"created_at": "2020-08-25T14:28:47.000Z",
"updated_at": "2020-08-26T07:52:04.000Z",
"employer_id": "1d4fb8ba-09ac-412c-aa62-58970b4d7472",
"payment_id": "6c75e302-ac2a-4efa-9ba9-c5dfc97b941e",
"email_sent": true,
"payment": false,
"status": null,
"flow_completed": null,
"company_created_by": "zed@max.com",
"employee_limit_id": "e1e2fef4-a1dd-4be2-8dd1-b0ab8ec29ff8",
"employments": [
{
"id": "d0284d0b-eae8-4f0c-a574-66d39ad9d548",
"email": "johndoe@gmail.com",
"access_id": null,
"employer_name": "Stark Industries pvt ltd",
"employer_name_verified": null,
"employer_phone": "9911991199",
"employer_phone_verified": null,
"employer_address": "12, Manhattan Street",
"employer_address_verified": null,
"employer_town": "New York",
"employer_town_verified": null,
"state": "New York",
"state_verified": null,
"zipcode": "129012",
"zipcode_verified": null,
"employer_country": "USA",
"employer_country_verified": null,
"job_title": "Senior Manager",
"job_title_verified": null,
"start_date": "19-11-2000",
"start_date_verified": null,
"end_date": "19-11-2002",
"end_date_verified": null,
"supervisor_name": "Nick Fury",
"supervisor_contact": "nickfury@starkindustries.com",
"current_employment": "0",
"current_employment_verified": null,
"contract_type": null,
"contract_type_verified": null,
"source": null,
"created_at": "2020-08-26T06:24:25.000Z",
"updated_at": "2020-08-26T06:26:07.000Z",
"job_type": "Full time",
"reason_for_leaving": "xyz",
"status": 0,
"status_new": null,
"super_admin_status": null,
"super_admin_status_new": null,
"consent": null,
"adverse_action": null
}
],
"education": [
{
"id": "18304027-e78a-426c-aae5-db9c677c1704",
"email": "johndoe@gmail.com",
"access_id": null,
"employee_alias_name": null,
"employee_alias_name_verified": null,
"school_name": "MIT",
"school_name_verified": null,
"school_campus": "Boston",
"school_campus_verified": null,
"phone": null,
"phone_verified": null,
"address": "New street east block",
"address_verified": null,
"town": null,
"town_verified": null,
"city": "Boston",
"city_verified": null,
"state": "Massachusetts",
"state_verified": null,
"zipcode": "129012",
"zipcode_verified": null,
"country": "USA",
"country_verified": null,
"start_date": "28-12-1991",
"start_date_verified": null,
"end_date": "12-28-1996",
"end_date_verified": null,
"degree": "Engineering",
"degree_verified": null,
"major": "Biotech",
"major_verified": null,
"school_type": "University",
"source": null,
"created_at": "2020-08-26T07:15:58.000Z",
"updated_at": "2020-08-26T07:16:55.000Z",
"currently_attending": 0,
"completed_successfully": 1,
"status": 0,
"status_new": null,
"super_admin_status": null,
"super_admin_status_new": null,
"adverse_action": null
}
],
"cic_criminal_records": [
{
"id": "4fb5b9ee-873e-4a7c-b19b-b0ae943f420b",
"record_type": null,
"reviewed": false,
"adverse_action": null
},
{
"id": "f68e75da-a915-4e4c-8159-9e86ca595996",
"record_type": null,
"reviewed": false,
"adverse_action": null
}
],
"professional_licenses": [
],
"employee_detail": {
"id": "efa4191a-331d-48c3-8e52-8915ed8167be",
"access_id": null,
"address": "236 Avea street",
"address_verified": null,
"driving_number": null,
"driving_number_verified": null,
"city": "Gotham",
"city_verified": null,
"state": "CA",
"state_verified": null,
"zipcode": "33433",
"zipcode_verified": null,
"country": null,
"country_verified": null,
"birthdate": "12-11-1980",
"birthdate_verified": null,
"phone": "56-999222992",
"phone_verified": null,
"ssn": "6789",
"ssn_verified": null,
"created_at": "2020-08-25T14:32:46.000Z",
"updated_at": "2020-08-25T14:32:46.000Z",
"employee_email": "johndoe@gmail.com"
},
"employee_verification": {
"id": "c068d1da-9615-4b8e-a7a7-5daf624ed8d1",
"s3_gov_id": "image link",
"s3_gov_id_back": "image link",
"s3_gov_id_match": false,
"s3_web_img": null,
"s3_passport_verified": 1,
"passport_status": "FAILED",
"s3_dl_verified": 1,
"dl_status": "VERIFIED",
"verification_type": "id",
"address": null,
"address_verified": null,
"city": null,
"city_verified": null,
"state": null,
"state_verified": null,
"zipcode": null,
"zipcode_verified": null,
"country": null,
"country_verified": null,
"birthdate": null,
"birthdate_verified": null,
"criminal_verified": null,
"global_watchlist_verified": null,
"created_at": "2020-08-25T14:48:27.000Z",
"updated_at": "2020-08-26T05:01:16.000Z",
"is_report_checked": false,
"summary_of_rights_accepted": true,
"background_check_disclosure_accepted": true,
"id_manual_review": null,
"super_admin_status": null,
"super_admin_status_new": null,
"consent_link": "link",
"spring_sign_ref_id": "5f4524b817710d0014423b61",
"employee_email": "johndoe@gmail.com"
},
"employee_limit": {
"id": "e1e2fef4-a1dd-4be2-8dd1-b0ab8ec29ff8",
"employment": 2,
"education": 1,
"professional_license": 0,
"all_county_criminal_search": true,
"county_criminal_search": 0,
"civil_court": 1,
"driving_license": 0,
"package_id": null,
"created_at": "2020-08-25T14:28:47.000Z",
"updated_at": "2020-08-25T14:28:47.000Z",
"employee_invite_group_id": "b630d0ec-e8d6-49a0-bbf2-8fd26a791a85",
"employee_invite_group": {
"id": "b630d0ec-e8d6-49a0-bbf2-8fd26a791a85",
"package": "diamond",
"active": true,
"created_at": "2020-08-25T14:28:47.000Z",
"updated_at": "2020-08-25T14:28:47.000Z",
"company_created_by": "zed@max.com",
"package_id": "5"
}
},
"kbaqna": {
"id": "71f4dda4-2949-4f23-97ae-26d158c082a2",
"access_id": "6e7d5f15-9456-430d-b9da-9df67a4d9996",
"email": "johndoe@gmail.com",
"questions_flag": 1,
"kba_enabled": 1,
"question_count": "5",
"correct_answers": "4",
"verified": false,
"created_at": "2020-08-25T15:06:19.000Z",
"updated_at": "2020-08-25T15:11:49.000Z",
"idm_session_id": "91b59885191b01f5",
"employee_email": "johndoe@gmail.com"
},
"employee_flow": {
"id": 289,
"employment_flow": "SUBMITTED",
"education_flow": "SUBMITTED",
"professional_license_flow": null,
"created_at": "2020-08-25T14:32:40.000Z",
"updated_at": "2020-08-26T07:36:45.000Z",
"employee_email": "johndoe@gmail.com"
},
"s3_files": [
{
"id": "0d81811f-4cb7-4d3e-875f-0e229ab98fa4",
"type": "ID",
"sub_type": "BACK",
"relation_id": "c7509e8b-49bb-40df-bc80-609c4f460af8",
"link": "link",
"reference_id": "9ca37df2-1d81-40df-90aa-b88e081b8103",
"status": null,
"comments": null,
"deleted_at": null,
"created_at": "2020-08-25T15:14:00.000Z",
"updated_at": "2020-08-25T15:14:00.000Z"
},
{
"id": "3bf55d4f-6570-4d32-93ae-fc101677fce9",
"type": "ID",
"sub_type": "FRONT",
"relation_id": "c7509e8b-49bb-40df-bc80-609c4f460af8",
"link": "link",
"reference_id": "9ca37df2-1d81-40df-90aa-b88e081b8103",
"status": null,
"comments": null,
"deleted_at": null,
"created_at": "2020-08-25T15:14:00.000Z",
"updated_at": "2020-08-25T15:14:00.000Z"
}
],
"criminal_statuses": [
{
"id": "026c5a13-8112-40c7-8bba-39655a3f987a",
"type": "NATIONAL_CRIMINAL",
"status": "PENDING",
"source": "SYSTEM",
"employee_email_fk": "johndoe@gmail.com",
"created_at": "2020-08-25T15:14:36.000Z",
"updated_at": "2020-08-25T15:14:36.000Z"
},
{
"id": "0e9fb3d3-d464-4752-bc34-8537807482b9",
"type": "GLOBAL_WATCHLIST",
"status": "PENDING",
"source": "SYSTEM",
"employee_email_fk": "johndoe@gmail.com",
"created_at": "2020-08-25T15:14:36.000Z",
"updated_at": "2020-08-25T15:14:36.000Z"
},
{
"id": "2cf42d97-850f-4348-bac9-a7eacbe575b9",
"type": "SEX_OFFENDER",
"status": "PENDING",
"source": "SYSTEM",
"employee_email_fk": "johndoe@gmail.com",
"created_at": "2020-08-25T15:14:36.000Z",
"updated_at": "2020-08-25T15:14:36.000Z"
},
{
"id": "4b8e8f14-db92-476c-b2fb-bf9d054ad96e",
"type": "COUNTY_CRIMINAL_SEARCH",
"status": "PENDING",
"source": "SYSTEM",
"employee_email_fk": "johndoe@gmail.com",
"created_at": "2020-08-25T15:14:36.000Z",
"updated_at": "2020-08-25T15:14:36.000Z"
},
{
"id": "5d16c475-ba47-44fe-962c-a32dc26878c5",
"type": "CIVIL_COURT",
"status": "PENDING",
"source": "SYSTEM",
"employee_email_fk": "johndoe@gmail.com",
"created_at": "2020-08-25T15:14:36.000Z",
"updated_at": "2020-08-25T15:14:36.000Z"
}
],
"sjv_criminal_reports": [
{
"id": "d18c1432-91be-4ce2-8f07-4bff6728850c",
"employee_email_fk": "johndoe@gmail.com",
"status": "NOT_INITIATED",
"sjv_search_type": "CIVIL_COURT_NOTIFICATION",
"reference_id": null,
"cic_criminal_record_fk": null,
"report_link": null,
"marked_done": 0,
"marked_reviewed": 0,
"county_id": null,
"adverse_action_fk": null,
"authenticating_unique_identifier": null,
"created_at": "2020-08-25T15:14:36.000Z",
"updated_at": "2020-08-25T15:14:36.000Z",
"county_name": null,
"adverse_action": null
},
{
"id": "fed50a2f-bc72-4d3b-99dd-5e5053304008",
"employee_email_fk": "johndoe@gmail.com",
"status": "NOT_INITIATED",
"sjv_search_type": "COUNTY_CRIMINAL_NOTIFICATION",
"reference_id": null,
"cic_criminal_record_fk": null,
"report_link": null,
"marked_done": 0,
"marked_reviewed": 0,
"county_id": null,
"adverse_action_fk": null,
"authenticating_unique_identifier": null,
"created_at": "2020-08-25T15:14:36.000Z",
"updated_at": "2020-08-25T15:14:36.000Z",
"county_name": null,
"adverse_action": null
}
]
}
}
This API is used to let the system know that candidate form has been submitted successfully.
Candidate Login
curl --location --request POST 'https://api.us.springverify.com/auth/login' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer JWT_TOKEN' \
--data-raw '{
"email": "john@wick.com",
"password": "daaad6e5604e8e17bd9f108d91e26afe6281dac8fda0091040a7a6d7bd9b43b5",
"role":"employee"
}'
// FETCH
var fetch = require('node-fetch');
fetch('https://api.us.springverify.com/auth/login', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer JWT_TOKEN'
},
body: JSON.stringify({ "email": "john@wick.com", "password": "daaad6e5604e8e17bd9f108d91e26afe6281dac8fda0091040a7a6d7bd9b43b5", "role":"employee" })
});
// REQUEST
var request = require('request');
var headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer JWT_TOKEN'
};
var dataString = '{ "email": "john@wick.com", "password": "daaad6e5604e8e17bd9f108d91e26afe6281dac8fda0091040a7a6d7bd9b43b5", "role":"employee" }';
var options = {
url: 'https://api.us.springverify.com/auth/login',
method: 'POST',
headers: headers,
body: dataString
};
function callback(error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body);
}
}
request(options, callback);
<?php
include('vendor/rmccue/requests/library/Requests.php');
Requests::register_autoloader();
$headers = array(
'Content-Type' => 'application/json',
'Authorization' => 'Bearer JWT_TOKEN'
);
$data = '{ "email": "john@wick.com", "password": "daaad6e5604e8e17bd9f108d91e26afe6281dac8fda0091040a7a6d7bd9b43b5", "role":"employee" }';
$response = Requests::post('https://api.us.springverify.com/auth/login', $headers, $data);
import requests
headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer JWT_TOKEN',
}
data = '{ "email": "john@wick.com", "password": "daaad6e5604e8e17bd9f108d91e26afe6281dac8fda0091040a7a6d7bd9b43b5", "role":"employee" }'
response = requests.post('https://api.us.springverify.com/auth/login', headers=headers, data=data)
require 'net/http'
require 'uri'
uri = URI.parse("https://api.us.springverify.com/auth/login")
request = Net::HTTP::Post.new(uri)
request.content_type = "application/json"
request["Authorization"] = "Bearer JWT_TOKEN"
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
# response.code
# response.body
Success Response
{
"success": true,
"data": {
"success": true,
"success_msg": "employee logged in successfully",
"data": {
"token": "JWT_TOKEN"
}
}
}
Error Response:
{
"errors": [
{
"value": "",
"msg": "Not a valid role",
"param": "role",
"location": "body"
}
]
}
For logging in, the aim is to generate a JSON web token that is to be used in all subsequent API calls. The JWT generated will be valid for one hour.
To call the subsequent APIs, the candidate will need to send the JWT successfully in the header of those APIs.
URL Parameters
Parameter | Type | Description |
---|---|---|
string |
The email address used by the candidate to register with SpringVerify. | |
password | string |
The password used by the candidate to register with SpringVerify. (Hashed, 8 characters minimum). |
role | string |
The role of the user being logged in - in this case, employee . |
Add Professional Reference
curl --location --request POST 'https://api.us.springverify.com/employee/professional-reference' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer JWT_TOKEN' \
--data-raw '{
"employment_ref_id": "5e312a56-aa69-4e3d-8ecb-d869f0a2d57f",
"name": "John doe",
"relationship": "manager",
"phone": "1-3244233434",
"email": "johndoe@email.com"
}'
// FETCH
var myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");
myHeaders.append("Authorization", "Bearer JWT_TOKEN");
var raw = JSON.stringify({
"employment_ref_id": "5e312a56-aa69-4e3d-8ecb-d869f0a2d57f",
"name": "John doe",
"relationship": "manager",
"phone": "1-3244233434",
"email": "johndoe@email.com"
});
var requestOptions = {
method: 'POST',
headers: myHeaders,
body: raw,
redirect: 'follow'
};
fetch("https://api.us.springverify.com/employee/professional-reference", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
// REQUEST
var request = require('request');
var options = {
'method': 'POST',
'url': 'https://api.us.springverify.com/employee/professional-reference',
'headers': {
'Content-Type': 'application/json',
'Authorization': 'Bearer JWT_TOKEN'
},
body: JSON.stringify({
"employment_ref_id": "5e312a56-aa69-4e3d-8ecb-d869f0a2d57f",
"name": "John doe",
"relationship": "manager",
"phone": "1-3244233434",
"email": "johndoe@email.com"
})
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
<?php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('https://api.us.springverify.com/employee/professional-reference');
$request->setMethod(HTTP_Request2::METHOD_POST);
$request->setConfig(array(
'follow_redirects' => TRUE
));
$request->setHeader(array(
'Content-Type' => 'application/json',
'Authorization' => 'Bearer JWT_TOKEN'
));
$request->setBody('{\n "employment_ref_id": "5e312a56-aa69-4e3d-8ecb-d869f0a2d57f",\n "name": "John doe",\n "relationship": "manager",\n "phone": "1-3244233434",\n "email": "johndoe@email.com"\n}');
try {
$response = $request->send();
if ($response->getStatus() == 200) {
echo $response->getBody();
}
else {
echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
$response->getReasonPhrase();
}
}
catch(HTTP_Request2_Exception $e) {
echo 'Error: ' . $e->getMessage();
}
import requests
import json
url = "https://api.us.springverify.com/employee/professional-reference"
payload = json.dumps({
"employment_ref_id": "5e312a56-aa69-4e3d-8ecb-d869f0a2d57f",
"name": "John doe",
"relationship": "manager",
"phone": "1-3244233434",
"email": "johndoe@email.com"
})
headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer JWT_TOKEN'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
require "uri"
require "json"
require "net/http"
url = URI("https://api.us.springverify.com/employee/professional-reference")
http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Post.new(url)
request["Content-Type"] = "application/json"
request["Authorization"] = "Bearer JWT_TOKEN"
request.body = JSON.dump({
"employment_ref_id": "5e312a56-aa69-4e3d-8ecb-d869f0a2d57f",
"name": "John doe",
"relationship": "manager",
"phone": "1-3244233434",
"email": "johndoe@email.com"
})
response = http.request(request)
puts response.read_body
Success Response
{
"success":true,
"data":{
"id":"aefeb790-2b72-47e9-a86b-d9b5191b9a8b",
"employee_id_fk":"cae5ad0d-65ec-40ee-83c8-9f30f4d79867",
"employment_id_fk":"912fc305-0636-42b4-b12c-b859a192e099",
"status":"PENDING",
"email":"johndoe@email.com",
"name":"John Doe","phone":"1-2288337743",
"relation":"Manager",
"updated_at":"2021-08-05T04:05:04.611Z",
"created_at":"2021-08-05T04:05:04.611Z"
}
}
Parameter | Type | Description |
---|---|---|
employement-ref-id | string |
The email address used by the candidate to register with SpringVerify. |
name | string |
Name of the reference. |
relationship | string |
Relationship of the candidate to the reference. |
phone | string |
Contact number of the reference. |
string |
Email ID of the reference. |
Update Professional Reference
curl --location --request PATCH 'https://api.us.springverify.com/employee/professional-reference?id=aefeb790-2b72-47e9-a86b-d9b5191b9a8b' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer JWT_TOKEN' \
--data-raw '{
"name": "John doe",
"relationship": "manager",
"phone": "1-3244233434",
"email": "johndoe@email.com"
}'
// FETCH
var myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");
myHeaders.append("Authorization", "Bearer JWT_TOKEN");
var raw = JSON.stringify({
"name": "John doe",
"relationship": "manager",
"phone": "1-3244233434",
"email": "johndoe@email.com"
});
var requestOptions = {
method: 'PATCH',
headers: myHeaders,
body: raw,
redirect: 'follow'
};
fetch("https://api.us.springverify.com/employee/professional-reference?id=aefeb790-2b72-47e9-a86b-d9b5191b9a8b", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
// REQUEST
var request = require('request');
var options = {
'method': 'PATCH',
'url': 'https://api.us.springverify.com/employee/professional-reference?id=aefeb790-2b72-47e9-a86b-d9b5191b9a8b',
'headers': {
'Content-Type': 'application/json',
'Authorization': 'Bearer JWT_TOKEN'
},
body: JSON.stringify({
"name": "John doe",
"relationship": "manager",
"phone": "1-3244233434",
"email": "johndoe@email.com"
})
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
<?php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('https://api.us.springverify.com/employee/professional-reference?id=aefeb790-2b72-47e9-a86b-d9b5191b9a8b');
$request->setMethod('PATCH');
$request->setConfig(array(
'follow_redirects' => TRUE
));
$request->setHeader(array(
'Content-Type' => 'application/json',
'Authorization' => 'Bearer JWT_TOKEN'
));
$request->setBody('{\n "name": "John doe",\n "relationship": "manager",\n "phone": "1-3244233434",\n "email": "johndoe@email.com"\n}');
try {
$response = $request->send();
if ($response->getStatus() == 200) {
echo $response->getBody();
}
else {
echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
$response->getReasonPhrase();
}
}
catch(HTTP_Request2_Exception $e) {
echo 'Error: ' . $e->getMessage();
}
import requests
import json
url = "https://api.us.springverify.com/employee/professional-reference?id=aefeb790-2b72-47e9-a86b-d9b5191b9a8b"
payload = json.dumps({
"name": "John doe",
"relationship": "manager",
"phone": "1-3244233434",
"email": "johndoe@email.com"
})
headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer JWT_TOKEN'
}
response = requests.request("PATCH", url, headers=headers, data=payload)
print(response.text)
require "uri"
require "json"
require "net/http"
url = URI("https://api.us.springverify.com/employee/professional-reference?id=aefeb790-2b72-47e9-a86b-d9b5191b9a8b")
http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Patch.new(url)
request["Content-Type"] = "application/json"
request["Authorization"] = "Bearer JWT_TOKEN"
request.body = JSON.dump({
"name": "John doe",
"relationship": "manager",
"phone": "1-3244233434",
"email": "johndoe@email.com"
})
response = http.request(request)
puts response.read_body
Success Response
{
"success":true,
"data":[1]
}
Parameter | Type | Description |
---|---|---|
id | string |
Reference Id |
name | string |
Name of the reference. |
relationship | string |
Relationship of the candidate to the reference. |
phone | string |
Contact number of the reference. |
string |
Email ID of the reference. |
Delete Professional Reference
curl --location --request DELETE 'https://api.us.springverify.com/employee/professional-reference/aefeb790-2b72-47e9-a86b-d9b5191b9a8b' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer JWT_TOKEN'
// FETCH
var myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");
myHeaders.append("Authorization", "Bearer JWT_TOKEN");
var requestOptions = {
method: 'DELETE',
headers: myHeaders,
redirect: 'follow'
};
fetch("https://api.us.springverify.com/employee/professional-reference/aefeb790-2b72-47e9-a86b-d9b5191b9a8b", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
// REQUEST
var request = require('request');
var options = {
'method': 'DELETE',
'url': 'https://api.us.springverify.com/employee/professional-reference/aefeb790-2b72-47e9-a86b-d9b5191b9a8b',
'headers': {
'Content-Type': 'application/json',
'Authorization': 'Bearer JWT_TOKEN'
}
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
<?php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('https://api.us.springverify.com/employee/professional-reference/aefeb790-2b72-47e9-a86b-d9b5191b9a8b');
$request->setMethod(HTTP_Request2::METHOD_DELETE);
$request->setConfig(array(
'follow_redirects' => TRUE
));
$request->setHeader(array(
'Content-Type' => 'application/json',
'Authorization' => 'Bearer JWT_TOKEN'
));
try {
$response = $request->send();
if ($response->getStatus() == 200) {
echo $response->getBody();
}
else {
echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
$response->getReasonPhrase();
}
}
catch(HTTP_Request2_Exception $e) {
echo 'Error: ' . $e->getMessage();
}
import requests
import json
url = "https://api.us.springverify.com/employee/professional-reference/aefeb790-2b72-47e9-a86b-d9b5191b9a8b"
payload={}
headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer JWT_TOKEN'
}
response = requests.request("DELETE", url, headers=headers, data=payload)
print(response.text)
require "uri"
require "json"
require "net/http"
url = URI("https://api.us.springverify.com/employee/professional-reference/aefeb790-2b72-47e9-a86b-d9b5191b9a8b")
http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Delete.new(url)
request["Content-Type"] = "application/json"
request["Authorization"] = "Bearer JWT_TOKEN"
response = http.request(request)
puts response.read_body
Success Response
{
"success":true,
"data":[1]
}
Parameter | Type | Description |
---|---|---|
id | string |
Reference Id |
V1 Apis
All the V1 apis are documented here.
Invite candidates
curl --location --request POST 'https://api.us.springverify.com/employee/invite' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer JWT_TOKEN' \
--data-raw '{
"email_list": [
"venunath2@gmail.com"
],
"employee_details": [
{
"email": "venunath2@gmail.com",
"first_name": "abcd",
"last_name": "xyc",
"middle_name": "zxcz",
"phone": "21321313",
"birthdate": "12-12-2012"
}
],
"package": "bronze",
"addOns": {
"employment": 0,
"education": 0,
"license": 0,
"driving_license": 0,
"civil_court": 0,
"all_county_criminal_search": false,
"county_criminal_search": 0,
"MVR": false
}
}'
// FETCH
var myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");
myHeaders.append("Authorization", "Bearer JWT_TOKEN");
var raw = JSON.stringify({"email_list":["venunath2@gmail.com"],"employee_details":[{"email":"venunath2@gmail.com","first_name":"abcd","last_name":"xyc","middle_name":"zxcz","phone":"21321313","birthdate":"12-12-2012"}],"package":"bronze","addOns":{"employment":0,"education":0,"license":0,"driving_license":0,"civil_court":0,"all_county_criminal_search":false,"county_criminal_search":0,"MVR":false}});
var requestOptions = {
method: 'POST',
headers: myHeaders,
body: raw,
redirect: 'follow'
};
fetch("https://api.us.springverify.com/employee/invite", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
// REQUEST
var request = require('request');
var options = {
'method': 'POST',
'url': 'https://api.us.springverify.com/employee/invite',
'headers': {
'Content-Type': 'application/json',
'Authorization': 'Bearer JWT_TOKEN'
},
body: JSON.stringify({"email_list":["venunath2@gmail.com"],"employee_details":[{"email":"venunath2@gmail.com","first_name":"abcd","last_name":"xyc","middle_name":"zxcz","phone":"21321313","birthdate":"12-12-2012"}],"package":"bronze","addOns":{"employment":0,"education":0,"license":0,"driving_license":0,"civil_court":0,"all_county_criminal_search":false,"county_criminal_search":0,"MVR":false}})
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
<?php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('https://api.us.springverify.com/employee/invite');
$request->setMethod(HTTP_Request2::METHOD_POST);
$request->setConfig(array(
'follow_redirects' => TRUE
));
$request->setHeader(array(
'Content-Type' => 'application/json',
'Authorization' => 'Bearer JWT_TOKEN'
));
$request->setBody('{\n "email_list": [\n "venunath2@gmail.com"\n ],\n "employee_details": [\n {\n "email": "venunath2@gmail.com",\n "first_name": "abcd",\n "last_name": "xyc",\n "middle_name": "zxcz",\n "phone": "21321313",\n "birthdate": "12-12-2012"\n }\n ],\n "package": "bronze",\n "addOns": {\n "employment": 0,\n "education": 0,\n "license": 0,\n "driving_license": 0,\n "civil_court": 0,\n "all_county_criminal_search": false,\n "county_criminal_search": 0,\n "MVR": false\n }\n}');
try {
$response = $request->send();
if ($response->getStatus() == 200) {
echo $response->getBody();
}
else {
echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
$response->getReasonPhrase();
}
}
catch(HTTP_Request2_Exception $e) {
echo 'Error: ' . $e->getMessage();
}
import requests
url = "https://api.us.springverify.com/employee/invite"
payload="{\n \"email_list\": [\n \"venunath2@gmail.com\"\n ],\n \"employee_details\": [\n {\n \"email\": \"venunath2@gmail.com\",\n \"first_name\": \"abcd\",\n \"last_name\": \"xyc\",\n \"middle_name\": \"zxcz\",\n \"phone\": \"21321313\",\n \"birthdate\": \"12-12-2012\"\n }\n ],\n \"package\": \"bronze\",\n \"addOns\": {\n \"employment\": 0,\n \"education\": 0,\n \"license\": 0,\n \"driving_license\": 0,\n \"civil_court\": 0,\n \"all_county_criminal_search\": false,\n \"county_criminal_search\": 0,\n \"MVR\": false\n }\n}"
headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer JWT_TOKEN'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
require "uri"
require "net/http"
url = URI("https://api.us.springverify.com/employee/invite")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = "application/json"
request["Authorization"] = "Bearer JWT_TOKEN"
request.body = "{\n \"email_list\": [\n \"venunath2@gmail.com\"\n ],\n \"employee_details\": [\n {\n \"email\": \"venunath2@gmail.com\",\n \"first_name\": \"abcd\",\n \"last_name\": \"xyc\",\n \"middle_name\": \"zxcz\",\n \"phone\": \"21321313\",\n \"birthdate\": \"12-12-2012\"\n }\n ],\n \"package\": \"bronze\",\n \"addOns\": {\n \"employment\": 0,\n \"education\": 0,\n \"license\": 0,\n \"driving_license\": 0,\n \"civil_court\": 0,\n \"all_county_criminal_search\": false,\n \"county_criminal_search\": 0,\n \"MVR\": false\n }\n}"
response = https.request(request)
puts response.read_body
Success Response:
{
"success": true,
"data": {
"price": 750,
"id": "0aa10b4e-e4fc-460b-95dc-6f0ca80be061",
"count": 1,
"employees": [
{
"id": "48d18330-408e-40ff-b898-dac10cb32ce4",
"email": "venunath2@gmail.com"
}
]
}
}
This API is used to invite existing and/or prospective candidates to get their profiles verified. It can be used to invite candidates in bulk. However, emails will be sent to the candidates only once the payment is successfully completed.
URL Parameters
Parameter | Type | Description |
---|---|---|
email_list | array |
Contains a list of the email addresses of the candidates to be contacted |
package | string |
Name of the package as retrieved from the Get available packages API |
employee_details | object |
(Optional) Details of the candidate |
add_ons | object |
To add additional services into the retrieved package |
Response Parameters
Parameter | Type | Description |
---|---|---|
price | number |
The price (in cents) that is to be paid |
id | string |
The reference ID against which the payment is being made |
count | number |
The total number of candidates that are being verified |
employees | array |
Id and email id of invited candidates |
Payment For Invites
curl --location --request POST 'https://api.us.springverify.com/payment/charge-user' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer JWT_TOKEN' \
--data-raw '{
"id": "2612d112-5827-4b1c-a177-03a85eabd03d",
"send_email": true,
"coupon_code": ""
}'
// FETCH
var fetch = require('node-fetch');
fetch('https://api.us.springverify.com/payment/charge-user', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer JWT_TOKEN'
},
body: JSON.stringify({ "id": "2612d112-5827-4b1c-a177-03a85eabd03d", "send_email": true, "coupon_code": "" })
});
// REQUEST
var request = require('request');
var headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer JWT_TOKEN'
};
var dataString = '{ "id": "2612d112-5827-4b1c-a177-03a85eabd03d", "send_email": true, "coupon_code": "" }';
var options = {
url: 'https://api.us.springverify.com/payment/charge-user',
method: 'POST',
headers: headers,
body: dataString
};
function callback(error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body);
}
}
request(options, callback);
<?php
include('vendor/rmccue/requests/library/Requests.php');
Requests::register_autoloader();
$headers = array(
'Content-Type' => 'application/json',
'Authorization' => 'Bearer JWT_TOKEN'
);
$data = '{ "id": "2612d112-5827-4b1c-a177-03a85eabd03d", "send_email": true, "coupon_code": "" }';
$response = Requests::post('https://api.us.springverify.com/payment/charge-user', $headers, $data);
import requests
headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer JWT_TOKEN',
}
data = '{ "id": "2612d112-5827-4b1c-a177-03a85eabd03d", "send_email": true, "coupon_code": "" }'
response = requests.post('https://api.us.springverify.com/payment/charge-user', headers=headers, data=data)
require 'net/http'
require 'uri'
uri = URI.parse("https://api.us.springverify.com/payment/charge-user")
request = Net::HTTP::Post.new(uri)
request.content_type = "application/json"
request["Authorization"] = "Bearer JWT_TOKEN"
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
# response.code
# response.body
Success Response
{
"success": true,
"data": {
"id": "ch_1HJdvnFq1aDrrzKzZE6729eZ",
"object": "charge",
"amount": 9999,
"amount_refunded": 0,
"application": null,
"application_fee": null,
"application_fee_amount": null,
"balance_transaction": "txn_1HJdvnFq1aDrrzKzbZXCgvAO",
"billing_details": {
"address": {
"city": null,
"country": null,
"line1": null,
"line2": null,
"postal_code": "42424",
"state": null
},
"email": null,
"name": "johndoe@gmail.com",
"phone": null
},
"calculated_statement_descriptor": "SPRINGVERIFY.COM",
"captured": true,
"created": 1598268823,
"currency": "usd",
"customer": "cus_HjgWvwfPN7bKob",
"description": null,
"destination": null,
"dispute": null,
"disputed": false,
"failure_code": null,
"failure_message": null,
"fraud_details": {},
"invoice": null,
"livemode": false,
"metadata": {},
"on_behalf_of": null,
"order": null,
"outcome": {
"network_status": "approved_by_network",
"reason": null,
"risk_level": "normal",
"risk_score": 28,
"seller_message": "Payment complete.",
"type": "authorized"
},
"paid": true,
"payment_intent": null,
"payment_method": "card_1HAD9gFq1aDrrzKzPZUtu418",
"payment_method_details": {
"card": {
"brand": "visa",
"checks": {
"address_line1_check": null,
"address_postal_code_check": "pass",
"cvc_check": null
},
"country": "US",
"exp_month": 4,
"exp_year": 2024,
"fingerprint": "IpgpMeLB1qGPPEnT",
"funding": "credit",
"installments": null,
"last4": "4242",
"network": "visa",
"three_d_secure": null,
"wallet": null
},
"type": "card"
},
"receipt_email": "johndoe@gmail.com",
"receipt_number": null,
"receipt_url": "receipt_url_link",
"refunded": false,
"refunds": {
"object": "list",
"data": [],
"has_more": false,
"total_count": 0,
"url": "/v1/charges/ch_1HJdvnFq1aDrrzKzZE6729eZ/refunds"
},
"review": null,
"shipping": null,
"source": {
"id": "card_1HAD9gFq1aDrrzKzPZUtu418",
"object": "card",
"address_city": null,
"address_country": null,
"address_line1": null,
"address_line1_check": null,
"address_line2": null,
"address_state": null,
"address_zip": "42424",
"address_zip_check": "pass",
"brand": "Visa",
"country": "US",
"customer": "cus_HjgWvwfPN7bKob",
"cvc_check": null,
"dynamic_last4": null,
"exp_month": 4,
"exp_year": 2024,
"fingerprint": "IygpMeLB1qGPPEnT",
"funding": "credit",
"last4": "4242",
"metadata": {},
"name": "johndoe@gmail.com",
"tokenization_method": null
},
"source_transfer": null,
"statement_descriptor": null,
"statement_descriptor_suffix": null,
"status": "succeeded",
"transfer_data": null,
"transfer_group": null
}
}
Once a candidate has been invited to get themselves verified, the verification must be paid for. This API is used for the payment purpose and must be called immediately after the Invite Candidates API. Payments will be processed using the details from the Save Credit Card in Stripe for Payments API. The reference ID retrieved from the "Invite Candidates" API is used here. Emails to candidates requesting verification will be sent only after the payment is successful.
If the send_email
field is set to false
, the API will return the verification links of the candidates in the response.
If you have a coupon code you can enter it here.
URL Parameters
Parameter | Type | Description |
---|---|---|
id | string |
The reference ID retrieved from the Invite Candidates API. |
send_email | boolean |
true -- sends emails to the candidates. |
false -- returns the verifications links of the candidates. |
||
coupon_code | string |
(Optional) Any coupon code that the admin has for discounted pricing |
Save payment info
curl --location --request POST 'https://api.us.springverify.com/payment/save-card' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer JWT_TOKEN' \
--data-raw '{
"source":"tok_1EkXOa4wweuFtc0nQd0eOOhs"
}'
// FETCH
var fetch = require('node-fetch');
fetch('https://api.us.springverify.com/payment/save-card', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer JWT_TOKEN'
},
body: JSON.stringify({ "source":"tok_1EkXOa4wweuFtc0nQd0eOOhs" })
});
// REQUEST
var request = require('request');
var headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer JWT_TOKEN'
};
var dataString = '{ "source":"tok_1EkXOa4wweuFtc0nQd0eOOhs" }';
var options = {
url: 'https://api.us.springverify.com/payment/save-card',
method: 'POST',
headers: headers,
body: dataString
};
function callback(error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body);
}
}
request(options, callback);
<?php
include('vendor/rmccue/requests/library/Requests.php');
Requests::register_autoloader();
$headers = array(
'Content-Type' => 'application/json',
'Authorization' => 'Bearer JWT_TOKEN'
);
$data = '{ "source":"tok_1EkXOa4wweuFtc0nQd0eOOhs" }';
$response = Requests::post('https://api.us.springverify.com/payment/save-card', $headers, $data);
import requests
headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer JWT_TOKEN',
}
data = '{ "source":"tok_1EkXOa4wweuFtc0nQd0eOOhs" }'
response = requests.post('https://api.us.springverify.com/payment/save-card', headers=headers, data=data)
require 'net/http'
require 'uri'
uri = URI.parse("https://api.us.springverify.com/payment/save-card")
request = Net::HTTP::Post.new(uri)
request.content_type = "application/json"
request["Authorization"] = "Bearer JWT_TOKEN"
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
# response.code
# response.body
Success Response
{
"success": true,
"data": "card saved for the specified user"
}
To save the token received from the Save Credit Card in Stripe for Payments, use this API.
Changelog
All notable changes to the docs will be documented here.
Version 0.0.6
Date: July 29, 2022
Added
- Candidate | Add motor vehicle record API
- Candidate | Remove motor vehicle record API
- Company | Download PDF report API
Version 0.0.5
Date: Feb 22, 2022
Added
- Invite candidate v2 api
- Save payment info v2 api
- Payment for invites v2 api
Changed
- Moved older v1 apis to V1 apis section
Version 0.0.4
Date: Dec 07, 2021
Added
- Delete / Archive Candidate API
Version 0.0.3
Date: April 20, 2021
Added
- Details on how to use mock apis (Upload ID, Upload Passport, Get KBQNA quiz, Submit KBQNA quiz)
- Flow chart for user flow
Version 0.0.2
Date: December 16, 2020
Added
- If ID status changes to UNABLE_TO_VERIFY, company admin will receive a mail with the comment from ops team
- Company admin will receive a mail when candidate verification is complete (overall status is VERIFIED / FAILED / DONE_WITH_EXCEPTION)
- Optional fields first_name, middle_name, last_name, dob, phone_number have been to invite candidate API
Changed
- Invite candidates api call will now require that company details like company name, address etc are filled. Company details can be registered at 'https://api.us.springverify.com/company'.
- Tax Id field is now optional in company Sign Up api
- For DEVELOPMENT and ACCEPTANCE environments, triggering of Employment Verification and Education Verification can be passed / rejected based on the request parameters run_mock and verify_id
- Postman collection link was updated to include the changes in the APIs
Fixed
- Previously, background verification request mail was sent to candidate on any status change on ID. Now it sent only if ID status changes to VERIFIED.
- Fixed status mapping in candidate report
Version 0.0.1
Date: December 2, 2020
Added
- Three new APIs: Create, Get and Delete Webhook
- Candidate will receive email reminders to start filling up the form after getting invited from company
- Once candidate signs up, he will receive email reminders to create a password for his account
Changed
- Postman collection link was updated to include the new APIs