Skip to main content

Manager decision on a consultant's contract

Approves or rejects a contract posted by a consultant linked to the fund. After the QI Tech review, that contract waits for the manager's decision in pending_manager_approval. Contracts posted by the manager itself do not go through this step.

To find the contracts awaiting the manager, filter the contract list by status=pending_manager_approval.

Approve or reject​

Available on
ProfileHostRequired permission
Managermanager-apiWrite

Base URL for each host: Environments (Hosts).

ENDPOINT
/expense_contract/fund_class/{fund_class_key}/contract/{contract_key}/status
METHOD
PUT

Path parameters​

ParameterTypeDescription
fund_class_keystringFund class key (UUID).
contract_keystringContract key (UUID).
Request body — rejection
{
"status": "reproved",
"reproval_details": "Valor acima do orçado para o exercício."
}

Body attributes​

FieldTypeRequiredDescription
statusstringYesapproved or reproved.
reproval_detailsstringNoRejection reason, from 1 to 1000 characters. Cannot be sent with approved.

Response​

STATUS
200

The contract, in the structure described in contract attributes.

  • Rejected: status: reproved, with reproval_reason: manager_reproval.
  • Approved: the contract moves to
    • pending_vendor_approval, if the vendor's registration has not been approved yet;
    • active, if signature_method is external;
    • pending_signature, in all other cases.

Errors​

StatuscodeWhen it happens
400QIT000001status other than approved and reproved, or reproval_details sent with approved.
404ECT000005The fund class does not exist or you do not have access to it.
404ECT000009The contract does not exist in this fund class.
409ECT000023The contract is not in pending_manager_approval.
409ECT000030Approval: the manager does not have a signer group registered in the portal, or the vendor does not have a valid signer group.
Example
{
"title": "Invalid status change",
"description": "A contract in status in_manual_analysis cannot change to approved through this route.",
"translation": "Um contrato com status in_manual_analysis nao pode mudar para approved por esta rota.",
"code": "ECT000023"
}

Authentication, permission and host errors: see API Errors.