Feel free to reach techsupport@surepass.io for any technical support or guidance.
client_id) and triggering an OTP via the Generate 2FA endpoint, you must call this endpoint with the received OTP to prove the taxpayer's identity. A successful response confirms the session is fully authenticated, allowing you to proceed with ITR data fetch calls using the same client_id. This mechanism ensures that sensitive tax filing information is only accessible to verified and authorized individuals.Authorization header as Bearer TOKEN.https://sandbox.surepass.apphttps://kyc-api.surepass.app| Header | Required | Description |
|---|---|---|
| Authorization | Yes | Bearer token for API authentication. Format: Bearer <JWT_TOKEN> |
| Content-Type | Yes | Must be set to application/json |
| Parameter | Type | Required | Description |
|---|---|---|---|
| client_id | string | Yes | Unique session identifier obtained from the initial ITR verification request. This ties the OTP submission to the correct taxpayer session. |
| otp | string | Yes | The One-Time Password received by the taxpayer via SMS, triggered by the Generate 2FA endpoint. |
{
"client_id": "itr_GphpGlzxZ0ficAventBk",
"otp": "156519"
}| Parameter | Type | Description |
|---|---|---|
| data | object | Contains the authentication result |
| data.logged_in | boolean | Indicates whether the OTP was verified and the session is now fully authenticated (true for success) |
| status_code | integer | HTTP status code of the response (200 for success) |
| message_code | string | Machine-readable status code (e.g., "success") |
| message | string | Human-readable message describing the result |
| success | boolean | Indicates if the API request was processed successfully |
{
"data": {
"logged_in": true
},
"status_code": 200,
"message_code": "success",
"message": "Logged In Successfully",
"success": true
}{
"data": null,
"status_code": 422,
"message_code": "invalid_otp",
"message": "The OTP entered is invalid. Please check and try again.",
"success": false
}client_id is associated with the current user session to prevent cross-session OTP submission attacks.client_id required for subsequent steps.client_id.curl --location --request POST 'https://kyc-api.surepass.app/api/v1/itr/submit-2fa' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data-raw '{
"client_id": "itr_GphpGlzxZ0ficAventBk",
"otp": "156119"
}'{
"data": {
"logged_in": true
},
"status_code": 200,
"message_code": "success",
"message": "Logged In Successfully",
"success": true
}