data[], each entry wrapped in an Expense object, plus a pagination summary. Only expense records are returned (income records are served by the separate incomes endpoints).sort/direction. Some filters depend on the account's configuration or enabled plugins, as noted per parameter.curl --location --globoff 'https://.daftara.com/api2/expenses.json?limit=undefined&page=undefined&sort=&direction=&id=&expense_number=&date_from=&date_to=&created_from=&created_to=&amount_from=&amount_to=¬e=&expense_category_id=&vendor=&client_id=&journal_account_id=&status=&work_order_id=&recurring_expense_id=&creation_method=&staff_id=&is_mileage=' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer ' \
--header 'apikey: ' \
--header 'Content-Type: application/json'{
"result": "successful",
"code": 200,
"data": [
{
"Expense": {
"id": 2415,
"amount": 1500,
"currency_code": "EGP",
"vendor": "AWS",
"category": "Hosting",
"date": "2026-06-09",
"file": "string",
"note": "string",
"client_id": 0,
"supplier_id": 0,
"staff_id": 0,
"site_id": 0,
"recurring_expense_id": 0,
"created": "2026-06-09 12:00:00",
"modified": "string",
"tax1_id": 0,
"tax1_name": "string",
"tax1_value": 0,
"tax1_amount": 0,
"tax1_included": 0,
"tax2_id": 0,
"tax2_name": "string",
"tax2_value": 0,
"tax2_amount": 0,
"tax2_included": 0,
"total": 1500,
"is_income": 0,
"treasury_id": 1,
"work_order_id": 0,
"source_id": 0,
"source_type": "string",
"expense_category_id": 0,
"journal_account_id": 0,
"branch_id": 1,
"expense_number": "00051",
"accounts_data": "string",
"external_source": "web",
"last_update_external_source": "string",
"status": "draft",
"extra_details": "string",
"attachments": [
"string"
]
}
}
],
"pagination": {
"prev": "/api2/expenses?page=1",
"next": "/api2/expenses?page=3",
"page": 2,
"page_count": 5,
"total_results": 98
}
}