Expense retrieval by key
Retrieves an expense by key, with its documents and the status history of the expense and of its consolidation analyses. To list expenses with filters, see Expense retrieval.
Retrieve an expense by key
| Profile | Host | Required permission |
|---|---|---|
| Manager | manager-api | Read |
| Consultant | consultant-api | Read Expenses or Read Consolidations |
Base URL for each host: Environments (Hosts).
Path parameters
| Parameter | Type | Description |
|---|---|---|
fund_class_key | string | Fund class key (UUID). |
expense_key | string | Expense key (UUID). |
Response
The response returns the list fields up to payment_confirmation, plus consolidation_analysis, contract, rebated_expense_key, permission_type and the fields below. It does not return rebate, gross_provisioned_value or approved_rebate_value.
{
"expense_key": "b7f1c8e2-5a7d-4c7f-9a0e-2c3d4e5f6a7b",
"status": "pre_approved",
"is_reimbursement": false,
"reimbursement_recipient": null,
"reproval_reason": null,
"reproval_details": null,
"documents": [
{
"document_key": "d4e5f6a7-b8c9-4123-def4-567890abcdef",
"name": "memoria_de_calculo.pdf",
"document_type": "calculation_memory",
"status": "in_manual_analysis"
}
],
"status_events": [
{
"status": "created",
"event_datetime": "2026-11-03T14:03:21Z",
"author_type": "manager",
"author_name": "Maria Souza"
},
{
"status": "pending_submission",
"event_datetime": "2026-11-03T14:03:21Z",
"author_type": "manager",
"author_name": "Maria Souza"
},
{
"status": "pre_approved",
"event_datetime": "2026-11-03T14:05:02Z",
"author_type": "manager",
"author_name": "Maria Souza"
}
],
"consolidation_status_events": [
{
"analysis_number": 1,
"status": "created",
"event_datetime": "2026-11-03T14:03:21Z",
"author_type": "manager",
"author_name": "Maria Souza",
"reproval_reason": null,
"reproval_details": null
},
{
"analysis_number": 1,
"status": "pending_submission",
"event_datetime": "2026-11-03T14:03:21Z",
"author_type": "manager",
"author_name": "Maria Souza",
"reproval_reason": null,
"reproval_details": null
}
]
}
| Field | Type | Description |
|---|---|---|
is_reimbursement | boolean | true when the expense is a reimbursement. |
reimbursement_recipient | string | manager or consultant on a reimbursement; otherwise null. |
reproval_reason | string | Reason the expense was rejected, or null. |
reproval_details | string | Rejection details, or null. |
documents | array | Expense documents: document_key, name, document_type, status. To download, the manager uses document retrieval; the consultant downloads those of the consolidation analysis. |
recurrence | object | Only on expenses with origin recurring_expense: recurring_expense_key, status, start_date, end_date, contract_key. |
status_events | array | Expense status changes, from oldest to newest: status, event_datetime, author_type, author_name. For expenses posted by the manager or consultant, the first event is created. |
consolidation_status_events | array | Status changes of all consolidation analyses: analysis_number, status, event_datetime, author_type, author_name, reproval_reason, reproval_details. Each analysis starts with created and pending_submission. The rejection fields are returned only on the last reproved event of each analysis. |
author_type is manager or consultant when a portal user made the change; their name comes in author_name. In all other cases (automatic transitions, QI Tech decisions and API calls made with an integration key), it is qitech, with author_name: null.
Errors
| Status | code | When it happens |
|---|---|---|
| 400 | EXP000069 | The fund class does not belong to the manager. |
| 404 | EXP000010 | The expense_key does not exist in that fund class. |
{
"title": "Manager Not Associated with Fund Class",
"description": "Manager with key a7498c6c-1893-42ec-a8f3-bc6ad0c6b52c is not associated with Fund Class with key c1d2e3f4-a5b6-4789-abcd-ef1234567890.",
"translation": "Gestor com chave a7498c6c-1893-42ec-a8f3-bc6ad0c6b52c nao esta associado com Fundo com chave c1d2e3f4-a5b6-4789-abcd-ef1234567890.",
"code": "EXP000069"
}
Authentication, permission and host errors: see API Errors.