SpringVerify India - APIs Documentation

SpringVerify India - APIs Documentation

Introduction

Welcome to SpringVerify India API Documentation. The endpoints exposed in this documentation are to initiate background verification of a candidate and query the verification report.
The SpringVerify India API is organized around REST. Our API has predictable resource-oriented URLs, accepts form request JSON bodies, returns JSON responses, and uses standard HTTP response codes, authentication, and verbs.

Pre-requisites
  1. The user should already be registered with SpringVerify. If not registered yet, please contact sales@springverify.com
  2. The user should have generated the API token from the SpringVerify dashboard. Steps to create the API token from the dashboard are given below

Steps to generate API token:
  1. Sign in to SpringVerify.
  2. Go to SpringVerify/Settings from the Profile button in the top-right corner.
  3. Navigate to the Settings tab.
  4. Under Settings Tab. Click on API sub section.
  5. Click on the “Generate token” button on the top-right and give a name and expiry to the token and click on “Create” button.
  6. Copy the API token and use it to call the APIs provided below.
If you want to see a pictorial version of it. Click here

SpringVerify APIs

Given below is the flowchart to show how the flow should be for calling these APIs:


Base URL:

Environment
URL
Production 
Stage (Test)


GET Fetch Packages

{{base_url}}/external/v1/candidate/packages

This API gives you the details of the configurations setup for your company in SpringVerify along with the package and subtype opted. You will need the package id and subtype id from this API to call the Add Candidate API.


Package: Package is a collection of subtypes

Subtype: Subtype is a collection of checks.


Example: Lets say your company has opted for two different packages in SpringVerify. One package with a subtype for Freshers (candidates with no past employment experience) and other for Experienced folks (candidates with past employment experience). For Freshers most probably you'll opt for Education check rather than Employment check since there is no past experience. But for Experienced folks you'll opt for employment check rather than Education check. Since the cost for both combinations is same. Both the subtypes can now share same package balance.


 Response Parameters:


KeyTypeDescription
categoriesArray of ObjectsList of categories that can be assigned to candidates
tagsArray of ObjectsList of tags that can be assigned to candidates
credit_balanceIntegerAvailable credit balance of the company
is_email_optionalIntegerValue can be 0/1. States where email is mandatory or optional in add candidate API.
is_resume_optionalIntegerValue can be 0/1. States whether resume is mandatory or optional in add candidate API
packagesArray of ObjectsList of packages assigned along with the details

Categories Object:

KeyTypeDescription
idIntegerUnique identifier for the category
category_nameStringName of the category

Tags Object:

KeyTypeDescription
idIntegerUnique identifier for the tag
categoryStringName of the tag

Packages Object:

KeyTypeDescription
package_idIntegerUnique identifier for package
package_nameStringName of the package
subtype_idIntegerUnique identifier for subtype
subtype_nameStringName of the subtype
subtype_friendly_nameStringFriendly name assigned to the subtype
current_balanceIntegerCurrently available package balance
cost_per_candidateIntegerThe minimum cost payable per candidate for this package
configObjectAvailable checks along with their configuration

Config Object:

identityArray of StringsID checks part of the subtype
Possible values can be
"PAN", "DRIVING LICENSE", "PASSPORT", "VOTER ID", "AADHAAR", "ANY_1", "ANY_2", "ANY_3", "ANY_4", "ALL"
addressArray of StringsAddress checks part of the subtype. Possible values are:
"PERMANENT", "CURRENT", "ANY_1"
courtArray of StringsCourt checks part of the subtype. Possible values are:
"PERMANENT", "CURRENT", "ANY_1"
employmentIntegerNumber of employment checks part of the subtype
education_order_typeStringThe order by which education details needs to be collected and processed. Possible values are
- "SPECIFIC" = Only configured education details. Like 10th, 12th, Graduation, Post graduation.
- "CHRONOLOGICAL" = Last n education checks.
educationInteger/ Array of strings
It'll be based on education_order_type.
If education_order_type = "SPECIFIC". response type = Array of Strings.
education_order_type = "CHRONOLOGICAL". response type = Integer
Possible values.
- SPECIFIC case
"10",
"12",
"UNDERGRAD",
"POSTGRAD",
"MASTERS",
"PHD"
- CHRONOLOGICAL case
number
education_typeStringSource from which the education check will be verified. Possible values are
"OFFICIAL", "REGIONAL_PARTNER", "HYBRID"
reference_typeStringType of reference check that is part of subtype - enum between "TOTAL","SPECIFIC","SPECIFIC_LOCK","NONE"
referenceInteger/ Array of Strings
Integer when reference_type = "TOTAL"
Array of Strings when reference_type = "SPECIFIC", "SPECIFIC_LOCK"
Number of reference checks part of subtype/ Reference checks configure per employment check.
worldBooleanWhether world check is part of the subtype or not.
creditBooleanWhether credit check is part of the subtype or not
customArray of stringsList of all custom checks that are part of package

