Tarrakki offers seamless investment platform for Individuals, NRIs, Minors, HUFs, LLP, Partnerships, Private Limited Companies, and Trusts.
API credentials are required in order to invoke Tarrakki APIs. The API credentials are generated and shared with you once your registration is processed.
Write to us at gunjan.dudhrejiya@tarrakki.com if you have not yet received your API credentials.
Tarrakki APIs use OAuth 2.0 protocol for authentication and authorization. It is the de-facto industry-standard for auhorizing applications via internet.
Use following snippet to authenticate using the client id, and client secret provided.
PS: Replace {URL}, {YOUR CLIENT ID}, and {YOUR CLIENT SECRET}.
curl --request POST 'https://{URL}/access_token' \
--header 'Content-Type: application/json' \
--data-raw '{
"grant_type": "client_credentials",
"client_id": "{YOUR CLIENT ID}",
"client_secret": "{YOUR CLIENT SECRET}"
}'
A successful invocation returns HTTP 200 (success) with JSON response e.g.
{
"token_type":"Bearer",
"access_token":"eyJhbGci...",
"expires_in":3600
}
Tarrakki APIs use OpenAPI Specification (OAS) making it easier for humans and computers to understand, discover and use the APIs.
For instance, the GET /kyc API is used to check KYC status of a PAN card holder. The API requires OAuth2 authorization, meaning it is accessible with a valid access token. The API also requires "pan" and it is accepted as a query parameter.
Following example demonstrates GET /kyc API call. The access token is provided as bearer token in the authorization header, and the pan is provided as query parameter.
curl --request GET 'http://{URL}/kyc?pan=ABCDE1234X' \
--header 'Authorization: Bearer eyJhbGci...'
Tarrakki API uses HTTP status codes to communicate success or failure of an API request. For instance, HTTP 200 means that the API request is processed successfully. In general, HTTP status code between 200-299 range indicate success. Following is an example response of the GET /kyc request.
{
"status": "pending",
"pan": "ABCDE1234X"
}
HTTP status codes between 400-499 range indicate client error. Following is an example response of the GET /kyc?pan=ABCD01234X API. The fifth character in the pan letter 'E' is replaced with '0' to make it invalid.
{
"message": "Invalid PAN"
}
Status codes between 500-599 range indicate server error and these are rare.
This section will help you to understand the process of onboarding an investor.
Our APIs use OAuth 2.0 protocol for authentication and authorization. To start using our APIs, you need to authenticate yourself using the client_id, client_secret & base_url.
For more information regarding the same, check the "Getting Started" section.
The first step is to run the KYC Status API. Enter PAN, if it’s KYC verified, then we move further. If the KYC is not verified, we need to register it first and then proceed further.
You may only proceed further if the Response status for this is “registered”
The next step is to create an Investor. We need to fill in all the necessary details and use the Create Investor API, this API will create investor on our system.
As a response, we receive an ‘id’ and the status as “incomplete_details”. Store the id, and proceed further to Step 3.
Once we have created our investor, we need to add all the necessary details. One of these details is Bank Details. Using the “Add Bank” API we add the bank details of the investor.
Remember, you need to pass the ‘id’ we have for the previously created investor.
This API has no success response. Now move to Step 4.
For Individuals, you need to Upload “Signature” using the Upload document API.
Refer below table to find the documents needed for each investor types.
| Investor Type | Required Documents |
|---|---|
| individual | signature |
The next step is to create the Nominee. You can add up to 3 nominees, and make sure that the total share adds up to no more or no less than 100.
You can store the response "nominee_id".
Status Check : Investor Status API You can use this API to know the current status of your investor. Until you have completed Steps upto Step 4, the status will be “incomplete_details”. After Step 4, the status should be “pending_nominee_verification” After Step 5, the status should be “under_review” Once the Investor’s Bank account gets verified, the status will change to “ready_to_invest”
Once the status is “ready_to_invest”, we can start placing orders and invest.
This collection provides set of APIs to check KYC status of an investor, and submit a request to initiate eKYC for an investor.
Returns KYC status of the PAN holder
| pan required | string = 10 characters Permanent Account Number (PAN) |
| pan | string |
| status | string (kycStatus) Enum: "pending" "registered" "initiated" "rejected" |
curl --request GET 'https://{URL}/kyc?pan={PAN}' \ --header 'Authorization: Bearer {TOKEN}'
{- "pan": "ABCDE1234X",
- "status": "pending"
}Initiate e-KYC
Initiate KYC
| name required | string |
| pan required | string |
| email required | string |
| mobile required | string |
| callback_url | string <uri> |
| web_redirect_url | string |
| mobile_redirect_url | string |
{- "name": "string",
- "pan": "string",
- "email": "string",
- "mobile": "string",
}{
}Verifies PAN details
| pan required | string Permanent Account Number |
| name required | string Combination of first name, middle name, and last name or name on the PAN card. |
| dob required | string <date> Date of Birth |
| father_name required | string Combination of first name, middle name, and last name. |
| consent required | boolean |
| consent_purpose required | string [ 20 .. 50 ] characters |
| type | string Enum: "individual" "company" "hindu_undivided_family" "body_of_individuals" "association_of_persons" "government_agency" "artificial_juridicial_person" "local_authority" "limited_liability_partnership" "trust" | ||||||||||||||||||||||||||||
| pan | string | ||||||||||||||||||||||||||||
| name | string Enum: "match" "mismatch" | ||||||||||||||||||||||||||||
| dob | string Enum: "match" "mismatch" | ||||||||||||||||||||||||||||
| father_name | string Enum: "match" "mismatch" | ||||||||||||||||||||||||||||
| status | string Enum: "valid" "fake" "deactivated" "invalid" "amalgamation" "acquisition" "death" "dissolution" "liquidated" "merger" "partition" "split" "under_liquidation"
| ||||||||||||||||||||||||||||
| aadhaar_seeding_status | string Enum: "successful" "unsuccessful" "not_seeded" "not_applicable"
|
{- "pan": "ABCPD1234X",
- "name": "John M Doe",
- "dob": "2000-01-31",
- "father_name": "Michel Doe",
- "consent": true,
- "consent_purpose": "Identity verification for mutual fund investment"
}{- "type": "individual",
- "pan": "ABCPD1234X",
- "first_name": "match",
- "middle_name": "match",
- "last_name": "match",
- "status": "valid",
- "aadhaar_seeding_status": "successful"
}Set of APIs to facilitate onboarding of an investor. It involves registering investor's personal, demographic and financial information with BSE.
This collection also provides set of APIs to retrieve details of an investor, and update the information.
This Api is used to create an investor.
Note: Only KYC registered investors can be created.
| investor_type required | string (investor_type) Not modifiable after investor is created |
| first_name required | string <= 30 characters Must be alphabets |
| last_name | string <= 30 characters Must be alphabets |
| dob required | string <date> |
| gender required | string (gender) Enum: "male" "female" "transgender" |
| pan required | string = 10 characters Must be alphanumeric |
| email required | string <= 50 characters |
| mobile required | string = 10 characters Must be numeric |
required | object (address_v2) |
| email_declaration required | string (email_declaration) Enum: "self" "spouse" "guardian" |
| mobile_declaration required | string (mobile_declaration) Enum: "self" "spouse" "guardian" |
required | object (base_fatca_individual) |
| id | string |
| status | string (investor_status) Enum: "incomplete_detail" "incomplete_kyc_details" "pending_nominee_authentication" "under_review" "ready_to_invest" |
{- "investor_type": "individual",
- "first_name": "Willium",
- "last_name": "Green",
- "dob": "2000-12-31",
- "gender": "male",
- "pan": "ABCDE1234X",
- "email": "john@somedomain.com",
- "mobile": "1234567890",
- "address": {
- "address_line_1": "address line 1",
- "address_line_2": "address line 2",
- "address_line_3": "address line 3",
- "city": "Mumbai",
- "state": "Maharashtra",
- "country": "India",
- "pincode": "400001"
}, - "email_declaration": "self",
- "mobile_declaration": "self",
- "fatca_detail": {
- "occupation": "business",
- "income_source": "salary",
- "income_slab": "above_10_lac_upto_25_lac",
- "birth_place": "Ahmedabad",
- "birth_country": "India"
}
}{- "id": "1",
- "status": "under_review"
}Get the list of investors registered by client
| limit | number [ 1 .. 100 ] Default: 20 Number of items to return |
| offset | number >= 0 Default: 0 Number of items to skip before starting to collect the result set |
string Email address of an investor | |
| pan | string PAN of an investor |
| id | string |
| investor_type | string (investor_type) Enum: "individual" "proprietor" "minor" "nri" "nro" "nre" "partnership" "llp" "private_limited" "limited" "huf" "trust" Not modifiable after investor is created |
| name | string |
| pan | string |
string | |
| mobile | string |
| status | string (investor_status) Enum: "incomplete_detail" "incomplete_kyc_details" "pending_nominee_authentication" "under_review" "ready_to_invest" |
[- {
- "id": "string",
- "investor_type": "individual",
- "name": "string",
- "pan": "string",
- "email": "string",
- "mobile": "string",
- "status": "incomplete_detail"
}
]This Api is used to create an investor (v2).
Note: Only KYC registered investors can be created.
| investor_type required | string (investor_type) Not modifiable after investor is created |
| first_name required | string <= 70 characters Must be alphabets |
| last_name | string <= 70 characters Must be alphabets |
| dob required | string <date> |
| gender required | string (gender) Enum: "male" "female" "transgender" |
| pan required | string = 10 characters Must be alphanumeric |
| email required | string <= 50 characters |
| mobile required | string = 10 characters Must be numeric |
| mobile_country_code | string Optional country code for mobile number (v2 field) |
| sub_broker_code | string Sub-broker code associated with the investor Note: The value must/shall include |
| euin | string Employee Unique Identification Number (EUIN) Note: The value must/shall include |
required | object (address_v2) |
| email_declaration required | string (email_declaration) Enum: "self" "spouse" "guardian" |
| mobile_declaration required | string (mobile_declaration) Enum: "self" "spouse" "guardian" |
required | object (base_fatca_individual-2) |
| id | string |
| status | string (investor_status) Enum: "incomplete_detail" "incomplete_kyc_details" "pending_nominee_authentication" "under_review" "ready_to_invest" |
{- "investor_type": "individual",
- "first_name": "Willium",
- "last_name": "Green",
- "dob": "2000-12-31",
- "gender": "male",
- "pan": "ABCDE1234X",
- "email": "john@somedomain.com",
- "mobile": "1234567890",
- "address": {
- "address_line_1": "address line 1",
- "address_line_2": "address line 2",
- "address_line_3": "address line 3",
- "city": "Mumbai",
- "state": "Maharashtra",
- "country": "India",
- "pincode": "400001"
}, - "email_declaration": "self",
- "mobile_declaration": "self",
- "fatca_detail": {
- "occupation": "business",
- "income_source": "salary",
- "income_slab": "above_10_lac_upto_25_lac",
- "birth_place": "Ahmedabad",
- "birth_country": "India"
}
}{- "id": "1",
- "status": "under_review"
}List investors for the authenticated organization with pagination and optional filters.
| limit | integer [ 1 .. 100 ] Default: 20 Example: limit=20 Number of items to return (1-100) |
| offset | integer >= 0 Default: 0 Number of items to skip before starting to collect the result set |
string <email> Example: email=example@domain.com Filter investors by email (case-sensitive) | |
| pan | string Example: pan=ABCDE1234F Filter investors by PAN number (exact match) |
| mobile | string Example: mobile=9876543210 Filter investors by mobile number (exact match) |
| count required | integer Total number of investors |
required | Array of objects (InvestorSummaryResponse) List of investors for current page |
| next required | string or null URL for the next page |
| previous required | string or null URL for the previous page |
{- "count": 1570,
- "results": [
- {
- "id": "3",
- "investor_type": "individual",
- "name": "Rahul Sharma",
- "pan": "ABCDE1234F",
- "email": "rahul.sharma@example.com",
- "mobile": "1234567890",
- "status": "incomplete_detail"
}
], - "previous": null
}Retrieve investor detail associated with the id (v2 with additional fields)
Note: The ucc (Unique Client Code) is only returned when retrieving investor details and cannot be updated via PATCH.
| id required | string Investor id |
| investor_type | string (investor_type) Not modifiable after investor is created |
| ucc | string Unique Client Code Note: |
| first_name | string <= 70 characters Must be alphabets |
| last_name | string <= 70 characters Must be alphabets |
| dob | string <date> |
| gender | string (gender) Enum: "male" "female" "transgender" |
| pan | string = 10 characters Must be alphanumeric |
string <= 50 characters | |
| mobile | string = 10 characters Must be numeric |
| mobile_country_code | string Optional country code for mobile number (v2 field) |
| sub_broker_code | string Sub-broker code associated with the investor Note: The value must/shall include |
| euin | string Employee Unique Identification Number (EUIN) Note: The value must/shall include |
object (address_v2) | |
| email_declaration | string (email_declaration) Enum: "self" "spouse" "guardian" |
| mobile_declaration | string (mobile_declaration) Enum: "self" "spouse" "guardian" |
object (base_fatca_individual-2) |
{- "id": "2",
- "investor_type": "individual",
- "ucc": "inv_5484561545",
- "first_name": "Willium",
- "last_name": "Green",
- "pan": "ABCDE1234X",
- "email": "john@somedomain.com",
- "mobile": "1234567890",
- "mobile_country_code": "+91",
- "dob": "2000-12-31",
- "gender": "male",
- "address": {
- "address_line_1": "Plot No 123, Tech Park",
- "address_line_2": "Whitefield",
- "address_line_3": "Bangalore",
- "city": "Bangalore",
- "state": "Karnataka",
- "country": "India",
- "pincode": "560066"
}, - "email_declaration": "self",
- "mobile_declaration": "self",
- "fatca_detail": {
- "occupation": "business",
- "income_source": "salary",
- "income_slab": "above_10_lac_upto_25_lac",
- "birth_place": "Ahmedabad",
- "birth_country": "India",
- "is_pep": false,
- "net_worth": 5000000,
- "net_worth_as_on_date": "2024-03-31"
}
}Updates investor detail partially associated with the id (v2 with additional fields support)
Provide only those fields which needs to be updated
Note: After the investor is registered with BSE, any updates to investor detail will be restricted.
| id required | string Investor id |
| investor_type | string (investor_type) Not modifiable after investor is created |
| first_name | string <= 70 characters Must be alphabets |
| last_name | string <= 70 characters Must be alphabets |
| dob | string <date> |
| gender | string (gender) Enum: "male" "female" "transgender" |
| pan | string = 10 characters Must be alphanumeric |
string <= 50 characters | |
| mobile | string = 10 characters Must be numeric |
| mobile_country_code | string Optional country code for mobile number (v2 field) |
object (address_v2) | |
| email_declaration | string (email_declaration) Enum: "self" "spouse" "guardian" |
| mobile_declaration | string (mobile_declaration) Enum: "self" "spouse" "guardian" |
object (base_fatca_individual_optional) |
{- "investor_type": "individual",
- "first_name": "Willium",
- "last_name": "Green",
- "dob": "2000-12-31",
- "gender": "male",
- "pan": "ABCDE1234X",
- "email": "john@somedomain.com",
- "mobile": "1234567890",
- "address": {
- "address_line_1": "address line 1",
- "address_line_2": "address line 2",
- "address_line_3": "address line 3",
- "city": "Mumbai",
- "state": "Maharashtra",
- "country": "India",
- "pincode": "400001"
}, - "email_declaration": "self",
- "mobile_declaration": "self",
- "fatca_detail": {
- "occupation": "business",
- "income_source": "salary",
- "income_slab": "above_10_lac_upto_25_lac",
- "birth_place": "Ahmedabad",
- "birth_country": "India"
}
}Get the list of all banks added to the investor (v2 with additional fields)
| id required | string Investor id |
| id required | string Bank account identifier |
| account_type required | string Enum: "savings" "current" "nre" "nro" Type of bank account |
| account_number required | string Bank account number |
| ifsc required | string IFSC code of the bank |
| verification_document required | string (bank_verification_document_type) Enum: "cancelled_cheque" "bank_statement" |
| verification_document_type | string Enum: "cancelled_cheque" "bank_statement" "passbook" "pay_slip" "utility_bill" "other" Type of verification document used for bank verification |
curl --request GET '{BASE URL}/v2/investors/{INVESTOR ID}/banks' \ --header 'Authorization: Bearer eyJh...'
[- {
- "id": "1",
- "account_type": "savings",
- "account_number": "123456789",
- "ifsc": "HDFC0001",
- "verification_document": "cancelled_cheque",
- "verification_document_type": "cancelled_cheque"
}
]Add investor's bank account details (v2)
| id required | string Investor id |
Bank
| account_type required | string Enum: "savings" "current" "nre" "nro" |
| account_number required | string |
| ifsc required | string |
| verification_document | string (bank_verification_document_type) Enum: "cancelled_cheque" "bank_statement" |
| file | string <binary> |
| id | string Bank ID |
curl --request POST '{BASE_URL}/v2/investors/{INVESTOR ID}/banks' \ --header 'Authorization: Bearer eyJhb...' \ --form 'account_type="savings"' \ --form 'account_number="123456789"' \ --form 'ifsc="HDFC0000001"' \ --form 'verification_document="cancelled_cheque"' \ --form 'file=@"/C:/Users/Tarrakki/Desktop/cancelled-cheque.png"'
{- "id": "string"
}Retrieve investor's bank-details associated with the given investor id and bank id (v2)
| id required | string Investor id |
| bank_id required | string Bank id |
| id | string |
| investor_id | string |
| account_number | string |
| ifsc | string |
| status | string (BankAccountStatus) Enum: "approved" "processing" "rejected" |
| status_remark | string |
curl --request GET '{BASE URL}/v2/investors/{INVESTOR ID}/banks/{BANK ID}' \ --header 'Authorization: Bearer eyJh...'
[- {
- "id": "1234",
- "investor_id": "9488",
- "account_number": "123456789",
- "ifsc": "HDFC0001",
- "status": "processing",
- "status_remark": ""
}
]Retrieve investor detail associated with the id
| id required | string Investor id |
| investor_type | string (investor_type) Not modifiable after investor is created |
| first_name | string <= 30 characters Must be alphabets |
| last_name | string <= 30 characters Must be alphabets |
| dob | string <date> |
| gender | string (gender) Enum: "male" "female" "transgender" |
| pan | string = 10 characters Must be alphanumeric |
string <= 50 characters | |
| mobile | string = 10 characters Must be numeric |
object (address_v2) | |
| email_declaration | string (email_declaration) Enum: "self" "spouse" "guardian" |
| mobile_declaration | string (mobile_declaration) Enum: "self" "spouse" "guardian" |
object (base_fatca_individual) |
{- "id": "2",
- "investor_type": "individual",
- "first_name": "Willium",
- "last_name": "Green",
- "pan": "ABCDE1234X",
- "email": "john@somedomain.com",
- "mobile": "1234567890",
- "fatca_detail": {
- "income_source": "salary",
- "income_slab": "above_10_lac_upto_25_lac",
- "birth_place": "Ahmedabad",
- "birth_country": "India"
}
}Updates investor detail associated with the id
Note: After the investor is registered with BSE, any updates to investor detail will be restricted.
| id required | string Investor id |
| investor_type required | string (investor_type) Not modifiable after investor is created |
| first_name required | string <= 30 characters Must be alphabets |
| last_name | string <= 30 characters Must be alphabets |
| dob required | string <date> |
| gender required | string (gender) Enum: "male" "female" "transgender" |
| pan required | string = 10 characters Must be alphanumeric |
| email required | string <= 50 characters |
| mobile required | string = 10 characters Must be numeric |
required | object (address_v2) |
| email_declaration required | string (email_declaration) Enum: "self" "spouse" "guardian" |
| mobile_declaration required | string (mobile_declaration) Enum: "self" "spouse" "guardian" |
required | object (base_fatca_individual) |
{- "investor_type": "individual",
- "first_name": "Willium",
- "last_name": "Green",
- "dob": "2000-12-31",
- "gender": "male",
- "pan": "ABCDE1234X",
- "email": "john@somedomain.com",
- "mobile": "1234567890",
- "address": {
- "address_line_1": "address line 1",
- "address_line_2": "address line 2",
- "address_line_3": "address line 3",
- "city": "Mumbai",
- "state": "Maharashtra",
- "country": "India",
- "pincode": "400001"
}, - "email_declaration": "self",
- "mobile_declaration": "self",
- "fatca_detail": {
- "occupation": "business",
- "income_source": "salary",
- "income_slab": "above_10_lac_upto_25_lac",
- "birth_place": "Ahmedabad",
- "birth_country": "India"
}
}Updates investor detail partially associated with the id
Provide only those fields which needs to be updated
Note: After the investor is registered with BSE, any updates to investor detail will be restricted.
| id required | string Investor id |
| investor_type required | string (investor_type) Not modifiable after investor is created |
| first_name required | string <= 30 characters Must be alphabets |
| last_name | string <= 30 characters Must be alphabets |
| dob required | string <date> |
| gender required | string (gender) Enum: "male" "female" "transgender" |
| pan required | string = 10 characters Must be alphanumeric |
| email required | string <= 50 characters |
| mobile required | string = 10 characters Must be numeric |
required | object (address_v2) |
| email_declaration required | string (email_declaration) Enum: "self" "spouse" "guardian" |
| mobile_declaration required | string (mobile_declaration) Enum: "self" "spouse" "guardian" |
required | object (base_fatca_individual) |
{- "investor_type": "individual",
- "first_name": "Willium",
- "last_name": "Green",
- "dob": "2000-12-31",
- "gender": "male",
- "pan": "ABCDE1234X",
- "email": "john@somedomain.com",
- "mobile": "1234567890",
- "address": {
- "address_line_1": "address line 1",
- "address_line_2": "address line 2",
- "address_line_3": "address line 3",
- "city": "Mumbai",
- "state": "Maharashtra",
- "country": "India",
- "pincode": "400001"
}, - "email_declaration": "self",
- "mobile_declaration": "self",
- "fatca_detail": {
- "occupation": "business",
- "income_source": "salary",
- "income_slab": "above_10_lac_upto_25_lac",
- "birth_place": "Ahmedabad",
- "birth_country": "India"
}
}Investor Status
| id required | string Investor id |
| status | string (investor_status) Enum: "incomplete_detail" "incomplete_kyc_details" "pending_nominee_authentication" "under_review" "ready_to_invest" |
| message | Array of strings (investor_incomplete_detail) Items Enum: "birth_certificate" "investor_signature" "guardian_signature" "cancelled_cheque" "pan_image" "pan" "name" "type" "address" "country" "state" "city" "pincode" "occ_code" "gender" "dob" "company_status" "residence_status" "bank_rejected" |
{- "status": "incomplete_detail",
- "message": [
- "birth_certificate"
]
}Get the list of all banks added to the investor
| id required | string Investor id |
| bank_id | string |
| account_type | string Enum: "savings" "current" "nre" "nro" |
| account_number | string |
| ifsc | string |
| verification_document | string (bank_verification_document_type) Enum: "cancelled_cheque" "bank_statement" |
curl --request GET '{BASE URL}/investors/{INVESTOR ID}/banks' \ --header 'Authorization: Bearer eyJh...'
[- {
- "bank_id": "1",
- "account_type": "savings",
- "account_number": "123456789",
- "ifsc": "HDFC0001",
- "verification_document": "cancelled_cheque"
}
]Add investor's bank account details.
| id required | string Investor id |
Bank
| account_type required | string Enum: "savings" "current" "nre" "nro" |
| account_number required | string |
| ifsc required | string |
| verification_document | string (bank_verification_document_type) Enum: "cancelled_cheque" "bank_statement" |
| file | string <binary> |
| bank_id | string Bank ID |
curl --request POST '{BASE_URL}/investors/{INVESTOR ID}/banks' \ --header 'Authorization: Bearer eyJhb...' \ --form 'account_type="savings"' \ --form 'account_number="123456789"' \ --form 'ifsc="HDFC0000001"' \ --form 'verification_document="cancelled_cheque"' \ --form 'file=@"/C:/Users/Tarrakki/Desktop/cancelled-cheque.png"'
{- "bank_id": "string"
}Update the bank of an investor
| id required | string Investor id |
| bank_id required | string Bank id |
curl --request PUT '{BASE_URL}/investors/{INVESTOR ID}/banks/{BANK ID}' \ --header 'Authorization: Bearer eyJhb...' \ --form 'account_type="savings"' \ --form 'account_number="123456789"' \ --form 'ifsc="HDFC0000001"' \ --form 'verification_document="cancelled_cheque"' \ --form 'file=@"/C:/Users/Tarrakki/Desktop/cancelled-cheque.png"'
Retrieve investor's bank-details associated with the given investor id and bank id.
| id required | string Investor id |
| bank_id required | string Bank id |
| id | string Deprecated |
| bank_id | string |
| investor_id | string |
| account_number | string |
| ifsc | string |
| status | string (BankAccountStatus) Enum: "approved" "processing" "rejected" |
| status_remark | string |
curl --request GET '{BASE URL}/investors/{INVESTOR ID}/banks/{BANK ID}' \ --header 'Authorization: Bearer eyJh...'
[- {
- "id": "1234",
- "bank_id": "1234",
- "investor_id": "9488",
- "account_number": "123456789",
- "ifsc": "HDFC0001",
- "status": "processing",
- "status_remark": ""
}
]Get the list of uploaded documents
| id required | string Investor id |
| document_type | string (document_type) Enum: "birth_certificate" "signed_aof" "signed_fatca" "pan" "signature" "partnership_deed" "board_resolution" "authorised_signatory_list" "nomination_opt_out_declaration" For Nominee Opt-Out Declaration document should in .pdf format and size must be less than 1 MB. |
curl --request GET '{BASE URL}/investors/{INVESTOR ID}/documents' \ --header 'Authorization: Bearer eyJh...'
[- {
- "document_type": "birth_certificate"
}
]Upload a document
| id required | string Investor id |
Investor document
| document_type | string (document_type) Enum: "birth_certificate" "signed_aof" "signed_fatca" "pan" "signature" "partnership_deed" "board_resolution" "authorised_signatory_list" "nomination_opt_out_declaration" For Nominee Opt-Out Declaration document should in .pdf format and size must be less than 1 MB. |
| file | string <binary> |
curl --request POST '{BASE URL}/investors/{INVESTOR ID}/documents' \ --header 'Authorization: Bearer eyJh...' \ --form 'document_type="birth_certificate"' \ --form 'file=@"/C:/Users/Tarrakki/Desktop/birth-certificate.png"'
Get the list of uploaded documents
| id required | string Investor id |
| document_type | string Enum: "birth_certificate" "signed_aof" "signed_fatca" "pan" "first_applicant_signature" "second_applicant_signature" "third_applicant_signature" "partnership_deed" "board_resolution" "authorised_signatory_list" "nomination_opt_out_declaration" |
| file_url | string <uri> |
| uploaded_at | string <date-time> |
curl --request GET '{BASE URL}/investors/{INVESTOR ID}/documents' \ --header 'Authorization: Bearer eyJh...'
[- {
- "document_type": "birth_certificate",
- "uploaded_at": "2019-08-24T14:15:22Z"
}
]Upload a document
| id required | string Investor id |
| document_type required | string Enum: "birth_certificate" "signed_aof" "signed_fatca" "pan" "first_applicant_signature" "second_applicant_signature" "third_applicant_signature" "partnership_deed" "board_resolution" "authorised_signatory_list" "nomination_opt_out_declaration" |
| file required | string <binary> |
| document_id | string |
| document_type | string Enum: "birth_certificate" "signed_aof" "signed_fatca" "pan" "first_applicant_signature" "second_applicant_signature" "third_applicant_signature" "partnership_deed" "board_resolution" "authorised_signatory_list" "nomination_opt_out_declaration" |
| file_url | string <uri> |
curl --request POST '{BASE URL}/investors/{INVESTOR ID}/documents' \ --header 'Authorization: Bearer eyJh...' \ --form 'document_type="birth_certificate"' \ --form 'file=@"/C:/Users/Tarrakki/Desktop/birth-certificate.png"'
{- "document_id": "string",
- "document_type": "birth_certificate",
}Retrieve the virtual account details linked to the investor, which can be used for NEFT/RTGS transactions.
| id required | string Investor id |
| virtual_account_id | string Virtual account id |
| beneficiary_name | string Beneficiary name for the virtual account |
| ifsc | string IFSC code for the virtual account |
| account_type | string Value: "current" Virtual account type |
curl --request GET '{BASE URL}/investors/{INVESTOR ID}/virtual-account' \ --header 'Authorization: Bearer eyJh...'
{- "virtual_account_id": "123456789",
- "beneficiary_name": "Indian Clearing Corporation Ltd - MFD A/C",
- "ifsc": "HDFC0000001",
- "account_type": "current"
}Get the list of all nominees for the investor
| id required | string Investor id |
| count | integer |
| next | string or null <uri> |
| previous | string or null <uri> |
| nomination_opt_in | boolean |
Array of objects (nominee) |
curl --request GET '{BASE URL}/investors/9488/nominee' \ --header 'Authorization: Bearer eyJh...'
{- "count": 1,
- "next": null,
- "previous": null,
- "results": [
- {
- "id": "1",
- "name": "John Doe",
- "relation": "spouse",
- "share": 100,
- "minor": false,
- "identity_type": "pan",
- "identity_value": "ABCDE1234F",
- "email": "johndoe@gmail.com",
- "mobile_number": "9876543210"
}
]
}Adds a nominee for the investor
| id required | string Investor id |
Nominee
| nomination_opt_in | boolean Default: true |
required | Array of objects (base_nominee) |
| authenticator required | string Enum: "tarrakki" "partner" |
| auth_ref required | string Reference number used for 2FA verification using any type of authenticator. |
string Required when 2FA verification is done by the "partner" | |
| mobile | string Required when 2FA verification is done by the "partner" |
{- "authenticator": "tarrakki",
- "auth_ref": "110",
- "nominees": [
- {
- "name": "John Doe",
- "relation": "spouse",
- "share": 100,
- "minor": false,
- "identity_type": "pan",
- "identity_value": "ABCDE1234F",
- "email": "johndoe@gmail.com",
- "mobile_number": "9876543210"
}
]
}Update nominee detail
| id required | string Investor id |
Nominee
| nomination_opt_in | boolean Default: true |
required | Array of objects (base_nominee) |
| authenticator required | string Enum: "tarrakki" "partner" |
| auth_ref required | string Reference number used for 2FA verification using any type of authenticator. |
string Required when 2FA verification is done by the "partner" | |
| mobile | string Required when 2FA verification is done by the "partner" |
{- "authenticator": "tarrakki",
- "auth_ref": "110",
- "nominees": [
- {
- "name": "John Doe",
- "relation": "spouse",
- "share": 100,
- "minor": false,
- "identity_type": "pan",
- "identity_value": "ABCDE1234F",
- "email": "johndoe@gmail.com",
- "mobile_number": "9876543210"
}
]
}Get the list of all nominees for the investor (v2)
| id required | string Investor id |
| id | string Nominee identifier |
| name required | string Name of the nominee |
| relation required | string Enum: "spouse" "son" "daughter" "mother" "father" "brother" "sister" "others" Investor's relation with the nominee |
| other_relation | string Required when relation is others |
| share required | integer [ 1 .. 100 ] Percentage of share to allocate |
| identity_type required | string Enum: "pan" "aadhar" "driving_license" "passport" Type of identity document |
| identity_value required | string Value of the identity document |
| email required | string Nominee's email address |
| mobile_number required | string Nominee's mobile number |
| mobile_country_code | string Country code for the nominee's mobile number (e.g., +91, +1) |
| dob | string <date> Date of birth of the nominee (YYYY-MM-DD) |
| gender required | string Enum: "male" "female" "transgender" Gender of the nominee |
| minor required | boolean Whether the nominee is a minor (under age 18) |
object Guardian details (required if nominee is a minor) |
curl --request GET '{BASE URL}/investors/9488/nominee' \ --header 'Authorization: Bearer eyJh...'
[- {
- "name": "string",
- "relation": "spouse",
- "other_relation": "string",
- "share": 1,
- "identity_type": "pan",
- "identity_value": "string",
- "email": "string",
- "mobile_number": "string",
- "mobile_country_code": "+91",
- "dob": "2019-08-24",
- "gender": "male",
- "minor": true,
- "guardian": {
- "name": "string",
- "relation": "string",
- "dob": "2019-08-24",
- "identity_type": "pan",
- "identity_value": "string"
}
}
]Adds a nominee for the investor with enhanced fields including guardian details and gender
| id required | string Investor id |
Nominee (v2)
| nomination_opt_in | boolean Default: true |
required | Array of objects (base_nominee-2) |
| authenticator required | string Enum: "tarrakki" "partner" |
| auth_ref required | string Reference number used for 2FA verification using any type of authenticator. |
string Required when 2FA verification is done by the "partner" | |
| mobile | string Required when 2FA verification is done by the "partner" |
{- "authenticator": "email",
- "auth_ref": "123456",
- "nominees": [
- {
- "name": "John Doe",
- "relation": "son",
- "share": 50,
- "identity_type": "aadhar",
- "identity_value": "123456789012",
- "email": "john.doe@example.com",
- "mobile_number": "9876543210",
- "dob": "2010-05-15",
- "gender": "male",
- "minor": true,
- "guardian": {
- "name": "Jane Doe",
- "relation": "mother",
- "dob": "1980-01-01",
- "identity_type": "aadhar",
- "identity_value": "987654321012"
}
}, - {
- "name": "Alice Smith",
- "relation": "daughter",
- "share": 50,
- "identity_type": "aadhar",
- "identity_value": "987654321013",
- "email": "alice.smith@example.com",
- "mobile_number": "9876543211",
- "mobile_country_code": "+91",
- "dob": "1995-08-22",
- "gender": "female",
- "minor": false
}
]
}Update nominee detail with enhanced fields including guardian details and gender
| id required | string Investor id |
Nominee (v2)
| nomination_opt_in | boolean Default: true |
required | Array of objects (base_nominee-2) |
| authenticator required | string Enum: "tarrakki" "partner" |
| auth_ref required | string Reference number used for 2FA verification using any type of authenticator. |
string Required when 2FA verification is done by the "partner" | |
| mobile | string Required when 2FA verification is done by the "partner" |
{- "authenticator": "email",
- "auth_ref": "123456",
- "nominees": [
- {
- "name": "John Doe",
- "relation": "son",
- "share": 50,
- "identity_type": "aadhar",
- "identity_value": "123456789012",
- "email": "john.doe@example.com",
- "mobile_number": "9876543210",
- "dob": "2010-05-15",
- "gender": "male",
- "minor": true,
- "guardian": {
- "name": "Jane Doe",
- "relation": "mother",
- "dob": "1980-01-01",
- "identity_type": "aadhar",
- "identity_value": "987654321012"
}
}, - {
- "name": "Alice Smith",
- "relation": "daughter",
- "share": 50,
- "identity_type": "aadhar",
- "identity_value": "987654321013",
- "email": "alice.smith@example.com",
- "mobile_number": "9876543211",
- "mobile_country_code": "+91",
- "dob": "1995-08-22",
- "gender": "female",
- "minor": false
}
]
}Get the list of bank mandates
| limit | number [ 1 .. 100 ] Default: 20 Number of items to return |
| offset | number >= 0 Default: 0 Number of items to skip before starting to collect the result set |
| investor_id | string Investor Id |
| count | number |
| next | string or null <uri> |
| previous | string or null <uri> |
Array of objects (BankMandate) |
{- "count": 1,
- "next": null,
- "previous": null,
- "results": [
- {
- "mandate_id": "9",
- "mandate_type": "nach",
- "investor_id": "11",
- "bank_id": "4737",
- "auto_debit_limit": 100000,
- "status": "approved"
}
]
}Create a bank mandate
Bank Mandate
| investor_id required | string |
| mandate_type required | string (BankMandateType) |
| bank_id required | string |
| auto_debit_limit required | number |
| mandate_id | string |
{- "investor_id": "1",
- "mandate_type": "enach",
- "bank_id": "12",
- "auto_debit_limit": 100000,
}{- "mandate_id": "string"
}Retrieve bank mandate detail associated with the given id
| mandate_id required | string Bank mandate id |
| mandate_id | string |
| investor_id | string |
| mandate_type | string (BankMandateType) |
| bank_id | string |
| auto_debit_limit | number |
| status | string (BankMandateStatus) Enum: "initiated" "failed" "pending" "processing" "requires-correction" "approved" "rejected" |
| status_remark | string |
{- "investor_id": "string",
- "mandate_type": "nach",
- "bank_id": "string",
- "auto_debit_limit": 0,
- "status": "initiated",
- "status_remark": "string"
}Get the list of bank mandates with updated field names:
mandate_type is now typemandate_id is now id| limit | number [ 1 .. 100 ] Default: 20 Number of items to return |
| offset | number >= 0 Default: 0 Number of items to skip before starting to collect the result set |
| investor_id | string Investor Id |
| count | number |
| next | string or null <uri> |
| previous | string or null <uri> |
Array of objects (BankMandate-2) |
{- "count": 0,
- "results": [
- {
- "id": "string",
- "type": "nach",
- "investor_id": "string",
- "bank_id": "string",
- "auto_debit_limit": 0,
- "status": "initiated"
}
]
}Create a bank mandate (v2)
Bank Mandate
| investor_id required | string |
| mandate_type required | string (BankMandateType) |
| bank_id required | string |
| auto_debit_limit required | number |
| id | string The unique identifier for the mandate (previously mandate_id) |
{- "investor_id": "1",
- "mandate_type": "enach",
- "bank_id": "12",
- "auto_debit_limit": 100000,
}{- "id": "string"
}Portfolio
| id required | string Investor id |
| folio required | string |
| fund_id required | string |
| fund_name required | string |
| nav_date required | string <date> |
| nav required | number Last available NAV of the fund |
| units required | number |
| total_investment required | number |
| current_value required | number |
| absolute_return required | number |
| xirr required | number |
| asset_class required | string Enum: "equity" "debt" "hybrid" |
required | Array of objects (portfolio_broker) |
[- {
- "folio": "string",
- "fund_id": "string",
- "fund_name": "string",
- "nav_date": "2019-08-24",
- "nav": 0,
- "units": 0,
- "total_investment": 0,
- "current_value": 0,
- "absolute_return": 0,
- "xirr": 0,
- "asset_class": "equity",
- "brokers": [
- {
- "broker": "string",
- "subbroker": "string",
- "euin": "string",
- "units": 0,
- "total": 0
}
]
}
]Returns list of funds matching the specified criteria.
| limit | number [ 1 .. 100 ] Default: 20 Number of items to return |
| offset | number >= 0 Default: 0 Number of items to skip before starting to collect the result set |
| category | string Fund category |
| sub_category | string Fund sub-category |
| instant | boolean Default: false Instant redemption |
| nfo | boolean New Fund Offerings |
| status | string (fund_status) Enum: "active" "inactive" Fund Status |
| option | string (fund_option) Enum: "growth" "idcw" "bonus" Fund Option |
| id | string |
| name | string |
| category | string |
| sub_category | string |
| amc_id | string |
| amc | string Asset management company |
| product_code | string Product code of the fund |
| scheme_type | string |
| aum | number Asset under management |
| return_6_mth | number |
| return_1_yr | number |
| return_3_yr | number |
| min_initial | number Minimum amount for the first buy order |
| min_additional | number Minimum amount for additional buy order |
| nav | number Last available NAV of the fund |
| nav_date | string <date> Last available NAV's date |
| isin | string |
| amfi_code | string |
| plan | string |
| nfo_close_date | string <date> Closing date of the nfo |
| status | string (fund_status) Enum: "active" "inactive" |
| option | string (fund_option) Enum: "growth" "idcw" "bonus" |
[- {
- "id": "string",
- "name": "string",
- "category": "string",
- "sub_category": "string",
- "amc_id": "string",
- "amc": "string",
- "product_code": "5451515",
- "scheme_type": "string",
- "aum": 0,
- "return_6_mth": 0,
- "return_1_yr": 0,
- "return_3_yr": 0,
- "min_initial": 0,
- "min_additional": 0,
- "nav": 0,
- "nav_date": "2019-08-24",
- "isin": "string",
- "amfi_code": "string",
- "plan": "string",
- "nfo_close_date": "2019-08-24",
- "status": "active",
- "option": "growth"
}
]Returns list of funds matching the specified criteria. (v2)
| limit | number [ 1 .. 100 ] Default: 20 Number of items to return |
| offset | number >= 0 Default: 0 Number of items to skip before starting to collect the result set |
| category | string Fund category |
| sub_category | string Fund sub-category |
| instant | boolean Default: false Instant redemption |
| nfo | boolean New Fund Offerings |
| status | string (fund_status) Enum: "active" "inactive" Fund Status |
| option | string (fund_option) Enum: "growth" "idcw" "bonus" Fund Option |
| id | string |
| name | string |
| category | string |
| sub_category | string |
| amc_id | string |
| amc | string Asset management company |
| product_code | string Product code of the fund |
| scheme_type | string |
| aum | number Asset under management |
| return_6_mth | number |
| return_1_yr | number |
| return_3_yr | number |
| min_initial | number Minimum amount for the first buy order |
| min_additional | number Minimum amount for additional buy order |
| nav | number Last available NAV of the fund |
| nav_date | string <date> Last available NAV's date |
| isin | string |
| amfi_code | string |
| plan | string |
| nfo_close_date | string <date> Closing date of the nfo |
| status | string (fund_status) Enum: "active" "inactive" |
| option | string (fund_option) Enum: "growth" "idcw" "bonus" |
[- {
- "id": "string",
- "name": "string",
- "category": "string",
- "sub_category": "string",
- "amc_id": "string",
- "amc": "string",
- "product_code": "5451515",
- "scheme_type": "string",
- "aum": 0,
- "return_6_mth": 0,
- "return_1_yr": 0,
- "return_3_yr": 0,
- "min_initial": 0,
- "min_additional": 0,
- "nav": 0,
- "nav_date": "2019-08-24",
- "isin": "string",
- "amfi_code": "string",
- "plan": "string",
- "nfo_close_date": "2019-08-24",
- "status": "active",
- "option": "growth"
}
]Retrieve fund sub-categories, optionally filtered by category ID. Results are paginated. (v2)
A sub-category is not always unique to a single fund category. The same business sub-category can be mapped to multiple categories based on product classification. For example, ETF may appear under both Equity and Commodity.
For this reason, each sub-category in the response includes a category array containing all associated categories for that sub-category.
| category_id | integer >= 1 Filter sub-categories by fund category ID |
| offset | number >= 0 Default: 0 Number of items to skip before starting to collect the result set |
| limit | number [ 1 .. 100 ] Default: 20 Number of items to return |
| count | integer |
| next | string or null <uri> |
| previous | string or null <uri> |
Array of objects (FundSubCategory) |
{- "count": 0,
- "results": [
- {
- "id": 0,
- "name": "string",
- "category": [
- {
- "id": 0,
- "name": "string"
}
]
}
]
}Multi-fund query endpoint with configurable fields.
Request Body:
Response:
| fund_ids required | Array of integers [ 1 .. 100 ] items List of fund IDs to query (max 100) |
| fields required | Array of strings non-empty Items Enum: "nav" "nav_date" List of fund fields to fetch. Currently supported - nav, nav_date |
required | Array of objects List of fund details with requested fields |
{- "fund_ids": [
- 123,
- 456,
- 789
], - "fields": [
- "nav",
- "nav_date"
]
}{- "data": [
- {
- "id": 0,
- "isin": "string",
- "amfi_code": "string",
- "name": "string",
- "plan": "string",
- "nav": 0,
- "nav_date": "2019-08-24"
}
]
}The API is used to retrieve fund detail associated with the id
| id required | string Fund id |
| isin | string |
| amfi_code | string |
| name | string |
| category | string |
| sub_category | string |
| amc_id | string |
| amc | string Asset management company |
| product_code | string Product code of the fund |
object (amc_restrictions) AMC Restrictions Details | |
| scheme_type | string |
| scheme_document | string <URL> Scheme document |
| aum | number Asset under management |
| aum_date | string <date> |
Array of objects (historical_return) | |
| min_initial | number Minimum Initial Investment |
| min_additional | number Minimum Subsequence Investment |
| min_redemption | number Minimum Redemption |
| nav | number NAV |
| nav_date | string <date> NAV date |
| fund_type | string |
| objective | string Investment stratargy |
| philosophy | string Investment philosophy |
| risk_level | string (risk) Enum: "low" "low_to_moderate" "moderate" "moderately_high" "high" "very_high" Risk level |
object Risk Measures | |
object Relative Risk Measures | |
object Category Returns | |
| dividend_investment_plan | boolean |
| standard_deviation_5_yr | number |
| inception_date | string <date> Inception date |
| expense_ratio | number |
Array of objects (historical_nav) NAV historical data | |
| exit_loads | string |
Array of objects (fund_managers) | |
Array of objects (benchmarks) | |
Array of objects (holdings) | |
Array of objects (holdings) | |
| nfo_close_date | string <date> Closing date of the nfo |
| status | string (fund_status) Enum: "active" "inactive" |
{- "isin": "string",
- "amfi_code": "string",
- "name": "string",
- "category": "string",
- "sub_category": "string",
- "amc_id": "string",
- "amc": "string",
- "product_code": "5451515",
- "amc_restrictions": {
- "order_type": "buy",
- "is_allowed": "string",
- "min_amount": "string",
- "max_amount": "string",
- "amount_multiples": "string",
- "additional_amount": "string"
}, - "scheme_type": "string",
- "scheme_document": "string",
- "aum": 0,
- "aum_date": "2019-08-24",
- "historical_returns": [
- {
- "period": "1_day",
- "percentage": 0
}
], - "min_initial": 0,
- "min_additional": 0,
- "min_redemption": 0,
- "nav": 0,
- "nav_date": "2019-08-24",
- "fund_type": "string",
- "objective": "string",
- "philosophy": "string",
- "risk_level": "low",
- "risk_measures": {
- "sharpe_ratio": [
- {
- "period": "1_yr",
- "value": "string"
}
], - "skewness": [
- {
- "period": "1_yr",
- "value": "string"
}
], - "sortino_ratio": [
- {
- "period": "1_yr",
- "value": "string"
}
], - "standard_deviation": [
- {
- "period": "1_yr",
- "value": "string"
}
]
}, - "relative_risk_measures": {
- "alpha": [
- {
- "period": "3_yr",
- "value": "string"
}
], - "beta": [
- {
- "period": "3_yr",
- "value": "string"
}
], - "capture_ratio_downside": [
- {
- "period": "1_yr",
- "value": "string"
}
], - "capture_ratio_upside": [
- {
- "period": "1_yr",
- "value": "string"
}
]
}, - "category_returns": {
- "category_cumulative_return": [
- {
- "period": "2_yr",
- "value": "string"
}
], - "category_return": [
- {
- "period": "2_yr",
- "value": "string"
}
], - "category_end_date": "2019-08-24"
}, - "dividend_investment_plan": true,
- "standard_deviation_5_yr": 0,
- "inception_date": "2019-08-24",
- "expense_ratio": 0,
- "nav_history": [
- {
- "nav_date": "2019-08-24",
- "nav": 0
}
], - "exit_loads": "string",
- "managers": [
- {
- "name": "string",
- "start_date": "2019-08-24"
}
], - "benchmarks": [
- {
- "index_name": "string",
- "weightage": 0
}
], - "top_ten_holdings": [
- {
- "name": "string",
- "weightage": 0,
- "sector": "string",
- "isin_security": "string",
- "rating": "string"
}
], - "detailed_holdings": [
- {
- "name": "string",
- "weightage": 0,
- "sector": "string",
- "isin_security": "string",
- "rating": "string"
}
], - "nfo_close_date": "2019-08-24",
- "status": "active"
}The API is used to retrieve fund detail associated with the id (v2)
| id required | string Fund id |
| isin | string |
| amfi_code | string |
| name | string |
| category | string |
| sub_category | string |
| amc_id | string |
| amc | string Asset management company |
| product_code | string Product code of the fund |
object (amc_restrictions) AMC Restrictions Details | |
| scheme_type | string |
| scheme_document | string <URL> Scheme document |
| aum | number Asset under management |
| aum_date | string <date> |
Array of objects (historical_return) | |
| min_initial | number Minimum Initial Investment |
| min_additional | number Minimum Subsequence Investment |
| min_redemption | number Minimum Redemption |
| nav | number NAV |
| nav_date | string <date> NAV date |
| fund_type | string |
| objective | string Investment stratargy |
| philosophy | string Investment philosophy |
| risk_level | string (risk) Enum: "low" "low_to_moderate" "moderate" "moderately_high" "high" "very_high" Risk level |
object Risk Measures | |
object Relative Risk Measures | |
object Category Returns | |
| dividend_investment_plan | boolean |
| standard_deviation_5_yr | number |
| inception_date | string <date> Inception date |
| expense_ratio | number |
Array of objects (historical_nav) NAV historical data | |
| exit_loads | string |
Array of objects (fund_managers) | |
Array of objects (benchmarks) | |
Array of objects (holdings) | |
Array of objects (holdings) | |
| nfo_close_date | string <date> Closing date of the nfo |
| status | string (fund_status) Enum: "active" "inactive" |
{- "isin": "string",
- "amfi_code": "string",
- "name": "string",
- "category": "string",
- "sub_category": "string",
- "amc_id": "string",
- "amc": "string",
- "product_code": "5451515",
- "amc_restrictions": {
- "order_type": "buy",
- "is_allowed": "string",
- "min_amount": "string",
- "max_amount": "string",
- "amount_multiples": "string",
- "additional_amount": "string"
}, - "scheme_type": "string",
- "scheme_document": "string",
- "aum": 0,
- "aum_date": "2019-08-24",
- "historical_returns": [
- {
- "period": "1_day",
- "percentage": 0
}
], - "min_initial": 0,
- "min_additional": 0,
- "min_redemption": 0,
- "nav": 0,
- "nav_date": "2019-08-24",
- "fund_type": "string",
- "objective": "string",
- "philosophy": "string",
- "risk_level": "low",
- "risk_measures": {
- "sharpe_ratio": [
- {
- "period": "1_yr",
- "value": "string"
}
], - "skewness": [
- {
- "period": "1_yr",
- "value": "string"
}
], - "sortino_ratio": [
- {
- "period": "1_yr",
- "value": "string"
}
], - "standard_deviation": [
- {
- "period": "1_yr",
- "value": "string"
}
]
}, - "relative_risk_measures": {
- "alpha": [
- {
- "period": "3_yr",
- "value": "string"
}
], - "beta": [
- {
- "period": "3_yr",
- "value": "string"
}
], - "capture_ratio_downside": [
- {
- "period": "1_yr",
- "value": "string"
}
], - "capture_ratio_upside": [
- {
- "period": "1_yr",
- "value": "string"
}
]
}, - "category_returns": {
- "category_cumulative_return": [
- {
- "period": "2_yr",
- "value": "string"
}
], - "category_return": [
- {
- "period": "2_yr",
- "value": "string"
}
], - "category_end_date": "2019-08-24"
}, - "dividend_investment_plan": true,
- "standard_deviation_5_yr": 0,
- "inception_date": "2019-08-24",
- "expense_ratio": 0,
- "nav_history": [
- {
- "nav_date": "2019-08-24",
- "nav": 0
}
], - "exit_loads": "string",
- "managers": [
- {
- "name": "string",
- "start_date": "2019-08-24"
}
], - "benchmarks": [
- {
- "index_name": "string",
- "weightage": 0
}
], - "top_ten_holdings": [
- {
- "name": "string",
- "weightage": 0,
- "sector": "string",
- "isin_security": "string",
- "rating": "string"
}
], - "detailed_holdings": [
- {
- "name": "string",
- "weightage": 0,
- "sector": "string",
- "isin_security": "string",
- "rating": "string"
}
], - "nfo_close_date": "2019-08-24",
- "status": "active"
}Returns list of asset management companies (AMCs) matching the specified criteria.
| limit | number [ 1 .. 100 ] Default: 20 Number of items to return |
| offset | number >= 0 Default: 0 Number of items to skip before starting to collect the result set |
| investor_type | string Default: "individual" Investor type |
| investor_country | string Default: "India" The investor_country parameter tells about the country of residence of the investor. The investor_country should be a standard country name. You can check a list of standard country names here. |
| id | string |
| name | string |
[- {
- "id": "string",
- "name": "string"
}
]Returns list of asset management companies (AMCs) matching the specified criteria. (v2)
| limit | number [ 1 .. 100 ] Default: 20 Number of items to return |
| offset | number >= 0 Default: 0 Number of items to skip before starting to collect the result set |
| investor_type | string Default: "individual" Investor type |
| investor_country | string Default: "India" The investor_country parameter tells about the country of residence of the investor. The investor_country should be a standard country name. You can check a list of standard country names here. |
| id | string |
| name | string |
[- {
- "id": "string",
- "name": "string"
}
]The API is used to retrieve asset management company (AMC) detail associated with the id
| id required | string AMC id |
| id | string |
| name | string |
| url | string <uri> |
| logo | string <uri> |
{- "id": "string",
- "name": "string",
}The API is used to retrieve asset management company (AMC) detail associated with the id (v2)
| id required | string AMC id |
| id | string |
| name | string |
| url | string <uri> |
| logo | string <uri> |
{- "id": "string",
- "name": "string",
}Retrieves data for a specific ARN. (v2)
| arn_number required | string ARN number |
| arn required | string Authorized Representative Network identifier |
| holder_name required | string Name of the ARN holder |
| address | string Residential or office address of the ARN holder |
| city | string <= 100 characters City of residence or office location |
| pincode | string <= 6 characters Postal code |
| is_active required | boolean Indicates if the ARN is currently active |
| is_kyc_compliant required | boolean Indicates if the ARN holder is KYC compliant |
| valid_from required | string <date> Date from which the ARN is valid |
| valid_to required | string <date> Date until which the ARN is valid |
| euin | string EUIN (Employee Unique Identification Number) of the ARN holder |
| office_phone | string Office contact phone number |
| residence_phone | string Residence contact phone number |
| email required | string <email> Email address of the ARN holder |
{- "arn": "string",
- "holder_name": "string",
- "address": "string",
- "city": "string",
- "pincode": "string",
- "is_active": true,
- "is_kyc_compliant": true,
- "valid_from": "2019-08-24",
- "valid_to": "2019-08-24",
- "euin": "string",
- "office_phone": "string",
- "residence_phone": "string",
- "email": "user@example.com"
}List orders
| limit | number [ 1 .. 100 ] Default: 20 Number of items to return |
| offset | number >= 0 Default: 0 Number of items to skip before starting to collect the result set |
| from_date | string <date> Order date |
| to_date | string <date> Order date |
| order_type | string (order_type) Enum: "buy" "sell" "sip" "switch" "switch_in" "stp" "swp" "broker_transfer_in" "broker_transfer_out" Order type |
| parent_order_id | string Parent order id. |
| investor_id | string Investor Id |
| fund_id | string Fund Id |
| status | string (order_status) Enum: "failed" "success" "cancelled" "payment_not_initiated" "awaiting_payment_confirmation" "payment_approved" "payment_rejected" "complete" Order status |
| count | integer |
| next | string or null <uri> |
| previous | string or null <uri> |
Array of objects |
{- "count": 2,
- "next": null,
- "previous": null,
- "results": [
- {
- "id": "1",
- "order_type": "buy",
- "date": "2022-07-13",
- "investor_id": "1",
- "fund_id": "1",
- "fund_name": "Quant Small Cap Fund Growth",
- "folio": "123456",
- "units": "150",
- "amount": 10000,
- "status": "complete",
- "status_remark": "",
- "nav": 1.57,
- "nav_date": "2022-07-12"
}, - {
- "id": "2",
- "order_type": "sell",
- "date": "2022-07-13",
- "investor_id": "1",
- "fund_id": "1",
- "fund_name": "Navi Large Cap Equity Fund Direct Plan Yearly Payout of Inc Dis cum Capital Wdrl Opt",
- "folio": "123456",
- "units": "10",
- "amount": 1000,
- "status": "complete",
- "status_remark": "",
- "nav": 2.78,
- "nav_date": "2022-07-12"
}
]
}Place order
| order_type required | string (order_type) |
| investor_id required | string |
| fund_id required | string |
| folio | string |
| euin | string |
| investor_ip | string <IPv4> IP address of investor |
| amount required | number |
| mandate_id | string Required when order's payment method is OTM. |
| authenticator required | string (authenticator) Enum: "tarrakki" "partner" |
| auth_ref | string (auth_ref) Required when 2FA verification is done through "tarrakki" |
| mobile | string Required when 2FA verification is done by the "partner" |
string Required when 2FA verification is done by the "partner" |
| order_id | string |
{- "order_type": "buy",
- "investor_id": "1",
- "fund_id": "1001",
- "folio": "1234567890",
- "amount": 5000,
- "authenticator": "tarrakki",
- "auth_ref": "101"
}{- "order_id": "string"
}List orders with additional mandate_id field (v2)
| limit | number [ 1 .. 100 ] Default: 20 Number of items to return |
| offset | number >= 0 Default: 0 Number of items to skip before starting to collect the result set |
| from_date | string <date> Order date |
| to_date | string <date> Order date |
| order_type | string (order_type) Enum: "buy" "sell" "sip" "switch" "switch_in" "stp" "swp" "broker_transfer_in" "broker_transfer_out" Order type |
| parent_order_id | string Parent order id. |
| investor_id | string Investor Id |
| fund_id | string Fund Id |
| status | string (order_status) Enum: "failed" "success" "cancelled" "payment_not_initiated" "awaiting_payment_confirmation" "payment_approved" "payment_rejected" "complete" Order status |
| count | integer |
| next | string or null <uri> |
| previous | string or null <uri> |
Array of objects |
{- "count": 0,
- "results": [
- {
- "id": "string",
- "order_type": "buy",
- "parent_order_id": "string",
- "date": "2019-08-24",
- "investor_id": "string",
- "fund_id": "string",
- "fund_name": "string",
- "folio": "string",
- "units": "string",
- "amount": 0,
- "status": "failed",
- "status_remark": "string",
- "nav": 0,
- "nav_date": "2019-08-24",
- "mandate_id": "string"
}
]
}Place order (v2)
| order_type required | string (order_type) |
| investor_id required | string |
| fund_id required | string |
| folio | string |
| euin | string |
| investor_ip | string <IPv4> IP address of investor |
| amount required | number |
| mandate_id | string Required when order's payment method is OTM. |
| authenticator required | string (authenticator) Enum: "tarrakki" "partner" |
| auth_ref | string (auth_ref) Required when 2FA verification is done through "tarrakki" |
| mobile | string Required when 2FA verification is done by the "partner" |
string Required when 2FA verification is done by the "partner" |
| order_id | string |
{- "order_type": "buy",
- "investor_id": "1",
- "fund_id": "1001",
- "folio": "1234567890",
- "amount": 5000,
- "authenticator": "tarrakki",
- "auth_ref": "101"
}{- "order_id": "string"
}Retrieve order detail
| id required | string Order id |
| order_id | string |
| order_type | string |
| parent_order_id | string |
| date | string <date> |
| nav | number |
| nav_date | string <date> |
| investor_id | string |
| fund_id | string |
| folio | string |
| euin | string |
| investor_ip | string <IPv4> IP address of investor |
| amount | number |
| mandate_id | string Required when order's payment method is OTM. |
| authenticator | string (authenticator) Enum: "tarrakki" "partner" |
| auth_ref | string (auth_ref) Required when 2FA verification is done through "tarrakki" |
| mobile | string Required when 2FA verification is done by the "partner" |
string Required when 2FA verification is done by the "partner" | |
| status | string (order_status) Enum: "failed" "success" "cancelled" "payment_not_initiated" "awaiting_payment_confirmation" "payment_approved" "payment_rejected" "complete" |
| status_remark | string |
{- "order_id": "1",
- "date": "2019-08-24",
- "status": "complete",
- "order_type": "buy",
- "investor_id": "1",
- "fund_id": "1001",
- "folio": "1234567890",
- "amount": 5000,
- "status_remark": "",
- "nav": 3.81,
- "nav_date": "2019-08-23"
}Retrieve order detail (v2)
| id required | string Order id |
| order_id | string |
| order_type | string |
| parent_order_id | string |
| date | string <date> |
| nav | number |
| nav_date | string <date> |
| investor_id | string |
| fund_id | string |
| folio | string |
| euin | string |
| investor_ip | string <IPv4> IP address of investor |
| amount | number |
| mandate_id | string Required when order's payment method is OTM. |
| authenticator | string (authenticator) Enum: "tarrakki" "partner" |
| auth_ref | string (auth_ref) Required when 2FA verification is done through "tarrakki" |
| mobile | string Required when 2FA verification is done by the "partner" |
string Required when 2FA verification is done by the "partner" | |
| status | string (order_status) Enum: "failed" "success" "cancelled" "payment_not_initiated" "awaiting_payment_confirmation" "payment_approved" "payment_rejected" "complete" |
| status_remark | string |
{- "order_id": "1",
- "date": "2019-08-24",
- "status": "complete",
- "order_type": "buy",
- "investor_id": "1",
- "fund_id": "1001",
- "folio": "1234567890",
- "amount": 5000,
- "status_remark": "",
- "nav": 3.81,
- "nav_date": "2019-08-23"
}Returns list of bulk orders
| limit | number [ 1 .. 100 ] Default: 20 Number of items to return |
| offset | number >= 0 Default: 0 Number of items to skip before starting to collect the result set |
| from_date | string <date> Order date |
| to_date | string <date> Order date |
| investor_id | string Investor Id |
| status | string (bulk_order_status) Enum: "processing" "processed" Bulk order status |
| count | integer |
| next | string or null <uri> |
| previous | string or null <uri> |
Array of objects |
{- "count": 0,
- "results": [
- {
- "bulk_order_id": "string",
- "date": "2019-08-24",
- "investor_id": "string",
- "euin": "string",
- "status": "processing"
}
]
}Create order(s) in bulk
| investor_id required | string |
| euin | string |
| investor_ip required | string <IPv4> IP address of investor |
| authenticator required | string (authenticator) Enum: "tarrakki" "partner" |
| auth_ref | string (auth_ref) Required when 2FA verification is done through "tarrakki" |
| mobile | string Required when 2FA verification is done by the "partner" |
string Required when 2FA verification is done by the "partner" | |
required | Array of any non-empty |
| bulk_order_id | string |
{- "investor_id": "string",
- "euin": "string",
- "investor_ip": "string",
- "authenticator": "tarrakki",
- "auth_ref": "string",
- "mobile": "string",
- "email": "string",
- "detail": [
- {
- "order_type": "buy",
- "fund_id": "string",
- "folio": "string",
- "amount": 0
}
]
}{- "bulk_order_id": "string"
}Returns list of bulk orders (v2)
| limit | number [ 1 .. 100 ] Default: 20 Number of items to return |
| offset | number >= 0 Default: 0 Number of items to skip before starting to collect the result set |
| from_date | string <date> Order date |
| to_date | string <date> Order date |
| investor_id | string Investor Id |
| status | string (bulk_order_status) Enum: "processing" "processed" Bulk order status |
| count | integer |
| next | string or null <uri> |
| previous | string or null <uri> |
Array of objects |
{- "count": 0,
- "results": [
- {
- "bulk_order_id": "string",
- "date": "2019-08-24",
- "investor_id": "string",
- "euin": "string",
- "status": "processing"
}
]
}Create order(s) in bulk (v2)
| investor_id required | string |
| euin | string |
| investor_ip required | string <IPv4> IP address of investor |
| authenticator required | string (authenticator) Enum: "tarrakki" "partner" |
| auth_ref | string (auth_ref) Required when 2FA verification is done through "tarrakki" |
| mobile | string Required when 2FA verification is done by the "partner" |
string Required when 2FA verification is done by the "partner" | |
required | Array of any non-empty |
| bulk_order_id | string |
{- "investor_id": "string",
- "euin": "string",
- "investor_ip": "string",
- "authenticator": "tarrakki",
- "auth_ref": "string",
- "mobile": "string",
- "email": "string",
- "detail": [
- {
- "order_type": "buy",
- "fund_id": "string",
- "folio": "string",
- "amount": 0
}
]
}{- "bulk_order_id": "string"
}Retrieve bulk order detail
| id required | string Bulk order id |
| bulk_order_id | string |
| date | string <date> |
| investor_id | string |
| euin | string |
| status | string (bulk_order_status) Enum: "processing" "processed" |
Array of any |
{- "bulk_order_id": "string",
- "date": "2019-08-24",
- "investor_id": "string",
- "euin": "string",
- "status": "processing",
- "detail": [
- {
- "order_id": "string",
- "order_type": "buy",
- "parent_order_id": "string",
- "date": "2019-08-24",
- "nav": 0,
- "nav_date": "2019-08-24",
- "fund_id": "string",
- "folio": "string",
- "amount": 0,
- "status": "new",
- "status_remark": "string"
}
]
}Retrieve bulk order detail (v2)
| id required | string Bulk order id |
| bulk_order_id | string |
| date | string <date> |
| investor_id | string |
| euin | string |
| status | string (bulk_order_status) Enum: "processing" "processed" |
Array of any |
{- "bulk_order_id": "string",
- "date": "2019-08-24",
- "investor_id": "string",
- "euin": "string",
- "status": "processing",
- "detail": [
- {
- "order_id": "string",
- "order_type": "buy",
- "parent_order_id": "string",
- "date": "2019-08-24",
- "nav": 0,
- "nav_date": "2019-08-24",
- "fund_id": "string",
- "folio": "string",
- "amount": 0,
- "status": "new",
- "status_remark": "string"
}
]
}List SIP orders
| limit | number [ 1 .. 100 ] Default: 20 Number of items to return |
| offset | number >= 0 Default: 0 Number of items to skip before starting to collect the result set |
| from_date | string <date> Order date |
| to_date | string <date> Order date |
| investor_id | string Investor Id |
| status | string (sip_status) Enum: "success" "pending" "cancelled" "failed" SIP status |
| order_id | string Order Id |
| count | integer |
| next | string or null <uri> |
| previous | string or null <uri> |
Array of objects |
{- "count": 0,
- "results": [
- {
- "id": "string",
- "date": "2019-08-24",
- "investor_id": "string",
- "fund_id": "string",
- "fund_name": "string",
- "folio": "string",
- "mandate_id": "string",
- "start_date": "2019-08-24",
- "end_date": "2019-08-24",
- "frequency": "weekly",
- "no_of_installment": 0,
- "first_order_today": true,
- "amount": 0,
- "status": "failed"
}
]
}Cancel SIP order
| id required | string SIP order id |
| investor_id required | string |
| fund_id required | string |
| mandate_id required | string |
| amount required | number |
| state required | string Value: "cancel" |
| investor_id | string |
| fund_id | string |
| amount | number |
| mandate_id | string |
{- "investor_id": "string",
- "fund_id": "string",
- "mandate_id": "string",
- "amount": 0,
- "state": "cancel"
}{- "investor_id": "string",
- "fund_id": "string",
- "amount": 0,
- "mandate_id": "string"
}List STP orders
| limit | number [ 1 .. 100 ] Default: 20 Number of items to return |
| offset | number >= 0 Default: 0 Number of items to skip before starting to collect the result set |
| from_date | string <date> Order date |
| to_date | string <date> Order date |
| investor_id | string Investor Id |
| status | string (stp_status) Enum: "new" "registered" "cancelled" STP status |
| count | integer |
| next | string or null <uri> |
| previous | string or null <uri> |
Array of objects |
{- "count": 0,
- "results": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "date": "2019-08-24",
- "investor_id": "string",
- "from_fund_id": "string",
- "to_fund_id": "string",
- "folio": "string",
- "start_date": "2019-08-24",
- "end_date": "2019-08-24",
- "frequency": "daily",
- "no_of_transfers": 0,
- "first_order_today": true,
- "amount": "string",
- "units": "string",
- "status": "new"
}
]
}List SWP orders
| limit | number [ 1 .. 100 ] Default: 20 Number of items to return |
| offset | number >= 0 Default: 0 Number of items to skip before starting to collect the result set |
| from_date | string <date> Order date |
| to_date | string <date> Order date |
| investor_id | string Investor Id |
| status | string (swp_status) Enum: "new" "registered" "cancelled" SWP status |
| count | integer |
| next | string or null <uri> |
| previous | string or null <uri> |
Array of objects |
{- "count": 0,
- "results": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "date": "2019-08-24",
- "investor_id": "string",
- "fund_id": "string",
- "folio": "string",
- "start_date": "2019-08-24",
- "frequency": "daily",
- "no_of_withdrawals": 0,
- "first_order_today": true,
- "amount": "string",
- "units": "string",
- "status": "new"
}
]
}Cancel Systematic order
| id required | string Systematic order id |
| investor_id required | string |
| order_type required | string Enum: "stp" "swp" |
| state required | string Value: "cancel" |
| id | string |
| investor_id | string |
{- "investor_id": "string",
- "order_type": "stp",
- "state": "cancel"
}{- "id": "string",
- "investor_id": "string"
}List all types of systematic orders (SIP, STP, SWP) for the authenticated user's organization. This endpoint combines the functionality of the previous separate SIP, STP, and SWP list endpoints.
| limit | number [ 1 .. 100 ] Default: 20 Number of items to return |
| offset | number >= 0 Default: 0 Number of items to skip before starting to collect the result set |
| from_date | string <date> Filter orders from this date (YYYY-MM-DD) |
| to_date | string <date> Filter orders until this date (YYYY-MM-DD) |
| investor_id | string Filter by investor ID |
| status | string (OrderStatusEnum) Enum: "failed" "pending" "success" "cancelled" "payment_not_initiated" "awaiting_payment_confirmation" "payment_approved" "payment_rejected" "complete" Filter by order status |
| order_type | string (SystematicOrderTypeEnum) Enum: "sip" "stp" "swp" Filter by systematic order type |
| count required | integer Total number of results |
| next | string or null URL to the next page of results |
| previous | string or null URL to the previous page of results |
required | Array of SipOrderListItem (object) or StpOrderListItem (object) or SwpOrderListItem (object) |
{- "count": 0,
- "next": "string",
- "previous": "string",
- "results": [
- {
- "id": "string",
- "order_type": "sip",
- "start_date": "2019-08-24",
- "end_date": "2019-08-24",
- "date": "2019-08-24",
- "investor_id": "string",
- "fund_id": "string",
- "fund_name": "string",
- "folio": "string",
- "mandate_id": "string",
- "frequency": "string",
- "no_of_installment": 0,
- "first_order_today": true,
- "amount": 0,
- "status": "failed"
}
]
}Cancel an active systematic order (SIP, STP, or SWP).
Path Parameters:
id: Internal order ID of the systematic order to cancelRequest Body:
investor_id: Investor ID for validationsxp_type: Type of systematic order (sip, stp, swp)reason_for_cancellation: Reason for cancellation (enum text)| id required | string Systematic order id |
Request body for cancelling a systematic order (SIP, STP, or SWP)
| investor_id required | integer Investor ID for validation |
| sxp_type required | string (SystematicOrderTypeEnum) Enum: "sip" "stp" "swp" Type of systematic order (sip, stp, swp) |
| reason_for_cancellation | string Enum: "Non availability of Funds" "Scheme not performing" "Service issue" "Load Revised" "Wish to invest in other schemes" "Change in Fund Manager" "Goal Achieved" "Not comfortable with market volatility" "Will be restarting SIP after few months" "Modifications in bank/mandate/date etc" "I have decided to invest elsewhere" "This is not the right time to invest" "Others" Reason for cancellation (enum text) |
| id | integer Order ID of the cancelled systematic order |
| investor_id | integer Investor ID |
{- "investor_id": 12345,
- "sxp_type": "sip",
- "reason_for_cancellation": "Service issue"
}{- "id": 12345,
- "investor_id": 12345
}List payments
| limit | number [ 1 .. 100 ] Default: 20 Number of items to return |
| offset | number >= 0 Default: 0 Number of items to skip before starting to collect the result set |
| from_date | string <date> Payment date |
| to_date | string <date> Payment date |
| status | string (payment_status) Enum: "initiated" "processing" "success" "failed" Payment status |
| payment_method | string (payment_method) Enum: "upi" "neft_rtgs" "netbanking" |
| investor_id | string Investor Id |
| count | integer |
| next | string or null <uri> |
| previous | string or null <uri> |
Array of objects |
{- "count": 0,
- "results": [
- {
- "payment_method": "upi",
- "payment_id": "d43b87f9-9e28-4802-8eaa-6ee91a40ea71",
- "date": "2019-08-24",
- "investor_id": "string",
- "status": "initiated",
- "orders": [
- {
- "order_id": "string"
}
], - "amount": "string"
}
]
}Pay through UPI, Net-Banking and NEFT/RTGS. Payment for multiple order numbers is supported.
Payment detail
| payment_method required | string (payment_method) |
| investor_id required | string |
required | Array of objects Orders |
| bank_id required | string |
| amount required | string |
| payment_mode required | enum Enum: "intent" "qr" |
| callback_url | string <uri> |
| payment_id | string |
| redirect_url | string URL to which the user should be redirected to complete the payment. This field is returned only for non-UPI payment methods. |
| intent_url | string URL to which the user should be redirected to complete the payment. This field is returned only for UPI intent payments. |
| qr_code | string <base64> Base64 encoded string of the QR code image. This field is returned only for UPI QR payments. |
{- "payment_method": "upi",
- "investor_id": "string",
- "orders": [
- {
- "order_id": "string"
}
], - "bank_id": "string",
- "amount": "string",
- "payment_mode": "intent",
}{- "payment_id": "string",
- "redirect_url": "string",
- "intent_url": "string",
- "qr_code": "string"
}List payments (v2)
| limit | number [ 1 .. 100 ] Default: 20 Number of items to return |
| offset | number >= 0 Default: 0 Number of items to skip before starting to collect the result set |
| from_date | string <date> Payment date |
| to_date | string <date> Payment date |
| status | string (payment_status) Enum: "initiated" "processing" "success" "failed" Payment status |
| payment_method | string (payment_method) Enum: "upi" "neft_rtgs" "netbanking" |
| investor_id | string Investor Id |
| count | integer |
| next | string or null <uri> |
| previous | string or null <uri> |
Array of objects |
{- "count": 0,
- "results": [
- {
- "payment_method": "upi",
- "payment_id": "d43b87f9-9e28-4802-8eaa-6ee91a40ea71",
- "date": "2019-08-24",
- "investor_id": "string",
- "status": "initiated",
- "orders": [
- {
- "order_id": "string"
}
], - "amount": "string"
}
]
}Pay through UPI, Net-Banking. Payment for multiple order numbers is supported. (v2)
Payment detail
| payment_method required | string (payment_method) |
| investor_id required | string |
required | Array of objects Orders |
| bank_id required | string |
| amount required | string |
| upi_id required | string |
| callback_url | string <uri> |
| payment_id | string |
| redirect_url | string URL to which the user should be redirected to complete the payment. This field is returned only for non-UPI payment methods. |
| intent_url | string URL to which the user should be redirected to complete the payment. This field is returned only for UPI intent payments. |
| qr_code | string <base64> Base64 encoded string of the QR code image. This field is returned only for UPI QR payments. |
{- "payment_method": "upi",
- "investor_id": "string",
- "orders": [
- {
- "order_id": "string"
}
], - "bank_id": "string",
- "amount": "string",
- "upi_id": "string",
}{- "payment_id": "string",
- "redirect_url": "string",
- "intent_url": "string",
- "qr_code": "string"
}Retrieve payment detail
| id required | string Payment id |
| payment_id | string |
| date | string <date> |
| payment_method | string (payment_method) |
| investor_id | string |
Array of objects Orders | |
| bank_id | string |
| amount | string |
| intent_url | string |
| qr_code | string <base64> |
| status | string (payment_status) Enum: "initiated" "processing" "success" "failed" |
{- "payment_method": "upi",
- "investor_id": "string",
- "orders": [
- {
- "order_id": "string"
}
], - "bank_id": "string",
- "amount": "string",
- "intent_url": "string",
- "qr_code": "string",
- "status": "initiated"
}Retrieve payment detail (v2)
| id required | string Payment id |
| payment_id | string |
| date | string <date> |
| payment_method | string (payment_method) |
| investor_id | string |
Array of objects Orders | |
| bank_id | string |
| amount | string |
| status | string (payment_status) Enum: "initiated" "processing" "success" "failed" |
{- "payment_method": "upi",
- "investor_id": "string",
- "orders": [
- {
- "order_id": "string"
}
], - "bank_id": "string",
- "amount": "string",
- "status": "initiated"
}Returns list of banks details with specified payment mode.
| limit | number [ 1 .. 100 ] Default: 20 Number of items to return |
| offset | number >= 0 Default: 0 Number of items to skip before starting to collect the result set |
| type | string (bank_type) Enum: "direct" "nodal" |
| payment_method | string (payment_method) Enum: "upi" "neft_rtgs" "netbanking" |
| count | integer |
| next | string or null <uri> |
| previous | string or null <uri> |
Array of objects (bank_master) |
{- "count": 0,
- "results": [
- {
- "name": "string",
- "type": "direct",
- "payment_method": [
- "upi"
]
}
]
}Upload RTA Feed received from CAMS, and KARVY
Upload RTA feed request body
| rta required | string Enum: "cams" "karvy" |
| file required | string <binary> |
| from_date required | string <date> The date from which the RTA feed is applicable. Full-date notation as defined by RFC 3339, section 5.6, for example, 2017-07-21 |
| to_date required | string <date> The date till which the RTA feed is applicable. Full-date notation as defined by RFC 3339, section 5.6, for example, 2017-07-21 |
curl --request POST '{BASE URL}/rta_feeds' \ --header 'Authorization: Bearer eyJh...' \ --form 'rta="cams"' \ --form 'file=@"/C:/Users/Tarrakki/Desktop/cams.csv"'
{- "id": "string"
}Get the status of the uploaded RTA Feed.
| id required | string The unique identifier of the RTA Feed. |
| id required | string |
| status required | string Enum: "processing" "success" "failed" |
| message | string Reason for failure. Not available when status is success. |
{- "id": "string",
- "status": "processing",
- "message": "string"
}Upload a new report feed.
Upload Report feed request body
| type required | string Enum: "client_master" "fatca" "mandate" "sip_registration" "stp_registration" "swp_registration" |
| file required | string <binary> |
curl --request POST '{BASE URL}/report-feeds' \ --header 'Authorization: Bearer eyJh...' \ --form 'type="client_master"' \ --form 'file=@"/C:/Users/Tarrakki/Desktop/client_master.csv"'
{- "batch_id": "string"
}Get the processing status of a report feed.
| batch_id required | string |
| id required | string <uuid> |
| status required | string Enum: "processing" "success" "failed" |
| message | string or null |
required | mandate_metadata (object) or client_master_metadata (object) or fatca_metadata (object) or sip_registration_metadata (object) or stp_registration_metadata (object) or swp_registration_metadata (object) |
{- "id": "de0539a5-05ac-4d41-bf1c-12efd84f86",
- "status": "success",
- "message": null,
- "metadata": {
- "errors": [ ],
- "status": "success",
- "total_rows": 4360,
- "upi_mandate_ids": [
- 123
], - "mandates_created": 1,
- "mandate_code_to_id_map": {
- "8546198": 123
}, - "mandates_created_for_users": [
- 12345
]
}
}Provides questionaire for risk assessment
| id required | string Investor id |
| question_id | string |
| question | string |
Array of objects (risk_assessment_question_option) | |
Array of objects (risk_assessment_input_field) |
[- {
- "question_id": "string",
- "question": "string",
- "options": [
- {
- "option_id": "string",
- "option_type": "string",
- "option_value": "string",
- "option_category": "string",
- "inputs": [
- {
- "name": "string",
- "type": "string"
}
]
}
], - "inputs": [
- {
- "name": "string",
- "type": "string"
}
]
}
]Retrieve investor's risk assessment
| id required | string Investor id |
| assessment_date | string <date> |
| observations | Array of strings |
| risk_profile | string Enum: "conservative" "moderately_conservative" "balanced" "moderately_agressive" "aggressive" |
| risk_score | number |
{- "assessment_date": "2019-08-24",
- "observations": [
- "Creation of an emergency corpus is a smart move..",
- "You have been safeguarded against any uncertainities.."
], - "risk_profile": "balanced",
- "risk_score": 54.5
}Create investor's risk assessment
| id required | string Investor id |
Risk Profile Answers
required | Array of objects |
{ "answers": [ { "question_id": "1", "options": [ { "option_id": "10" } ] }, { "question_id": "2", "options": [ { "option_id": "21" }, { "option_id": "22" } ], "inputs": [ { "name": "amount", "value": "5000000" } ] }, { "question_id": "3", "options": [ { "option_id": "20", "inputs": [ { "name": "target_year", "value": "2025" }, { "name": "amount", "value": "50000" } ] } ] } ] }
Upload CAS (Consolidated Account Statement).
| id required | string Investor id |
Upload CAS
| file required | string <binary> |
| password required | string |
| cas_id | string |
curl --request POST '{BASE URL}/investors/{id}/cas' \ --header 'Authorization: Bearer eyJh...' \ --form 'file=@"/C:/Users/Tarrakki/Desktop/david_cas.pdf"' \ --form 'password="ABCDP4589M"'
{- "cas_id": "string"
}Generate and retrieve Consolidated Account Statement (CAS).
Note: this API requires investor's consent. Use Send OTP and Verify OTP APIs to obtain the investor consent.
CAS
| auth_ref required | string <uuid> Authorization reference. i.e., otp_id |
| cas_type | string |
| pan | string |
| mobile | string |
string | |
Array of objects (data) | |
Array of objects (portfolio-2) | |
object (investor_detail) | |
| statementHoldingFilter | string |
{- "auth_ref": "a9ac3845-212f-4f9c-83f4-49a2136de7d1"
}{- "cas_type": "summarized",
- "pan": "string",
- "mobile": "string",
- "email": "string",
- "data": [
- {
- "summary": [
- {
- "costValue": "string",
- "amc": "string",
- "amcName": "string",
- "gainLoss": "string",
- "gainLossPercentage": "string",
- "currentMktValue": "string",
- "isDemat": "string"
}
], - "schemes": [
- {
- "transactionSource": "string",
- "schemeCode": "string",
- "idcwChangeAllowed": "string",
- "schemeOption": "string",
- "decimalAmount": 0,
- "schemeType": "string",
- "costValue": "string",
- "stpAllow": "string",
- "gainLossPercentage": "string",
- "modeOfHolding": "string",
- "closingBalance": "string",
- "lienUnitsFlag": "string",
- "investorName": "string",
- "taxStatus": "string",
- "swpAllow": "string",
- "brokerCode": "string",
- "bank": {
- "pincode": "string",
- "city": "string",
- "accountNo": "string",
- "accountType": "string",
- "name": "string",
- "micr": "string",
- "neftIfsc": "string",
- "ifsc": "string",
- "branch": "string"
}, - "availableAmount": "string",
- "currentMktValue": "string",
- "email": "string",
- "emailRelationship": "string",
- "nav": "string",
- "availableUnits": "string",
- "navDate": "string",
- "mobile": "string",
- "mobileRelationship": "string",
- "schemeName": "string",
- "dpId": "string",
- "isDemat": "string",
- "decimalNav": 0,
- "assetType": "string",
- "planMode": "string",
- "sipAllow": "string",
- "amc": "string",
- "amcName": "string",
- "gainLoss": "string",
- "purAllow": "string",
- "folio": "string",
- "newFolio": "string",
- "brokerName": "string",
- "swtAllow": "string",
- "age": 0,
- "isin": "string",
- "decimalUnits": 0,
- "redAllow": "string",
- "rtaName": "string"
}
]
}
], - "portfolio": [
- {
- "currentMktValue": "string",
- "isDemat": "string",
- "costValue": "string",
- "gainLoss": "string",
- "gainLossPercentage": "string"
}
], - "investorDetails": {
- "investorName": "string",
- "mobile": "string",
- "email": "string",
- "address": {
- "line1": "string",
- "line2": "string",
- "line3": "string",
- "city": "string",
- "pincode": "string",
- "state": "string",
- "country": "string"
}
}, - "statementHoldingFilter": "string"
}Generate and retrieve Consolidated Account Statement (CAS).
Note: this API requires investor's consent. Use Send OTP and Verify OTP APIs to obtain the investor consent.
| id required | string <uuid> Auth Reference |
| cas_type | string |
| pan | string |
| mobile | string |
string | |
Array of objects (data) | |
Array of objects (portfolio-2) | |
object (investor_detail) | |
| statementHoldingFilter | string |
{- "cas_type": "summarized",
- "pan": "string",
- "mobile": "string",
- "email": "string",
- "data": [
- {
- "summary": [
- {
- "costValue": "string",
- "amc": "string",
- "amcName": "string",
- "gainLoss": "string",
- "gainLossPercentage": "string",
- "currentMktValue": "string",
- "isDemat": "string"
}
], - "schemes": [
- {
- "transactionSource": "string",
- "schemeCode": "string",
- "idcwChangeAllowed": "string",
- "schemeOption": "string",
- "decimalAmount": 0,
- "schemeType": "string",
- "costValue": "string",
- "stpAllow": "string",
- "gainLossPercentage": "string",
- "modeOfHolding": "string",
- "closingBalance": "string",
- "lienUnitsFlag": "string",
- "investorName": "string",
- "taxStatus": "string",
- "swpAllow": "string",
- "brokerCode": "string",
- "bank": {
- "pincode": "string",
- "city": "string",
- "accountNo": "string",
- "accountType": "string",
- "name": "string",
- "micr": "string",
- "neftIfsc": "string",
- "ifsc": "string",
- "branch": "string"
}, - "availableAmount": "string",
- "currentMktValue": "string",
- "email": "string",
- "emailRelationship": "string",
- "nav": "string",
- "availableUnits": "string",
- "navDate": "string",
- "mobile": "string",
- "mobileRelationship": "string",
- "schemeName": "string",
- "dpId": "string",
- "isDemat": "string",
- "decimalNav": 0,
- "assetType": "string",
- "planMode": "string",
- "sipAllow": "string",
- "amc": "string",
- "amcName": "string",
- "gainLoss": "string",
- "purAllow": "string",
- "folio": "string",
- "newFolio": "string",
- "brokerName": "string",
- "swtAllow": "string",
- "age": 0,
- "isin": "string",
- "decimalUnits": 0,
- "redAllow": "string",
- "rtaName": "string"
}
]
}
], - "portfolio": [
- {
- "currentMktValue": "string",
- "isDemat": "string",
- "costValue": "string",
- "gainLoss": "string",
- "gainLossPercentage": "string"
}
], - "investorDetails": {
- "investorName": "string",
- "mobile": "string",
- "email": "string",
- "address": {
- "line1": "string",
- "line2": "string",
- "line3": "string",
- "city": "string",
- "pincode": "string",
- "state": "string",
- "country": "string"
}
}, - "statementHoldingFilter": "string"
}Initiate a Consolidated Account Statement (CAS) request.
Note: To test the CAS API in UAT, please contact us to get a valid testing PAN, mobile number, and their combination.
| cas_type required | string Type of CAS statement |
| pan required | string PAN number of the investor |
| mobile required | string Mobile number of the investor. Required when email is not provided. |
| email required | string Email of the investor. Required when mobile is not provided. |
| callback_url required | string <uri> URL to redirect after MFC process completion. Note: We will append Status Enum: |
| id required | string <uuid> ID of the CAS request |
| redirection_url required | string <uri> URL to redirect the user to MFC portal |
{- "cas_type": "summarized",
- "pan": "string",
- "mobile": "string",
- "email": "string",
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
}Upload CAS QR code for validation and response generation.
| id required | string <uuid> ID of the CAS request |
| qr_code required | string <binary> PNG file containing QR code |
curl --request POST '{BASE URL}/mf/v2/cas/{id}/upload' \ --header 'Authorization: Bearer eyJh...' \ --form 'qr_code=@"/C:/Users/Tarrakki/Desktop/qr_code.png"'
Get CAS processing status and CAS File.
Note:
| id required | string <uuid> ID of the CAS request |
| id required | string <uuid> ID of the CAS request |
| cas_type required | string Enum: "summarized" "detailed" Type of CAS statement |
| status required | string Enum: "initiated" "redirected" "qr_generated" "qr_uploaded" "qr_validated" "qr_invalid" "completed" "failed" Status of the CAS process |
| cas_file | string <uri> URL of the signed CAS file, available when status is completed |
{- "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
- "cas_type": "summarized",
- "status": "completed",
}Sync a previously initiated Consolidated Account Statement (CAS) request.
| cas_id required | string <uuid> ID of the CAS request |
| investor_id required | integer ID of the investor whose portfolio should be synced from the parsed CAS statement. |
| action | string Default: "dry_run" Enum: "dry_run" "commit" Sync mode.
|
| cas_id required | string <uuid> ID of the CAS request that was synced. |
| investor_id required | integer ID of the investor whose portfolio was synced. |
| action required | string Enum: "dry_run" "commit" Sync mode that produced this response.
|
required | object Partner-facing summary of the sync invocation. |
{- "investor_id": 0,
- "action": "dry_run"
}{- "cas_id": "e95ff3bd-c797-4e81-b0f4-8c8f4078f6f2",
- "investor_id": 0,
- "action": "dry_run",
- "summary": {
- "is_clean": true,
- "statement_overview": {
- "folios_processed": 0,
- "transactions_in_statement": 0,
- "statement_period": {
- "from_date": "2019-08-24",
- "to_date": "2019-08-24"
}
}, - "transactions_skipped": {
- "joint_holdings": 0,
- "demat_holdings": 0,
- "direct_plan_holdings": 0,
- "non_financial_events": 0,
- "unrecognized_funds": 0
}, - "import_outcome": {
- "transactions_imported": 0,
- "transactions_matched_existing_records": 0,
- "transactions_updated": 0,
- "outdated_transactions_removed": 0,
- "duplicate_transactions_removed": 0
}, - "portfolio_alignment": {
- "platform_orders_reviewed": 0,
- "platform_orders_matched_to_statement": 0,
- "platform_orders_without_statement_match": 0
}, - "manual_review": {
- "flagged_folios": [
- {
- "folio": "string",
- "reason": "string"
}
], - "warnings": [
- "string"
]
}
}
}Sends an OTP (One Time Password) to the investor's registered email or mobile number.
Send OTP
| otp_type required | string (otp_type) |
| investor_id required | string |
| otp_type | string |
| investor_id | string |
| otp_id | string |
string <email> | |
| mobile | string |
| expiry | string <date-time> |
{- "otp_type": "nominee",
- "investor_id": "string"
}{- "otp_type": "nominee",
- "investor_id": "string",
- "otp_id": "string",
- "email": "user@example.com",
- "mobile": "string",
- "expiry": "2019-08-24T14:15:22Z"
}Verify OTP (One Time Password)
| id required | string OTP Id |
Verify OTP
| otp_type required | string (otp_type) Enum: "nominee" "buy_order" "sell_order" "sip_order" "switch_order" "stp_order" "swp_order" "bulk_order" |
| otp required | number |
| otp_type | string (otp_type) Enum: "nominee" "buy_order" "sell_order" "sip_order" "switch_order" "stp_order" "swp_order" "bulk_order" |
| otp | number |
{- "otp_type": "nominee",
- "otp": 0
}{- "otp_type": "nominee",
- "otp": 0
}Create broker change form generation request.
| investor_id required | string |
required | Array of objects non-empty |
required | object |
required | object |
{- "investor_id": "154",
- "folios": [
- {
- "folio_number": "FOLIO001",
- "funds": [
- {
- "fund_id": "1",
- "old_arn_code": "ARN0001",
- "old_broker_name": "ABC Broker"
}, - {
- "fund_id": "2",
- "old_arn_code": "ARN0001",
- "old_broker_name": "ABC Broker"
}, - {
- "fund_id": "1",
- "old_arn_code": "ARN0002",
- "old_broker_name": "XYZ Broker"
}, - {
- "fund_id": "2",
- "old_arn_code": "ARN0002",
- "old_broker_name": "XYZ Broker"
}, - {
- "fund_id": "193",
- "old_arn_code": "ARN0001",
- "old_broker_name": "ABC Broker"
}, - {
- "fund_id": "194",
- "old_arn_code": "ARN0001",
- "old_broker_name": "ABC Broker"
}, - {
- "fund_id": "195",
- "old_arn_code": "ARN0001",
- "old_broker_name": "ABC Broker"
}
]
}, - {
- "folio_number": "FOLIO002",
- "funds": [
- {
- "fund_id": "7",
- "old_arn_code": "ARN0002",
- "old_broker_name": "XYZ Broker"
}, - {
- "fund_id": "8",
- "old_arn_code": "ARN0002",
- "old_broker_name": "XYZ Broker"
}
]
}
], - "broker_details": {
- "new_arn_code": "ARN9999",
- "new_broker_name": "New Broker Pvt Ltd",
- "new_sub_broker_arn_code": "SUB1234",
- "new_euin_code": "E123456"
}, - "applicants": {
- "first_applicant_name": "First Applicant ",
- "second_applicant_name": "Second Applicant",
- "third_applicant_name": "Third Applicant"
}
}{- "id": "string"
}Get broker change form generation status and download URL (if ready).
| id required | string <uuid> The UUID of the broker change form generation request. |
| id required | string |
| status required | string Enum: "new" "processing" "success" "failed" Status of the background task |
| broker_change_forms | string <uri> |
{- "id": "string",
- "status": "new",
}| event_type required | string (event_type) |
| order_type required | string (order_type) Enum: "buy" "sell" "sip" "switch" "switch_in" "stp" "swp" "broker_transfer_in" "broker_transfer_out" |
| order_id required | string |
| parent_order_id | string |
| status required | string (order_status) Enum: "failed" "success" "cancelled" "payment_not_initiated" "awaiting_payment_confirmation" "payment_approved" "payment_rejected" "complete" |
| status_remark | string |
{- "event_type": "order_status_update",
- "order_type": "buy",
- "order_id": "string",
- "parent_order_id": "string",
- "status": "failed",
- "status_remark": "string"
}Subscribe to a webhook
Subscribe to an event notification
| event_type required | string (event_type) Enum: "order_status_update" "investor_status_update" |
| api_key required | string |
| url required | string <url> |
| id | string subscription id |
{- "event_type": "order_status_update",
- "api_key": "string",
- "url": "string"
}{- "id": "string"
}Subscribe to a webhook (v2)
Subscribe to an event notification
| event_type required | string (event_type) Enum: "order_status_update" "investor_status_update" |
| api_key required | string |
| url required | string <url> |
| id | string subscription id |
{- "event_type": "order_status_update",
- "api_key": "string",
- "url": "string"
}{- "id": "string"
}