Skip to main content

Requests

Sample Verification Request

To initiate a verification request, you must access the base URL https://api.shuftipro.com/ endpoint and provide the desired services within the verification request object. Attached is a sample object illustrating how to commence a verification service.

Run in Postman

//POST / HTTP/1.1
//Host: api.shuftipro.com
//Content-Type: application/json
//Authorization: Basic NmI4NmIyNzNmZjM0ZmNlMTlkNmI4WJRTUxINTJHUw==
// replace "Basic" with "Bearer in case of Access Token"
{
"reference": "1234567",
"callback_url": "http://www.example.com/",
"email": "[email protected]",
"country": "GB",
"language": "EN",
"redirect_url": "http://www.example.com",
"ttl": 60,
"verification_mode": "any",

"document": {
"proof": "",
"additional_proof": "",
"supported_types": ["id_card", "driving_license", "passport"],
"name": "",
"dob": "",
"age": "",
"issue_date": "",
"expiry_date": "",
"document_number": "",
"allow_offline": "1",
"allow_online": "1",
"gender": ""
},

"address": {
"proof": "",
"supported_types": ["id_card", "bank_statement"],
"name": "",
"issue_date": "",
"full_address": "",
"address_fuzzy_match": "1",
"document_number": ""
}
}

Status Request

Once a verification request is completed, you may request at the status endpoint to get the verification status. You’ll have to provide the reference ID for the status request and you will be promptly informed about the status of that verification.


Run in Postman


ParameterDescription
referenceRequired: Yes
Type: string
Minimum: 6 characters
Maximum: 250 characters
This is the unique reference ID of request, which we will send you back with each response, so you can verify the request.

//POST /status HTTP/1.1
//Host: api.shuftipro.com
//Content-Type: application/json
//Authorization: Basic NmI4NmIyNzNmZjM0ZmNlMTlkNmI4WJRTUxINTJHUw==
//replace "Basic" with "Bearer in case of Access Token"

{
"reference" : "17374217"
}

Delete Request

Once a verification request is completed, you may request at the delete request endpoint to delete the verification data. You’ll have to provide the reference ID for that request and you will be promptly informed about the deletion of the request.


Run in Postman


ParameterDescription
referenceRequired: Yes
Type: string
Minimum: 6 characters
Maximum: 250 characters
This is the unique reference ID of request which needs to be deleted.
commentRequired: Yes
Type: string
Minimum: 5 characters
Maximum: 100 characters
Add a comment why the request is deleted for your future reference

//POST /delete HTTP/1.1
//Host: api.shuftipro.com
//Content-Type: application/json
//Authorization: Basic NmI4NmIyNzNmZjM0ZmNlMTlkNmI4WJRTUxINTJHUw==
//replace "Basic" with "Bearer in case of Access Token"

{
"reference" : "17374217",
"comment" : "Customer asked to delete his/her data"
}

Account Info Request

This end-point provides account information to the customer such as account status, balance, and type (production mode or trial mode).


Run in Postman


info

If the type of account is production and customer signs up for a monthly subscription plan, the subscription plan details are available under the subscription_plan_details key. It contains plan details for current and upcoming months including the start and end dates, total_requests, used_requests and remaining_requests.


caution

Account Info end-point can only be used with Authorization Basic Auth.


//GET /account/info/ HTTP/1.1
//Host: api.shuftipro.com
//Content-Type: application/json
//Authorization: Basic NmI4NmIyNzNmZjM0ZmNlMTlkNmI4WJRTUxINTJHUw==

sample-account-info-response
{
"account": {
"name": "your account name",
"status": "production",
"balance": {
"amount": "99.85",
"currency": "USD"
}
}
}

sample-account-info-response
{
"account": {
"name": "your account name",
"status": "production",
"balance": {
"amount": "99.85",
"currency": "USD"
},
"subscription_plan_details": {
"kyc": [
{
"total_requests": 100,
"used_requests": 0,
"remaining_requests": 100,
"start_date": "2020-05-03",
"end_date": "2020-05-18"
},
{
"total_requests": 100,
"used_requests": 0,
"remaining_requests": 100,
"start_date": "2020-05-18",
"end_date": "2020-05-30"
}
],
"aml": [
{
"total_requests": 500,
"used_requests": 0,
"remaining_requests": 500,
"start_date": "2020-05-01",
"end_date": "2020-05-30"
},
{
"total_requests": 200,
"used_requests": 0,
"remaining_requests": 200,
"start_date": "2020-05-30",
"end_date": "2020-06-27"
}
],
"kyb": [
{
"total_requests": 3000,
"used_requests": 0,
"remaining_requests": 3000,
"start_date": "2020-05-08",
"end_date": "2020-05-30"
}
]
}
}
}

sample-account-info-response
{
"account": {
"name": "your account name",
"status": "trial",
"balance": {
"amount": "99.85",
"currency": "USD"
}
}
}

Access Token Request

This end-point is used to generate an access_token which is used to authorize API requests. The access token will be applicable only for 1 hour per request to the API.

//POST https://api.shuftipro.com/get/access/token HTTP/1.1
//Host: api.shuftipro.com
//Content-Type: application/json
//Authorization: Basic NmI4NmIyNzNmZjM0ZmNlMTlkNmI4WJRTUxINTJHUw==
sample-access-token-response
{
"access_token": "NzA4N2I2YjAwZjQyYmUyNDc1YTUxZmZiMzJjMTQ4M2IxOTY2ZTFmMg=="
}

Proof Access Request

To access proofs, clients should send a POST request to a specific endpoint with their access_token included in the request payload. Please note that the access_token must be valid and the request method must be POST; otherwise, the server will return an error.

Additionally, the endpoint URL is only valid for 15 minutes, after which the client will need to obtain a new access_token to access the proofs.


info

The feature will be applicable only for clients onboarded after 7th April, 2023.


//POST https://ns.shuftipro.com/api/pea/a95aa76a9d8ecf8526dc82473ed5d0e963d110b4 HTTP/1.1
//Host: ns.shuftipro.com
//Content-Type: application/json
{
"access_token": "46e02a0a0aad8f449714881f7dd63aaca16ffa30dffc3e5feab78d98c94a43"
}