/forget-password. On success, the previously staged password becomes the taxpayer's active ITR portal password and the credentials are ready for downstream operations.password_reset_required state.X-API-Key and X-API-Secret.X-API-Key: <your_key> and X-API-Secret: <your_secret>.https://api.finpass.ai| Header | Required | Description |
|---|---|---|
X-API-Key | Yes | Your Finpass-issued API key. |
X-API-Secret | Yes | Your Finpass-issued API secret paired with the key. |
Content-Type | Yes | Must be set to application/json. |
| Parameter | Type | Required | Description |
|---|---|---|---|
client_id | string | Yes | The client identifier for the taxpayer whose password reset is being confirmed. |
otp | string | Yes | The one-time password received by the taxpayer on their registered ITR portal contact. |
{
"client_id": "CLIENT_ID",
"otp": "123456"
}| Parameter | Type | Description |
|---|---|---|
success | boolean | Indicates whether the OTP was accepted and the new password activated. |
data | object | Container holding the reset completion details. |
data.client_id | string | The client identifier whose password was reset. |
data.status | string | Reset completion status. Typical value: password_reset_success. |
data.message | string | Human-readable confirmation of password rotation. |
{
"success": true,
"data": {
"client_id": "CLIENT_ID",
"status": "password_reset_success",
"message": "Password reset confirmed. New password is now active."
}
}{
"success": false,
"error": {
"code": "INVALID_OTP",
"message": "The OTP entered is incorrect."
}
}otp value as a short-lived secret; transmit only over TLS and never log or persist it.X-API-Key and X-API-Secret as highly sensitive secrets; rotate them periodically.INVALID_OTP (retry) vs OTP_EXPIRED (restart flow).valid.curl --location 'https://api.finpass.ai/api/v1/services/itr-analyzer/forget-password/submit-otp' \
--header 'x-api-key;' \
--header 'x-api-secret;' \
--header 'Content-Type: application/json' \
--data '{
"client_id": "CLIENT_ID",
"otp": "123456"
}'{}