API_AddClientFlow_v1.1
API_AddClientFlow_v1.1
2. About API
Requester Type-2 ERI
Provider ITD
Description These APIs shall be used to add client by ERI
Mode of
Integration
Real Time
(Real time /
Batch)
Processing
Details
Pre-Processing User should have established a session using the Login API specifications
Details and user should have valid auth token.
Service Name EriAddClientService
http<hostname>/itrweb/auth/v0.1/client/addClient
http://<hostname>//itrweb/auth/v0.1/client/validateClientOtp
API URL
http<hostname>/itrweb/auth/v0.1/client/registerClient
http://<hostname>//itrweb/auth/v0.1/client/validateRegOtp
When ERI submits request for add client, there are two high level activities are performed:
1. Client (taxpayer) will get OTP on her/his mobile. OTP can be sent from eFiling system or
Aadhaar depending upon the option provide in API request.
2. ERI application requests the taxpayer to provide the OTP in their application. This OTP
value should be used to get the taxpayer’s consent and pass in validateClientOtp API
request.
Above two steps are two disconnected API calls and OTP value sent from using addClient API
which is step 1 above is then used as part of the validateClientOTP API to get the taxpayer’s
consent and accept the add client request.
ERI can add taxpayer as their client using API and in case taxpayer wants to remove the ERI,
they have to login to eFiling portal and remove the existing ERI.
“For registered taxpayers, only PAN and Date of Birth/Incorporation, Validity period is required
for Adding Client followed by OTP consent. Here by giving consent taxpayer understands that e -
Return Intermediary can access taxpayer data available with the Income Tax Department for
Income Tax Return preparation purposes or for any related status updates”
1. ERI application will capture the taxpayer’s details as explained as part of the request
attribute details.
2. Application will capture the OTP choice as eFiling OTP or Aadhaar OTP.
3. Application will call addClient API with values captured from the taxpayer as per request
attribute details.
4. OTP will be sent to taxpayer to their primary mobile number/email address in case of
eFiling OTP sourceOtpFlag is opted.
5. OTP will be sent to taxpayer from Aadhaar to mobile number linked to Aadhaar number
in case sourceOtpflag is opted as “A”
data: data attribute will be Base64 encoded string of API request json. Details of request json
attributes are explained in request data element details.
sign:
• The API request data attribute should be digitally signed for the message integrity and
non-repudiation purposes.
• Digital signing should always be performed by the ERI from value of data attribute which
was generated from request json.
• The signature should be generated using a valid X.509 certificate
• signature value should be generated from data field using ERI’s DSC private key.
• ERI should share their DSC public key with ITD to validate the signature.
Below are the request parameters, which is request json used to create data attribute as
explained above data attribute of the request body:
"errors": []
Indicates whether addClient call is
successful. Possible value is true or false.
successFlag Boolean Yes
"successFlag": true
transactionId String 20 Yes Unique number generated
http codes corresponding to response.
"httpStatus": "SUBMITTED"
"sign": "",
"eriUserId": ""
"serviceName": "",
"pan": "",
"dateOfBirth": "",
"otpSourceFlag": ""
"messages": [],
"errors": [],
"successFlag": true,
"transactionId": "1324t56",
"httpStatus": "SUBMITTED"
“For registered taxpayers, only PAN and Date of Birth/Incorporation, Validity period is required
for Adding Client followed by OTP consent. Here by giving consent taxpayer understands that e -
Return Intermediary can access taxpayer data available with the Income Tax Department for
Income Tax Return preparation purposes or for any related status updates”
1. Application will capture the OTP from their client as eFiling OTP or Aadhaar OTP.
2. Application will call validateClientOtp API with OTP values captured from the taxpayer
as per request attribute details.
1. data: data attribute will be Base64 encoded string of API request json. Details of request
json attributes are explained in request data element details.
2. eriUserId: It is mandatory and valid value is user ID of the ERI
3. sign:
• The API request data attribute should be digitally signed for the message integrity and
non-repudiation purposes.
• Digital signing should always be performed by the ERI from value of data attribute which
was generated from request json.
• The signature should be generated using a valid X.509 certificate
• signature value should be generated from data field using ERI’s DSC private key.
• ERI should share their DSC public key with ITD to validate the signature.
Below are the request parameters, which is request json used to create data attribute as
explained above data attribute of the request body:
Max Is
Data type Description
Name of the length Mandatory
Parameter
List of information messages. There can
be one or more messages. The messages
Messages List<String> Yes array will be null if there are no messages.
"messages": []
List of errors. The value will be null if
there is no error.
Errors List<Error> Yes
"errors": []
Indicates whether addClient call is
successful. Possible value is true or false.
successFlag Boolean Yes
"successFlag": true
http codes corresponding to response.
"httpStatus": "ACCEPTED"
"data": "",
"sign": "",
"eriUserId": ""
"serviceName": "EriValidateClientService",
"pan": "",
"transactionId": "",
"otpSourceFlag": "A",
"Otp": "",
"validUpto": ""
}
5.7 validateClientOtp API - Sample Response format
{
"messages": [],
"errors": [],
"successFlag": true,
"httpStatus": "SUBMITTED"
When ERI submits request for add client, there are two high level activities are performed:
1. ERI application will capture the taxpayer’s registration details as per the request
parameters.
2. Client (taxpayer) will get OTP on her/his mobile and email address. OTP can be sent to
taxpayer from eFiling system to given primary mobile number and primary email
address.
3. ERI application capture the taxpayer to provide the OTP values. This OTP value should
be used to get the taxpayer’s consent and pass in validateRegOtp API request.
Above two steps are two disconnected API calls and OTP value sent from using
addRegisterClient API which is step 1 above is then used as part of the validateRegOTP API to
get the taxpayer’s consent and accept the add client request.
“For registered taxpayers, only PAN and Date of Birth/Incorporation, Validity period is required
for Adding Client followed by OTP consent. Here by giving consent taxpayer understands that e-
Return Intermediary can access taxpayer data available with the Income Tax Department for
Income Tax Return preparation purposes or for any related status updates”
1. ERI application will capture the taxpayer’s details as explained as part of the request
attribute details.
2. ERI Application will call RegisterClient API with values captured from the taxpayer as
per request attribute details.
• The API request data attribute should be digitally signed for the message integrity and
non-repudiation purposes.
• Digital signing should always be performed by the ERI from value of data attribute which
was generated from request json.
• The signature should be generated using a valid X.509 certificate
• signature value should be generated from data field using ERI’s DSC private key.
• ERI should share their DSC public key with ITD to validate the signature.
Below are the request parameters, which is request json used to create data attribute as
explained above data attribute of the request body:
"successFlag": true
Unique number generated for SMS
smsTransactionId String 20 Yes
OTP
Unique number generated for email
emailTransactionId String 20 Yes
OTP
http codes corresponding to response.
"httpStatus": "SUBMITTED"
"data": "",
"sign": "",
"eriUserId": ""
"serviceName": "EriRegisterClient",
"pan": "",
"residentialStatusCd": "",
"firstName": "",
"lastName": "",
"midName": "",
"dateOfBirth": "",
"userGender": "",
"priMobileNum": "",
"isdCd": "",
"priMobBelongsTo": "",
"priEmailRelationId": "",
"priEmailId": "",
"addrLine1Txt": "",
"addrLine2Txt": "",
"addrLine3Txt": "",
"addrLine4Txt": "",
"addrLine5Txt": "",
"pinCd": "",
"zipCd": "",
"stdCd": "",
"countryCd": "",
"landlineNo": "",
"stateCd": "",
"foreignStateDesc": ""
"messages": [],
"errors": [],
"successFlag": true,
"smsTransactionId": "1324t56",
"emailTransactionId": "1324t56",
"httpStatus": "SUBMITTED"
Master_list.zip
1. Application will capture the OTP from their client as eFiling OTP.
2. Application will call EriValidateRegOtp API with OTP values captured from the
taxpayer as per request attribute details.
“For registered taxpayers, only PAN and Date of Birth/Incorporation, Validity period is required
for Adding Client followed by OTP consent. Here by giving consent taxpayer understands that e-
Return Intermediary can access taxpayer data available with the Income Tax Department for
Income Tax Return preparation purposes or for any related status updates”
1. data: data attribute will be Base64 encoded string of API request json. Details of request
json attributes are explained in request data element details.
2. eriUserId: It is mandatory and valid value is user ID of the ERI
3. sign:
• The API request data attribute should be digitally signed for the message integrity and
non-repudiation purposes.
• Digital signing should always be performed by the ERI from value of data attribute which
was generated from request json.
• The signature should be generated using a valid X.509 certificate
• signature value should be generated from data field using ERI’s DSC private key.
• ERI should share their DSC public key with ITD to validate the signature.
Below are the request parameters, which is request json used to create data attribute as
explained above data attribute of the request body:
Max Is
Data type Description
Name of the length Mandatory
Parameter
List of messages
messages List<String> Yes
"messages": [],
List of errors
Errors List<Error> Yes
"errors": [],
Indicates whether client is added
successFlag Boolean Yes
"successFlag": true,
http codes corresponding to
response
httpStatus String Yes
"httpStatus": "ACCEPTED"
"data": "",
"sign": "",
"eriUserId": ""
"serviceName": "EriValidateRegOtp",
"pan":"",
"smsTransactionId": "",
"emailTransactionId": "",
"mobileOtp": "",
"emailOtp": "",
"validUpto": ""
"messages": [],
"errors": [],
"successFlag": true,
"transactionId": "1324t56",
"httpStatus": "SUBMITTED"