NAV Navbar
cURL javascript php python ruby

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:

  1. Introduction - where entities, environments, and authentication protocols are detailed.
  2. Getting Started with the APIs - where basic understanding of api structure and environments are detailed.
  3. Company API flow - where functions available to users logged in as company admins are detailed.
  4. 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:

Flowchart

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

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

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

Download Images

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.

Download Images


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
email 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
email 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
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:

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:

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:

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

  1. The maximum allowed size of the image uploaded (per image) is capped at 2MB. Uploading photos larger than 2MB will throw an exception.
  2. If using a mobile device, capturing a clear, non-blurry image is extremely important so that the ID can be processed accurately.
  3. At a minimum, a 5MP camera should be used to capture the images for the UploadID parameter.
  4. It is mandatory to have a contrast between the ID and the background. The background must be solid colored.
  5. 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
email 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.
email 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.
email 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

Version 0.0.5

Date: Feb 22, 2022

Added

Changed

Version 0.0.4

Date: Dec 07, 2021

Added

Version 0.0.3

Date: April 20, 2021

Added

Version 0.0.2

Date: December 16, 2020

Added

Changed

Fixed

Version 0.0.1

Date: December 2, 2020

Added

Changed