API Docs
Complete Developer Guide to Moneyone APIs
API Reference Guide
All FinPro and FinShare APIs are completely RESTful. All responses are returned in JSON.
FinPro and FinShare APIs can be used in one of two modes, Test and Live.
Visit our developer portal to receive API keys to try out our APIs.
The response of the Data APIs in FinPro will enforce data-in-transit payload encryption, in the Live mode.
In the Test mode, all test data is sent in the clear without any encryption.
Click here to learn more about Moneyone error codes.
Click here to learn more on the test data modes available
API Gateway URL
FinPro API Gateway URL
Please include this before each API endpoint to make API calls
API Authorization
When you access FinPro APIs, you are authorized based on an FIU ID (Financial Information User ID) and an API key issued to you by us, using the developer portal. Visit here for more information.
Header Parameters Details
Field | Value | Description | Required? |
---|---|---|---|
content-Type | application/json | Specify the request params type | Yes |
client_Secret | string | This is an API key issued to server side application | Conditional (required only for server application calling the api) |
organisationid | string | An id issued to the organisation calling the API | Yes |
client_id | string | An API key issued to the organisation | Yes |
appidentifier | string | An API key issued to the organisation | Conditional (Required only if the API is being called from a front-end application, not server-side.) |
Header elements for API calls from front-end applications
The Organization ID (FIU ID), App Identifier and Client ID (generated through the developer portal) needs to be placed in the header of each API request, as shown below:
Header elements for API calls from server-side
The Organization ID (FIU ID), Client ID and Client Secret (generated through the developer portal) needs to be placed in the header of each API request, as shown below:
Error Codes and Details
All successful responses are returned with HTTP Status code 200. In case of failure, Onemoney API returns a JSON error response with the parameters that detail the reason for the failure.
Error Response
The error response contains status,code,ver and message parameters that help you diagnose and solve the error.
To understand more about error codes, refer to the Error Codes section.
Please find the one sample error response below:
{
“status”: “Fail”,
“code”: 400,
“ver”: “1.5.0”,
“message”: “Bad Request”
}
Response Parameters
Parameter | Data Type | Description |
---|---|---|
Error | object | The error object |
status | string | Response status of the API call made |
code | string | Https status code |
ver | string | Version of the API |
message | string | Description of the error |
Error Codes
Moneyone aims to make every data transaction successful for its customers. However, in the financial ecosystem errors might still occur because of intermittent communication and technical issues at multiple hops. Hence, it becomes critical for businesses to identify the status, https code of API response and the reason that caused the error. In short, you can identify the reason why any error occurred. This enables you to minimize or fix errors.
Understanding the Error codes
Moneyone uses conventional HTTP response codes to indicate the success or failure of an API request.
In general:
- Codes in the 2xx range indicate success.
- Codes in the 4xx range indicate an error that failed because of the information provided (e.g., a required parameter was omitted, a transaction failed, etc.).
- Codes in the 5xx range indicate an error with Onemoney AA servers (these are rare).
Note: Some 4xx errors that could be handled programmatically (e.g., account linking failed etc) are explained along with an error code that briefly reports the error details.
Understanding the Error Response
Let us take an example where error occurred when raising a consent.
Sample error response:
{
“status”: “Fail”,
“code”: 400,
“ver”: “1.5.0”,
“message”: “Bad Request”
}
By looking at the status, code and message of the api response, it can be understood that the response is a failure(some error occured) because of using an invalid request. So, this clearly tells the user to go and enter the required request parameters mentioned against the APIs.
Related Information
For the list of error codes and a quick resolution, you can refer to Common Error Codes.
For API specific error codes and their quick resolution, refer to the API specific Error Codes section.
Common Error Codes
All the possible values for the code and message parameter in the error response which are common for all the APIs along with their explanation and the next best action to be taken are shown below.
Error Code | Error message | Explanation | Next Steps |
---|---|---|---|
400 | Bad Request | This message occurs as a response to the API call made, when a required parameter is missing or an improper request body is sent in the payload of API. | Refer to the Request body table given for the API to check for any missing parameter and add it in the payload of API for making a valid API call. |
400 | Bad request headers | This message occurs as a response to the API call made, when request headers are unavailable | Refer to the Request body header table given for the API to check for any missing header parameter and add it in the payload of API for making a valid API call. |
400 | Invalid URI | This message occurs as a response to the API call made when the API call couldn"t parse the specified URI/Endpoint | Check the URI/endpoints given against the API for which the response has occurred and replace it with a valid endpoint. |
403 | AccessDenied | This message occurs as a response to the API call made, in case when the Web server forbids the user from accessing the API | To resolve the issue contact us at helpdesk@onemoney.in |
404 | NoSuchVersion | This message occurs as a response to the API call made, when the ver parameter value in the request body is incorrect | To resolve the issue change the version to the latest or contact us at helpdesk@onemoney.in |
405 | MethodNotAllowed | This message occurs as a response to the API call made,when the specified API method used is not allowed against the API used | Refer to the specific API in GST Data API to use the method which is allowed to make the API call |
411 | MissingContentLength | This message occurs as a response to the API call made, when the header of the request body doesn’t contain content-length | Resolve the issue by adding content-length as a header parameter and assigning value as application-json |
415 | UnsupportedMediaType | This message occurs as a response to the API call made, when the payload is not a json structure. | Please change the payload to json file |
500 | InternalError | This message occurs as a response to the API call made, when there is an internal error with Moneyone. | To resolve the issue try after sometime or contact us at helpdesk@moneyone.in |
502 | BadGateway | This message occurs as a response to the API call made, when there is no valid response from the onemoney web server | To resolve the issue try after sometime or contact us at helpdesk@moneyone.in |
503 | SERVICE_UNAVAILABLE | This message occurs as a response to the API call made, when not being able to connect to FIU. | To resolve the issue try after sometime or contact us at helpdesk@moneyone.in |
503 | ERR_CONNECT_SERVICE | This message occurs as a response to the API call made, when the moneyone server is not able to connect to SQS | To resolve the issue try after sometime or contact us at support@moneyone.in |
504 | GATEWAY_TIMEOUT | This message occurs as a response to the API call made, when there is no response from the moneyone server on time | To resolve the issue try after sometime or contact us at helpdesk@moneyone.in |
520 | ERR_UNKNOWN | This message occurs as a response to the API call made, due to a variety of unexpected reasons. | To resolve the issue try it after sometime or contact us at helpdesk@moneyone.in |
The above error codes are common errors which you might come across all of the APIs and in case the error occurred is specific to API, please refer to API specific Error Codes below.
API Specific Error Codes
API Name | Error Code | Error message | Explanation | Next Steps |
---|---|---|---|---|
Place a consent request | 400 | Invalidvua | This message occurs as a response to the API call made, when the entered vua is either incorrect or invalid. | Check the vua in the request body of the API and enter a valid vua. |
Place a consent request | 400 | InvalidPartyIdentifierType | This message occurs as a response to the API call made, when the entered identifier of the customer is not among the accepted types. | Check for the partyIdentifierType parameter sent in the request body of the API and enter a valid identifier. |
Place a consent request | 400 | InvalidPartyIdentifierValue | This message occurs as a response to the API call made, when the entered value of the partyIdentifierValue parameter is either incorrect or invalid | Check for the value entered for partyIdentifierValue and partyIdentifierType parameter and enter a valid value corresponding to the identifier Type. |
Place a consent request | 400 | InvalidaccountID | This message occurs as a response to the API call made, when the entered value for accountId parameter is either incorrect or invalid or when there is no entry of accountId | Check for the accountId parameter sent in the request body of the API and enter a valid one. |
Place a consent request | 400 | InvalidProductID | This message occurs as a response to the API call made, when the productId parameter is either incorrectly entered or is invalid or when there is no entry at all. | Check for the productId parameter sent in the request body of the API and enter a valid one. |
Get consents list | 400 | InvalidPartyIdentifierType | This message occurs as a response to the API call made, when the entered identifier of the customer is not among the accepted types. | Check for the partyIdentifierType parameter sent in the request body of the API and enter a valid identifier. |
Get consents list | 400 | InvalidPartyIdentifierValue | This message occurs as a response to the API call made, when the entered value of the partyIdentifierValue parameter is either incorrect or invalid | Check for the value entered for partyIdentifierValue and partyIdentifierType parameter and enter a valid value corresponding to the identifier Type. |
Get consents list | 400 | InvalidaccountID | This message occurs as a response to the API call made, when the entered value for accountId parameter is either incorrect or invalid or when there is no entry of accountId | Check for the accountId parameter sent in the request body of the API and enter a valid one. |
Get consents list | 400 | InvalidProductID | This message occurs as a response to the API call made, when the productId parameter is either incorrectly entered or is invalid or when there is no entry at all. | Check for the productId parameter sent in the request body of the API and enter a valid one. |
Revoke Consent | 400 | InvalidConsentID | This message occurs as a response to the API call made, when the entered consentID parameter entered is either incorrect or invalid. | Use Get Consents List API to get a valid consentID parameter. |
Get Balance | 400 | InvalidConsentID | This message occurs as a response to the API call made, when the consentID parameter entered is either incorrect or invalid. | Use Get Consents List API to get a valid consentID parameter. |
Get Balance | 404 | NoDataFound | This message occurs as a response to the API call made, when the data requested is not available. | The data might have been purged, use Place a Consent Request API to raise a consent. |
Get Balance | InvalidLinkReferenceNumber | This message occurs as a response to the API call made, when the linkReferenceNumber parameter entered is either incorrect or invalid. | Use Get Consents List API to get a valid linkReferenceNumber parameter linked to the consentID parameter. | |
Get Transactions | 400 | InvalidConsentID | This message occurs as a response to the API call made, when the consentID parameter entered is either incorrect or invalid. | Use Get Consents List API to get a valid consentID parameter. |
Get Transactions | 400 | InvalidLinkReferenceNumber | This message occurs as a response to the API call made, when the linkReferenceNumber parameter entered is either incorrect or invalid. | Use Get Consents List API to get a valid linkReferenceNumber parameter linked to the consentID parameter. |
Get Transactions | 404 | NoDataFound | This message occurs as a response to the API call made, when the data requested is not available. | The data might have been purged, use Place a Consent Request API to raise a consent. |
Get Account Statement | 400 | InvalidConsentID | This message occurs as a response to the API call made, when the consentID parameter entered is either incorrect or invalid. | Use Get Consents List API to get a valid consentID parameter. |
Get Account Statement | 404 | NoDataFound | This message occurs as a response to the API call made, when the data requested is not available. | The data might have been purged, use Place a Consent Request API to raise a consent. |
Get GST data | 400 | InvalidConsentID | This message occurs as a response to the API call made, when the consentID parameter entered is either incorrect or invalid. | Use Get Consents List API to get a valid consentID parameter. |
Get GST data | 404 | NoDataFound | This message occurs as a response to the API call made, when the data requested is not available. | The data might have been purged, use Place a Consent Request API to raise a consent. |