Mutual Funds API
Subscription and Redemption Orders
Subscription and Redemption orders for Mutual Funds (FCI) are requests that investors make to deposit or withdraw money from a fund.
Subscription
- The investor subscribes money in exchange for receiving share units.
- Calculations are performed with the share unit price on the operation day.
Redemption
- The investor requests the redemption of their investment.
- Share units are deregistered and the money resulting from the investment is returned.
- Calculations are performed with the share unit price on the operation day.
Settlement Timeframes
- Redemption settlement timeframes vary according to the Mutual Fund and can be immediate (T+0), within 24 hours (T+1) and up to 48 hours (T+2)
- Subscriptions and Redemptions can be requested every business day according to the Fund's operating hours.
Order Status
Subscription and Redemption orders can go through different statuses which are described below:
| Status | Description |
|---|---|
| PENDING | Order Pending Business Validations |
| IN_PROGRESS | Order in Progress |
| CANCELLED | Order Cancelled |
| AWAITING_FUNDS | Pending Funding |
| COMPLETED | Order Completed |
| ERROR (*) | Error |
(*) ErrorCode Example: PSP_PRIOR_PARTIAL_REDEMPTION (There is a Partial Redemption prior to the Total Redemption.
Technical Specifications
Data Dictionary
| Parameter | Description | Data Type |
|---|---|---|
| id | Redemption ID | integer |
| mutualFundCafciCode | Fund CAFCI Code | String |
| Name | FCI Name | String |
| currencyIsoCode | ISO Code for currency | String |
| accountHolderNumber | Account holder number | String |
| amount | Amount | number |
| cvu | cvu | String |
| shares | Share Units Quantity | number |
| price | Share Units Price | number |
| lastPriceDate | Last updated price date | String |
| variation | Price Variation | Number |
| status | Status | String |
| operationDate | Execution Date | String |
| settlementDate | Settlement Date | String |
| redemptionSettlementTerm | Redemption in days | Boolean |
| redeemAll | Is total redemption | Boolean |
| assetsDestination | Fund destination | String |
| Coment | A comment | String |
Available Endpoints
1. Mutual Fund Information Query
Get detailed information for any Mutual Fund (FCI).
| Method | URL | Description |
|---|---|---|
GET | /v1/mutual-funds/{cafciCode} | Gets detailed information for an FCI |
URL Parameters
| Parameter | Required | Description |
|---|---|---|
cafciCode | Yes | Fund code |
Responses
200 OK
The request was successful. Returns the fund information.
{
"id": 586,
"cafciCode": "3852",
"name": "MAX MONEY MARKET Clase A",
"currencyIsoCode": "ARS",
"price": 2.339641,
"lastPriceDate": "2024-02-22",
"variation": 0.13,
"redemptionSettlementTerm": 0
}
400 Bad Request
The request could not be processed due to an error in the sent parameters.
{
"statusCode": "string",
"title": "string",
"detail": "string",
"errorCode": "string"
}
500 Internal Server Error
Internal server error.
{
"statusCode": "string",
"title": "string",
"detail": "string",
"errorCode": "string"
}
2. Mutual Fund Holdings and Valuation Query
Get information about holdings (share units quantity) and FCI valuation.
| Method | URL | Description |
|---|---|---|
GET | /v1/mutual-funds-holdings | Gets FCI valuation and holdings |
Query Parameters
| Parameter | Required | Description |
|---|---|---|
Date | Yes | Query date |
accountHolderNumber | Yes | Account holder number |
mutuakFundCafciCode | No | Fund code to query |
currencylsoCode | No | Query currency ISO code |
Responses
200 OK
Mutual Fund holdings and valuation
{
"sharePrice": 2.339641,
"availableShareAmounts": 22656.9232,
"availableValuation": 53009.07,
"unavailableShareAmounts": 0,
"unavailableValuation": 0,
"valuation": 53009.07
}
400 Bad Request
The request could not be processed due to an error in the sent parameters.
{
"statusCode": "string",
"title": "string",
"detail": "string",
"errorCode": "string"
}
403 Forbidden
The request does not have permission for the entered FCI CAFCI Code or Account Holder Number.
{
"statusCode": "string",
"title": "string",
"detail": "string",
"errorCode": "string"
}
500 Internal Server Error
Internal server error.
{
"statusCode": "string",
"title": "string",
"detail": "string",
"errorCode": "string"
}
3. Query Redemption Order
This method allows obtaining detailed information of FCI Redemption Orders.
| Method | URL | Description |
|---|---|---|
GET | /v1/redemptions | Gets redemption orders |
Query Parameters
| Parameter | Required | Description |
|---|---|---|
operationDate | Yes | Operation date |
accountHolderNumber | Yes | Account holder number |
Responses
200 OK
Total Redemption was executed successfully.
{
"id": 125,
"mutualFundCafciCode": 3852,
"currencyIsoCode": "ARS",
"accountHolderNumber": 11772,
"amount": 15000.12,
"shares": 15.12345678,
"price": 2.339641,
"status": "IN_PROGRESS",
"operationDate": "2022-01-25",
"settlementDate": "2022-01-27",
"redeemAll": false,
"assetsDestination": "ECHEQ_ORDER",
"comment": "A comment",
"errorCode": "PSP_PRIOR_PARTIAL_REDEMPTION",
"errorDetail": "There is a partial redemption prior to the total redemption"
}
204 No Content
No Subscriptions exist.
"string"
206 Partial Content
A partial result of the Request is returned.
{
"id": 125,
"mutualFundCafciCode": 3852,
"currencyIsoCode": "ARS",
"accountHolderNumber": 11772,
"amount": 15000.12,
"shares": 15.12345678,
"price": 2.339641,
"status": "IN_PROGRESS",
"operationDate": "2022-01-25",
"settlementDate": "2022-01-27",
"redeemAll": false,
"assetsDestination": "ECHEQ_ORDER",
"comment": "A comment",
"errorCode": "PSP_PRIOR_PARTIAL_REDEMPTION",
"errorDetail": "There is a partial redemption prior to the total redemption"
}
400 Bad Request
The request could not be processed due to an error in the sent parameters.
{
"statusCode": "string",
"title": "string",
"detail": "string",
"errorCode": "string"
}
404 Not Found
The response list is not tolerated by the API values.
"string"
500 Internal Server Error
Internal server error.
{
"statusCode": "string",
"title": "string",
"detail": "string",
"errorCode": "string"
}
3.1. Query Redemption Order by ID
Gets detailed information of a specific Redemption Order by its ID.
| Method | URL | Description |
|---|---|---|
GET | /v1/redemptions/{id} | Gets a redemption order by ID |
URL Parameters
| Parameter | Required | Description |
|---|---|---|
id | Yes | Redemption order ID |
Responses
200 OK
Redemption Order returned correctly.
{
"id": 125,
"mutualFundCafciCode": 3852,
"currencyIsoCode": "ARS",
"accountHolderNumber": 11772,
"amount": 15000.12,
"shares": 15.12345678,
"price": 2.339641,
"status": "IN_PROGRESS",
"operationDate": "2022-01-25",
"settlementDate": "2022-01-27",
"redeemAll": false,
"assetsDestination": "ECHEQ_ORDER",
"comment": "A comment",
"errorCode": "PSP_PRIOR_PARTIAL_REDEMPTION",
"errorDetail": "There is a partial redemption prior to the total redemption"
}
400 Bad Request
The request could not be processed due to an error in the sent parameters.
{
"statusCode": "string",
"title": "string",
"detail": "string",
"errorCode": "string"
}
404 Not Found
Redemption Order Not Found.
"string"
500 Internal Server Error
Internal server error.
{
"statusCode": "string",
"title": "string",
"detail": "string",
"errorCode": "string"
}
3.2. Create Redemption Order
This method allows creating a Redemption Order to a Mutual Fund.
| Method | URL | Description |
|---|---|---|
POST | /v1/redemptions | Creates a redemption order |
Request Body
{
"mutualFundCafciCode": 3852,
"currencyIsoCode": "ARS",
"accountHolderNumber": 11772,
"amount": 15000.12,
"shares": 15.12345678,
"redeemAll": false,
"assetsDestination": "ECHEQ_ORDER",
"comment": "A comment"
}
4. Query Subscription Order
This method allows obtaining detailed information of FCI Subscription Orders.
| Method | URL | Description |
|---|---|---|
GET | /v1/subscriptions | Gets subscription orders |
Query Parameters
| Parameter | Required | Description |
|---|---|---|
operationDate | Yes | Operation date |
accountHolderNumber | Yes | Account holder number |
Responses
200 OK
Total Subscriptions returned correctly.
{
"id": 125,
"mutualFundCafciCode": 3852,
"currencyIsoCode": "ARS",
"accountHolderNumber": 11772,
"amount": 15000.12,
"shares": 15.12345678,
"price": 2.339641,
"status": "IN_PROGRESS",
"operationDate": "2022-01-25",
"cvu": "0000003100059118503787"
}
204 No Content
No Subscriptions exist.
"string"
206 Partial Content
A partial result of the Request is returned.
{
"id": 125,
"mutualFundCafciCode": 3852,
"currencyIsoCode": "ARS",
"accountHolderNumber": 11772,
"amount": 15000.12,
"shares": 15.12345678,
"price": 2.339641,
"status": "IN_PROGRESS",
"operationDate": "2022-01-25",
"cvu": "0000003100059118503787"
}
400 Bad Request
The request could not be processed due to an error in the sent parameters.
{
"statusCode": "string",
"title": "string",
"detail": "string",
"errorCode": "string"
}
404 Not Found
The response list is not tolerated by the API values.
"string"
500 Internal Server Error
Internal server error.
{
"statusCode": "string",
"title": "string",
"detail": "string",
"errorCode": "string"
}
4.1. Query Subscription Order by ID
Gets detailed information of a specific Subscription Order by its ID.
| Method | URL | Description |
|---|---|---|
GET | /v1/subscriptions/{id} | Gets a subscription order by ID |
URL Parameters
| Parameter | Required | Description |
|---|---|---|
id | Yes | Subscription order ID |
Responses
200 OK
Subscription returned correctly.
{
"id": 125,
"mutualFundCafciCode": 3852,
"currencyIsoCode": "ARS",
"accountHolderNumber": 11772,
"amount": 15000.12,
"shares": 15.12345678,
"price": 2.339641,
"status": "IN_PROGRESS",
"operationDate": "2022-01-25",
"cvu": "0000003100059118503787"
}
400 Bad Request
The request could not be processed due to an error in the sent parameters.
{
"statusCode": "string",
"title": "string",
"detail": "string",
"errorCode": "string"
}
404 Not Found
Subscription Not Found.
"string"
500 Internal Server Error
Internal server error.
{
"statusCode": "string",
"title": "string",
"detail": "string",
"errorCode": "string"
}
4.2. Create Subscription Order
This method allows creating a Subscription Order to a Mutual Fund.
| Method | URL | Description |
|---|---|---|
POST | /v1/subscriptions | Creates a subscription order |
Request Body
{
"mutualFundCafciCode": 3852,
"currencyIsoCode": "ARS",
"accountHolderNumber": 11772,
"amount": 15000.12,
"cvu": "0000003100059118503787"
}
4.3. Create Batch Subscription Order
This method allows creating a Batch Subscription Order to a Mutual Fund.
| Method | URL | Description |
|---|---|---|
POST | /v1/subscriptions/batch | Creates batch subscription orders |
Request Body
{
"subscriptions": [
{
"mutualFundCafciCode": 3852,
"currencyIsoCode": "ARS",
"accountHolderNumber": 11772,
"amount": 15000.12,
"cvu": "0000003100059118503787"
}
],
"totalAmount": 0
}
4.4. Batch Subscription Orders Creation Confirmation
This method allows confirming the creation of Batch Subscription Orders.
| Method | URL | Description |
|---|---|---|
POST | /v1/subscriptions/batch/{batchId}/confirmation | Confirms batch subscriptions |
URL Parameters
| Parameter | Required | Description |
|---|---|---|
batchId | Yes | Batch ID to confirm |
Responses
200 OK
Batch Subscription Confirmed.
{
"id": 0,
"status": "PENDING",
"operationDate": "2025-04-01",
"subscriptions": [
{
"id": 125,
"mutualFundCafciCode": 3852,
"currencyIsoCode": "ARS",
"accountHolderNumber": 11772,
"amount": 15000.12,
"shares": 15.12345678,
"price": 2.339641,
"status": "IN_PROGRESS",
"operationDate": "2022-01-25",
"cvu": "0000003100059118503787"
}
],
"totalAmount": 0
}
400 Bad Request
The request could not be processed due to an error in the sent parameters.
{
"statusCode": "string",
"title": "string",
"detail": "string",
"errorCode": "string"
}
422 Unprocessable Entity
The Subscription Request does not comply with a business rule.
{
"statusCode": "string",
"title": "string",
"detail": "string",
"errorCode": "string"
}
500 Internal Server Error
Internal server error.
{
"statusCode": "string",
"title": "string",
"detail": "string",
"errorCode": "string"
}
Additional Notes
- Authentication: All requests require a valid JWT token in the
Authorizationheader. - Versioning: All endpoints belong to version
v1of the API, as indicated in the URL (/v1/).