REST API’s ( V1 & V2 Supports Both )
Login
Method and URL
POST : https://api-dev.springscan.springverify.com/auth/login
Headers
Headers |
Description |
|---|---|
Token |
XXXXXXXX |
Example Request
curl --location --request POST 'https://api-dev.springscan.springverify.com/auth/login' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Postman-Token: 3027720f-71ef-4877-b851-8745e650b4c5' \
--header 'Token: 4cbe51cf-a294-35a8-b3ae-d3cc89abf29c' \
--header 'cache-control: no-cache' \
--data-urlencode 'email=' \
--data-urlencode 'password='
Example Response
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImluZm9Ac3ByaW5ndmVyaWZ5LmNvbSIsInVzZXJJZCI6IjVlMTczMzZjNzZjYzQzMDAxYzM3MDk5YyIsImlhdCI6MTYxMTIzMjA2NCwiZXhwIjoxNjE5ODcyMDY0fQ.mHaDBcy2F-J7NH1nuhKpjqgL7bLFyTHsej6YjZ5hpqU",
"demo_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImluZm9Ac3ByaW5ndmVyaWZ5LmNvbSIsInVzZXJJZCI6IjVlMTczMzZjNzZjYzQzMDAxYzM3MDk5YyIsImlhdCI6MTYxMTIzMjA2NCwiZXhwIjoxNjE5ODcyMDY0fQ._8Jt3qKtmImkZsBtPjXsLvMtsTd-Wo4Gnxl0BA2Ipps",
"demo_person_id": "5f20100c173c580014338f3c",
"userId": "5e17336c76cc43001c37099c",
"user_name": "Springverify India",
"company_name": "SpringRole_5"
}
This API is used to login into the platform. We use Json Web Token for authentication. Please refer here to know more about Json Web Token. It is used as Bearer Token in all the API’s apart from login API.
Use the JWT token in response as Authorization for all the APIs
Use the credentials provided to your company and the Token for generating JWT token.
Upload Documents
Method and URL
POST : https://api-dev.springscan.springverify.com/user/person/upload/
Headers
Name |
Description |
|---|---|
Authorization |
Bearer + JWT ( Generated from Login API ) |
Token |
XXXXX |
Use the JWT generated in the Login API.
Example Request
curl --location --request POST 'https://api-dev.springscan.springverify.com/user/person/upload/' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Token: 4cbe51cf-a294-35a8-b3ae-d3cc89abf29c' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6InByYXZlZW4uc2FtYXJpeWFAbWVkaWFzc2lzdC5pbiIsInVzZXJJZCI6IjVmZjQ2NjZmZDVhOGVlMDAxNGMxN2VlOSIsImlhdCI6MTYxMTIzNTA2NywiZXhwIjoxNjE5ODc1MDY3fQ.hSXLKCgrMZ2fT1KZovuTK-I44lG13CdvhJ42B7-qMoY' \
--form 'document1=@"/path/to/file"' \
--form 'document2=@"/path/to/file"'
Example Response
{
"document1": {
"Location": "https://pdf-reports-springrole.s3.amazonaws.com/60097f1b124ed40012ef59f7/WhatsApp%20Image%202020-02-14%20at%209.11.06%20AM.jpeg",
"Bucket": "pdf-reports-springrole",
"originalName": "WhatsApp Image 2020-02-14 at 9.11.06 AM.jpeg",
"mimeType": "image/jpeg"
},
"belongs_to": "60097f1b124ed40012ef59f7",
"s3_paths": "60097f1b124ed40012ef59f8",
"person_id": "60097f1b124ed40012ef59f7",
"is_new_person": true
}
This API is to be used if your platform does not have the document (JPG, JPEG, PNG etc) on a hosted URLs.
We aim to provide clients with option to host their documents with us. The mentioned documents will be hosted securely with us.
Add/Update Selfie
Method and URL
POST : https://api-dev.springscan.springverify.com/user/person/personId/selfie
Headers
Name |
Description |
|---|---|
Authorization |
Bearer + JWT ( Generated from Login API ) |
Token |
XXXXX |
Example Request
curl --location --request POST 'https://api-dev.springscan.springverify.com/user/person/600526029a9360001887f26f/selfie' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6InBvb2phQHlvcG1haWwuY29tIiwidXNlcklkIjoiNWZiNGQzZDZhOWRhOTcwMDEzMWI1YmY1IiwiaWF0IjoxNjA1Njg2ODg3LCJleHAiOjE2MTQzMjY4ODd9.imMwxJepiKRa1muFI7_2fX5hQE_tPZdObta5seCB7vQ' \
--header 'Token: 4cbe51cf-a294-35a8-b3ae-d3cc89abf29c' \
--header 'Content-Type: application/json' \
--data-raw '{
"selfieurl":"https://pdf-reports-springrole.s3.amazonaws.com/me.png"
}'
Example Response
{
"person": {
"documents": {
"ind_aadhaar": null,
"ind_driving_license": null,
"ind_pan": null,
"ind_voter_id": null,
"ind_passport": null,
"ind_cheque": null,
"ind_rc": null,
"bank_account": null,
"upi_details": null,
"ind_gst_certificate": null,
"ind_coa": null
},
"selfie": {
"url": "https://pdf-reports-springrole.s3.amazonaws.com/me.png"
},
"hasConsent": false,
"ongridId": "false",
"phone": null,
"city": null,
"gender": null,
"selfie_quality": null,
"s3_paths": {
"belongs_to": "600526029a9360001887f26f",
"_id": "600526039a9360001887f270",
"createdAt": "2021-01-18T06:09:07.145Z",
"updatedAt": "2021-01-18T06:09:07.145Z",
"__v": 0
},
"noOcr": false,
"ind_address": null,
"created_from": "intialize",
"createdAt": "2021-01-18T06:09:06.799Z",
"updatedAt": "2021-02-10T14:16:14.968Z",
"__v": 0
}
}
Adds a new Selfie to person or updates an existing Selfie, returns the updated person as response.
Bank Account Validation
Method and URL
GET : https://api-dev.springscan.springverify.com/v2/user/person/validation/bankDetails/:person_id
Headers
Name |
Description |
|---|---|
Authorization |
Bearer + JWT ( Generated from Login API ) |
Token |
XXXXX |
tokenKey |
XXXXX ( To be generated from dashboard ) |
You can also run this API by passing the tokenKey (generated from Dashboard) in the headers instead of Authorization and token.
Example Request
curl --location --request GET 'https://api-dev.springscan.springverify.com/v2/user/person/validation/bankDetails/5df35fa819bd2a8d8663371c' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Postman-Token: 3027720f-71ef-4877-b851-8745e650b4c5' \
--header 'Token: 4cbe51cf-a294-35a8-b3ae-d3cc89abf29c' \
--header 'cache-control: no-cache' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6InBvb2phQHlvcG1haWwuY29tIiwidXNlcklkIjoiNWZiNGQzZDZhOWRhOTcwMDEzMWI1YmY1IiwiaWF0IjoxNjA1Njg2ODg3LCJleHAiOjE2MTQzMjY4ODd9.imMwxJepiKRa1muFI7_2fX5hQE_tPZdObta5seCB7vQ' \
--data-urlencode 'name=John Doe' \
--data-urlencode 'phone=xxxxxxxxxxx' \
--data-urlencode 'bankAccount=026291800001191' \
--data-urlencode 'ifsc=YESB0000262'
Example Response
{
"got_db_response": true,
"result": "id_found",
"information": "{\"name\":\"JOHN DOE\",\"account_number\":\"026291800001191\",\"ifsc\":\"YESB0000262\",\"accountExists\":\"YES\"}",
"message": "Bank Account details verified successfully.",
"success": true,
"manual_input": {
"name": "John Doe",
"phone": "xxxxxxxxxx",
"bankAccount": "026291800001191",
"ifsc": "YESB0000262",
},
"db_output": {
"name": "JOHN DOE",
"account_number": "026291800001191",
"ifsc": "YESB0000262",
"accountExists": "YES",
"amountDeposited": "1"
},
"matched_information": {
"name_match": 100,
"account_number_match": true,
"ifsc_match": true
}
}
API used to verify a bank account and ifsc code combination.
Response Description
name_match will be percentage match of name in OCR and government retreived name.
account_number_match will be true if account_number in OCR is same as government retreived account_number.
ifsc_match will be true if ifsc in OCR is same as government retreived ifsc.
UPI ID Validation
Method and URL
GET : https://api-dev.springscan.springverify.com/v2/user/person/validation/upiID/:person_id
Headers
Name |
Description |
|---|---|
Authorization |
Bearer + JWT ( Generated from Login API ) |
Token |
XXXXX |
tokenKey |
XXXXX ( To be generated from dashboard ) |
You can also run this API by passing the tokenKey (generated from Dashboard) in the headers instead of Authorization and token.
Example Request
curl --location --request GET 'https://api-dev.springscan.springverify.com/v2/user/person/validation/upiID/5fb65d9a45ab5c00144a38c2' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Postman-Token: 3027720f-71ef-4877-b851-8745e650b4c5' \
--header 'Token: 4cbe51cf-a294-35a8-b3ae-d3cc89abf29c' \
--header 'cache-control: no-cache' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6InBvb2phQHlvcG1haWwuY29tIiwidXNlcklkIjoiNWZiNGQzZDZhOWRhOTcwMDEzMWI1YmY1IiwiaWF0IjoxNjA1Njg2ODg3LCJleHAiOjE2MTQzMjY4ODd9.imMwxJepiKRa1muFI7_2fX5hQE_tPZdObta5seCB7vQ' \
--data-urlencode 'name=John Doe' \
--data-urlencode 'vpa=success@upi'
Example Response
{
"got_db_response": true,
"result": "id_found",
"information": "{\"name\":\"John Doe\",\"vpa\":\"success@upi\",\"accountExists\":\"YES\"}",
"message": "VPA verification successful",
"success": true,
"manual_input": {
"name": "John Doe",
"vpa": "success@upi"
},
"db_output": {
"name": "John Doe",
"vpa": "success@upi",
"accountExists": "YES"
},
"matched_information": {
"name_match": 100,
"vpa_match": true
}
}
API used to verify an existing UPI handle.
Response Description
name_match will be percentage match of name in OCR and government retreived name.
vpa_match will be true if vpa in OCR is same as government retreived vpa.
Court Check API
Method and URL
POST : https://api-dev.springscan.springverify.com/criminal/searchDirect
Headers
Name |
Description |
|---|---|
Authorization |
Bearer + JWT ( Generated from Login API ) |
Token |
XXXXX |
tokenKey |
XXXXX ( To be generated from dashboard ) |
You can also run this API by passing the tokenKey (generated from Dashboard) in the headers instead of Authorization and token.
Example Request
curl --location --request POST 'https://api-dev.springscan.springverify.com/criminal/searchDirect' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Postman-Token: 3027720f-71ef-4877-b851-8745e650b4c5' \
--header 'Token: 4cbe51cf-a294-35a8-b3ae-d3cc89abf29c' \
--header 'cache-control: no-cache' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImluZm9Ac3ByaW5ndmVyaWZ5LmNvbSIsInVzZXJJZCI6IjVlMTczMzZjNzZjYzQzMDAxYzM3MDk5YyIsImlhdCI6MTYwODc5NDYwMiwiZXhwIjoxNjE3NDM0NjAyfQ.O3N7Dmgk_3IqH-Mc7pPObsHaM5NgUE84WoH7iTz5HsY' \
--data-urlencode 'name=XXXXX' \
--data-urlencode 'fatherName=XXXXX' \
--data-urlencode 'address=XXXXXXX'
Example Response
{
"reports": [
{
"year": "YYYY",
"subject": null,
"address_taluka": null,
"source": "XXXXX",
"type": "XX",
"next_hearing_date": " 21st December 2017",
"address_pincode": null,
"first_hearing_date": " 28th November 2017",
"state_name": "XXXXXXXXXXXX",
"address_wc": 0,
"id": null,
"under_acts": "XXXXXXXXXXX",
"address_district": null,
"nature_of_disposal": null,
"uniq_case_id": "XXXXXXXXX",
"name_wc": "XX",
"business_category": "XXXXXXXX",
"filing_no": null,
"case_category": "XXXXXXXX",
"address_street": null,
"name": "XX",
"dist_code": "XX",
"state_code": "XX",
"link": "<report_link>",
"address_state": null,
"court_no_judge": null,
"decision_date": null,
"court_no_name": null,
"under_sections": "XX",
"court_name": null,
"case_no_year": null,
"address": null,
"case_code": "XXXXXXXXXXXXXXXX",
"dist_name": "XXXXXXXXX",
"case_type": "XXXXXXX",
"police_station": "XXXXXXX",
"case_year": "XXXX",
"registration_no": null,
"case_decision_date": null,
"purpose_of_hearing": "XXXXXXX",
"case_status": null,
"fir_no": "XX",
"md5": "XXXXXXXXXXXXXX",
"raw_address": null,
"court_code": XX,
"cnr": "XXXXXXXXX",
"data_category": "XXXXXXXXXX",
"global_category": "XXXXXXXX",
"oparty": "XXXXXXXX",
"score": "XXXX",
"model_score": "XXXXXX"
}
],
"status": "completed",
"query": {
"name": "XXXXXX",
"address": "XXXXXXXXX",
"fatherName": "XXXXXXXXX"
},
"createdAt": "2020-03-16T14:07:46.285Z",
"updatedAt": "2020-03-16T14:07:46.285Z",
"__v": 0
}
Fetches the court case reports matching the name,fatherName and address.
Aadhaar Masking API
Method and URL
POST : https://api-dev.springscan.springverify.com/verification/maskAadhaar
Headers
Name |
Description |
|---|---|
Authorization |
Bearer + JWT ( Generated from Login API ) |
Token |
XXXXX |
tokenKey |
XXXXX ( To be generated from dashboard ) |
You can also run this API by passing the tokenKey (generated from Dashboard) in the headers instead of Authorization and token.
Example Request
curl --location --request POST 'https://api-dev.springscan.springverify.com/verification/maskAadhaar' \
--header 'Token: 4cbe51cf-a294-35a8-b3ae-d3cc89abf29c' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6InBvb2phQHlvcG1haWwuY29tIiwidXNlcklkIjoiNWZiNGQzZDZhOWRhOTcwMDEzMWI1YmY1IiwiaWF0IjoxNjA1Njg2ODg3LCJleHAiOjE2MTQzMjY4ODd9.imMwxJepiKRa1muFI7_2fX5hQE_tPZdObta5seCB7vQ' \
--data-raw '{
"aadhaar_url": [
"https://pdf-reports-springrole.s3.amazonaws.com/me.jpg"
],
"consent": true
}'
Example Response
[
{
"action": "mask",
"completed_at": "2020-04-22T17:22:12+05:30",
"created_at": "2020-04-22T17:22:08+05:30",
"group_id": "b101b3d0-848f-11ea-b554-8b104684043b",
"request_id": "f6dc6716-dc17-40ae-ad5f-13eff5ae6c1f",
"result": {
"document_url": "https%3A%2F%2Fpdf-reports-springrole.s3.amazonaws.com%2Fme1.jpg",
"id_number_found": true,
"original_document_url": "https%3A%2F%2Fpdf-reports-springrole.s3.amazonaws.com%2Fme.jpg",
"self_link": ""
},
"status": "completed",
"task_id": "b1018cc0-848f-11ea-b554-8b104684043b",
"type": "ind_aadhaar"
}
]
Masks an Aadhaar image to hide first 12 digits of Aadhaar ID number.
Get Person
Method and URL
GET : https://api-dev.springscan.springverify.com/user/getPersonPublicApi/personId
Headers
Name |
Description |
|---|---|
Authorization |
Bearer + JWT ( Generated from Login API ) |
Token |
XXXXX |
Example Request
curl --location --request GET 'https://api-dev.springscan.springverify.com/user/getPersonPublicApi/personId' \
--header 'Accept: */*' \
--header 'Accept-Encoding: gzip, deflate' \
--header 'Cache-Control: no-cache' \
--header 'Connection: keep-alive' \
--header 'Postman-Token: bc628ecf-df7c-41a2-99ed-b96d8070aafb,059b478c-6068-4e48-8d7f-bdb1770b8308' \
--header 'Token: 00ffc975-eafa-4451-9a71-aad62623c963' \
--header 'User-Agent: PostmanRuntime/7.20.1' \
--header 'cache-control: no-cache' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6InNvdXJhYmhiYWdyZWNoYTFAZ21haWwuY29tIiwidXNlcklkIjoiNWNkYmFjMTQ4ODY1NzQ0YTIwNGQ1NTA2IiwiaWF0IjoxNTkxMDE3ODc4LCJleHAiOjE1OTk2NTc4Nzh9.Z7Z4XHOzxgK0hyEN3EjucSAB9qIEsHq85GH'
Example Response
{ "person":
{
"name": {
"first": "xxxxx",
"last": "xxxxx",
"middle": "xxxxx"
},
"documents": {
"ind_aadhaar": {
"result": {
"address": "xxxxxxxxxxxxxxx",
"date_of_birth": "yyyy-mm-dd",
"district": "xxxx",
"fathers_name": "xxxxxxx",
"gender": "MALE",
"house_number": "xxxxxxxxx",
"id_number": "xxxxxxxxx",
"is_scanned": "false",
"name_on_card": "xxxxxxxxx",
"pincode": "xxxxxx",
"state": "xxxxx",
"street_address": "xxxxx",
"year_of_birth": "xxxx"
},
"manualObj": null,
"status": "completed",
"faceMatched": false,
"matchResult": null,
"govResult": null,
"docType": "ind_aadhaar",
"document1": "xxxxx",
"belongsTo": "xxxxx",
"got_face_match": true,
"got_ocr_response": true,
"got_gov_response": true,
"createdAt": "2019-12-18T10:22:59.917Z",
"updatedAt": "2019-12-18T10:23:01.167Z",
"__v": 0
},
"ind_driving_license": null,
"ind_pan": null,
"ind_voter_id": null,
"ind_passport": null
},
"selfie": null,
"hasConsent": false,
"phone": null,
"city": null,
"gender": null,
"s3_paths": null,
"createdAt": "2019-12-18T10:22:49.563Z",
"updatedAt": "2019-12-18T10:23:00.299Z",
"__v": 0
}
}
API used to get Person details.