Skip to main content

Contract termination

Requests the termination of an active or expired contract. Only the manager makes the request, and QI Tech decides.

  • The contract cannot have an amendment in progress or another termination request awaiting review.
  • While the request is under review, the contract does not change status.
  • If the termination agreement was signed outside the platform, add it as an attachment.
Request statusDescription
pending_analysisAwaiting QI Tech review. There can be only one request in this status per contract.
approvedApproved. The contract becomes reproved with reproval_reason: termination_agreement, and the recurrences are ended.
reprovedRejected, with the reason in reproval_details. The contract stays as it was, and a new request can be made.

There is no call to withdraw a request under review. Track the request in terminations in the contract retrieval.

Request termination​

Available on
ProfileHostRequired permission
Managermanager-apiWrite

Base URL for each host: Environments (Hosts).

ENDPOINT
/expense_contract/fund_class/{fund_class_key}/contract/{contract_key}/termination
METHOD
POST

Path parameters​

ParameterTypeDescription
fund_class_keystringFund class key (UUID).
contract_keystringContract key (UUID).
Request body
{
"termination_details": "Distrato amigável a partir de 31/12/2026."
}

Body attributes​

The JSON body is required, even if empty: send {} when there are no details.

FieldTypeRequiredDescription
termination_detailsstringNoReason and terms of the termination, from 1 to 1000 characters.

Response​

STATUS
201

The contract, not the request, in the structure described in contract attributes. The request appears in terminations.

Response excerpt
{
"contract_key": "3f2b8c1e-7d4a-4e9b-9a61-0c5d2e8f4b17",
"status": "active",
"terminations": [
{
"termination_key": "e1f2a3b4-c5d6-4e7f-8a9b-0c1d2e3f4a5b",
"status": "pending_analysis",
"termination_details": "Distrato amigável a partir de 31/12/2026.",
"reproval_details": null,
"created_at": "2026-11-09T15:01:44.230118"
}
]
}

Errors​

StatuscodeWhen it happens
400QIT000001Request without a JSON body, termination_details outside 1 to 1000 characters, or unexpected field.
404ECT000005The fund class does not exist or you do not have access to it.
404ECT000009The contract does not exist in this fund class.
409ECT000063The contract is neither active nor expired.
409ECT000064A termination request is already awaiting review.
409ECT000062An amendment to the contract is in progress. Cancel the amendment before requesting the termination.
409ECT000046The contract was created by QI Tech during fund structuring and does not accept this call.
Example
{
"title": "Contract not terminable",
"description": "A contract in status pending_signature cannot be terminated.",
"translation": "Um contrato com status pending_signature nao pode ser encerrado.",
"code": "ECT000063"
}

Authentication, permission and host errors: see API Errors.