HEADERS

Accept
application/json
Cache-Control
no-cache
Authorization
Bearer {{token}}
Content-Type
application/json

Body raw

{
    "candidate": {
        "name": "Test User",
        "email": "test.user@company_name.in",
        "alternate_email": "",
        "phone": "9999999999",
        "employee_id": "XXXX1234",
        "uan_number": "",
        "tags": [
            {
                "id": 100
            }
        ],
        "resume": "",
        "invite": "false",
        "is_consent_undertaking_letter": false,
        "category_id": 200
    },
    "package": {
        "package_id": 16,
        "subtype_id": 22,
        "config": {}
    }
}

GET Fetch Candidate Details/ Candidate report

{{base_url}}/external/v1/candidate/details?candidate_id={{candidate_id}}&include_check_status=0


This API gives you the details of the candidate. Response includes

  1. Overall status of the case
  2. URL of the report
  3. [Optional] Check statuses of every check associated with the case.
ParamtersTypeMandatory/ OptionalDescription
candidate_idIntegerOptionalSVID of the case
candidate_uuidUUIDOptionalUUID of the case
emailEmailOptionalPrimary email of the case
include_check_statusInteger (Allowed values are 0/1. Defaults to 0)OptionalInclude checks statuses of the case associated with the candidate

HEADERS

Authorization Bearer       {{token}}

PARAMS

candidate_id       {{candidate_id}}
include_check_status       0

GET Download Report file

{{base_url}}/external/v1/candidate/report/pdf?candidate_id={{candidate_id}}

This API returns the BGV report file of the candidate
ParamtersTypeMandatory/ OptionalDescription
candidate_idIntegerMandatorySVID of the case

HEADERS
Authorization Bearer       {{token}}

PARAMS
candidate_id       {{candidate_id}}

    • Related Articles

    • How to generate an API key on SpringVerify portal?

      Steps to generate API token on SpringVerify 1. Log into your SpringVerify account with your login credentials 2. Go to Profile (top right corner) 3. Click Setting from the Dropdown 4. Navigate to API section 5. In this section, click on Generate ...
    • A Guide to ‘Security Settings’ on SpringVerify

      What are the ‘Security Settings’ features on SpringVerify? ‘Security Settings’ features are the second layer authentication mechanism available to SpringVerify customers to improve protection against threats to the access and usage of ...
    • SpringVerify Dashboard Related FAQs

      Q. Can HR select the checks on the dashboard before initiating the case? Yes, HR can select the preferred package and add any specific checks for each candidate. Here’s how: Step 1: Add Candidate Step 2: Select Packages and Add-on checks When you ...
    • Integration of SpringVerify with BambooHR

      Integration of SpringVerify with BambooHR Overview: SpringVerify IN has developed integrations with BambooHR, allowing clients to generate BambooHR API keys from the BambooHR platform. This integration streamlines and automates background ...
    • Integrating SpringVerify with RazorpayX Payroll

      Overview: SpringVerify now offers seamless integration with RazorpayX Payroll, allowing your organization to efficiently manage employee verifications. This integration streamlines and automates the background verification process directly within the ...