Portfolio - Approval
Approves or rejects the validation portfolio. Only accepted for portfolios in the pending_confirmation status — the status the portfolio is in when it is ready for review and in which the manager receives the status change webhook.
Available on
| Profile | Host | Required permission |
|---|---|---|
| Manager | manager-api | Write |
Base URL for each host: Environments (Hosts).
Request
ENDPOINT
/composition/fund_class/FUND_CLASS_KEY/composition/COMPOSITION_KEYMETHOD
PUTRequest Body — approve
{
"new_status": "confirmed"
}
Request Body — reject
{
"new_status": "reproved_by_agent",
"reproved_reason": "Cota divergente do controle interno da gestora."
}
| Field | Type | Required | Description |
|---|---|---|---|
new_status | string | Yes | New status of the portfolio. See enumerators below. |
reproved_reason | string | Yes, when new_status is reproved_by_agent | Reason for the rejection, from 1 to 255 characters. |
"new_status" Enumerators
| Enumerator | Description |
|---|---|
confirmed | Approves the portfolio. |
reproved_by_agent | Rejects the portfolio, recording the reason sent in reproved_reason. |
reproved | Rejects the portfolio without requiring a reason. Prefer reproved_by_agent. |
The rejection reason is recorded in the portfolio history: the status_events field of the portfolio query returns each status change with its metadata.
Response
On success, the API returns 204 No Content, with no body. Query the portfolio to see the new status.
Errors
| Status | Code | When it happens |
|---|---|---|
| 404 | CMP000013 | The portfolio is not in pending_confirmation (it has already been approved, rejected or is still being processed). |
| 404 | CMP000010 | new_status other than confirmed, reproved_by_agent or reproved. |
| 404 | CMP000025 | new_status is reproved_by_agent and reproved_reason was not sent. |
| 404 | CMP000012 | There is no portfolio with this composition_key in the given class. |
| 404 | CMP000001 | There is no class with this fund_class_key. |
| 409 | CMP000022 | Another portfolio of the same class, date and type already exists in the requested status. |
| 400 | QIT000001 | Body outside the contract: new_status missing or outside the accepted values, or an unexpected field. |
| 400 | QIT000004 | The fund_class_key belongs to a class of another manager. |
Authentication, permission and host errors: see API Errors.