Create Redemption Request
Creates a redemption request for the quotas your fund class holds in another fund (invested issuance series) and lets you approve or cancel the request.
| Profile | Host | Required permission |
|---|---|---|
| Manager | manager-api | Write |
| Consultant | consultant-api | Create Applications and Redemptions |
Base URL for each host: Environments (Hosts).
Request
FUND_CLASS_KEY is the key of your fund class, the one that holds the quotas.
{
"issuance_serie_key": "<issuance_serie_key>",
"external_id": "3f1c2a9e-8b7d-4c6e-9a5f-1d2e3c4b5a60",
"amount": 50000.00,
"quotation_date": "2026-10-08"
}
Body params
| Field | Type | Description | Required |
|---|---|---|---|
issuance_serie_key | string | Key of the invested issuance series (36 characters). The series must be open-ended (open_ended). | Yes |
external_id | string | Your identifier for the request, exactly 36 characters long (a UUID). Unique: a second request with the same value is refused with TFQ000048. | Yes |
amount | number | Redemption amount, greater than zero. In internal series it is treated as the net amount. Required when redeem_all is not true. | Conditional |
redeem_all | boolean | true to redeem the entire position; in that case amount is not needed. | No |
quotation_date | string | Quotation date (YYYY-MM-DD). Required when the series has quota_calculation_method = quota_value; cannot be earlier than your class's accounting date. In internal series it is ignored. | Conditional |
payment_date | string | Payment date (YYYY-MM-DD), equal to or later than quotation_date. If omitted, quotation_date applies. Only used in quota_value series. | No |
source_account_key | string | account_key of your class's account at the series' financial institution. Required when the series' payment_type is automatic_debit; do not send it when it is transfer. | Conditional |
When the series' payment_type is automatic_debit (usually cash sweep funds), send source_account_key: the account must be open and belong to the same financial institution as the series. Retrieve the key in Retrieving account information.
If an error occurs, resend the request: if the request already exists, the API returns TFQ000048 (409) and does not create another one. In that case, check it in the Paginated redemption query instead of creating it again. See Retry and duplicates.
In quota_value series, the request starts in pending_manager_approval and must be approved (section below). In internal series, it is approved on creation.
Response
The same object is returned by creation, approval and cancellation.
Response Body
{
"redemption_request_key": "<redemption_request_key>",
"external_redemption_request_key": null,
"status": "pending_manager_approval",
"quotation_date": "2026-10-08",
"payment_date": "2026-10-08",
"amount": 50000.0,
"issuance_serie": {
"issuance_serie_key": "<issuance_serie_key>",
"name": "Issuance Serie Name",
"subclass_name": "SUBORDINADA",
"serie": 1,
"quota_calculation_method": "quota_value",
"condominium_type": "open_ended",
"internal_code": "Internal Code",
"fund_class_name": "Fund Class Name",
"fund_class_short_name": "Fund Class Short Name",
"fund_class_document_number": "00.000.000/0000-00",
"minimum_share_capital": 0.0,
"investment_category": "fixed_income",
"asset_type": "fixed_income_fund_quota",
"payment_type": "automatic_debit",
"status": "active",
"financial_institution_code": "329",
"account_data": {
"account_digit": "0",
"account_branch": "0001",
"account_number": "12345",
"financial_institution_code": "329",
"financial_institution_ispb": "00000000"
},
"last_updated_date": "2026-10-07",
"administrator": {
"administrator_key": "<administrator_key>",
"name": "Administrator Name",
"document_number": "00.000.000/0000-00",
"status": "active"
},
"operation_periods": {
"redemption_request": {
"payment": { "days": 1, "type": "until", "calendar_base": "calendar_365" },
"quotation": { "days": 1, "type": "fixed", "calendar_base": "calendar_365" }
},
"financial_application": {
"payment": { "days": 0, "type": "fixed", "calendar_base": "workdays" },
"quotation": { "days": 0, "type": "fixed", "calendar_base": "workdays" }
}
}
},
"fund_class": {
"fund_class_key": "<fund_class_key>",
"name": "Fund Class Name",
"short_name": "Fund Class Short Name",
"document_number": "00.000.000/0000-00",
"accounting_date": "2026-10-07",
"investor_key": "<investor_key>",
"distributor": {
"name": "Distributor Name",
"distributor_key": "<distributor_key>",
"document_number": "00.000.000/0000-00"
},
"manager": {
"manager_key": "<manager_key>",
"manager_name": "Manager Name",
"document_number": "00.000.000/0000-00"
}
}
}
redeem_all appears (as true) when the request is a full redemption; cash_expectation appears once the cash expectation has been created. The external_id you sent is not returned. Each field is described in Paginated redemption query.
Possible statuses: created, pending_manager_approval, pending_distributor_approval, pending_external_approval, pending_quotation, quoted, mismatched_external_data, canceled, confirmed, quotation_reversed.
Approve redemption request
Approves a request in pending_manager_approval. No body.
The PUT /trade_fund_quota/fund_class/FUND_CLASS_KEY/redemption_request/REDEMPTION_REQUEST_KEY route, with the body {"status": "pending_external_approval"}, performs the same approval and remains available on the same profiles.
The response is the redemption request object (see Response).
Cancel redemption request
No body. You can cancel the request while it is in pending_manager_approval. After approval, cancellation is done by the administrator, and the API returns TFQ000053.
The response is the redemption request object, with status = canceled.
Errors
| Status | Code | When it happens |
|---|---|---|
| 409 | TFQ000048 | A redemption request with this external_id already exists. |
| 400 | TFQ000039 | quotation_date not sent for a quota_value series. |
| 400 | TFQ000041 | Your class has no active quotas of this series to redeem. |
| 400 | TFQ000046 | payment_date earlier than quotation_date. |
| 400 | TFQ000049 | The series has no calculated quota yet (internal series). |
| 400 | TFQ000050 | quotation_date earlier than your class's accounting date. |
| 400 | TFQ000055 | source_account_key not sent for a series with automatic debit. |
| 400 | TFQ000056 | source_account_key sent for a series with payment_type = transfer. |
| 400 | TFQ000058 | The source_account_key account does not belong to the series' financial institution. |
| 400 | TFQ000061 | The source_account_key account is not open. |
| 400 | TFQ000067 | amount not sent and redeem_all other than true. |
| 400 | TFQ000177 | The series does not accept redemptions (closed-ended). |
| 400 | TFQ000207 | The series' movement window has already closed (approval). |
| 400 | TFQ000052 | Approval of a request not in pending_manager_approval. |
| 400 | TFQ000053 | Cancellation of a request not in pending_manager_approval. |
| 403 | TFQ000054 | The fund class does not belong to your manager. |
| 404 | TFQ000005 | Fund class not found. |
| 404 | TFQ000011 | Issuance series not found. |
| 404 | TFQ000045 | Redemption request not found (cancellation). |
| 404 | TFQ000060 | Redemption request not found (approval). |
Authentication, permission and host errors: see API Errors.