Before you start
Send Accept: application/json and Authorization: Bearer YOUR_TOKEN to https://{subdomain}.talentohq.com. See API for authentication.
Path and query identifiers are UUID strings.
Successful responses use 200. Validation failures use 422. Missing or invalid tokens, and records that cannot be found, use 401.
List all expenses
GET /api/v3/expenses
Returns accessible expenses. The query parameters below are optional.
| Parameter | Type | Description |
|---|---|---|
expense_category_id |
string (UUID) | Expense category id. |
period |
string | Period. |
start_date |
string | Start date. |
end_date |
string | End date. |
status |
string |
approved, rejected, or pending. |
employee_id |
string (UUID) | Employee id. |
team_id |
string (UUID) | Team id. |
office_id |
string (UUID) | Office id. |
Response 200
[
{
"id": "e269dd36-bb60-41ac-9242-6ec7afe4c640",
"expense_category_id": "fc1b1403-0e47-4e6f-83f1-9734c5ab717f",
"expense_category_name": "Travel",
"employee_id": "3ed57043-3894-43e9-a03b-69883506a3d6",
"employee_name": "Employee name",
"task_id": null,
"task_name": null,
"name": "Hotel",
"reference": "reference",
"description": "Hotel room for business travel, 2 nights",
"generated_on": "2025-03-31",
"distance": "distance",
"total": "255.0",
"tax_amount": "22.5",
"currency": "eur"
},
{
"id": "14902d70-c2f8-4796-8d33-cb996e1702b2",
"expense_category_id": "fc1b1403-0e47-4e6f-83f1-9734c5ab717f",
"expense_category_name": "Travel",
"employee_id": "3ed57043-3894-43e9-a03b-69883506a3d6",
"employee_name": "Employee name",
"task_id": "4ed57643-3894-43e9-a03b-69883506a3d6",
"task_name": "Visit new customer",
"name": "Gas",
"reference": "reference",
"description": "Hotel room for business travel, 2 nights",
"generated_on": "2025-03-31",
"distance": "distance",
"total": "76.7",
"tax_amount": "8.7",
"currency": "eur"
}
]
Create an expense
POST /api/v3/expenses
Request
{
"expense_category_id": "fc1b1403-0e47-4e6f-83f1-9734c5ab717f",
"employee_id": "3ed57043-3894-43e9-a03b-69883506a3d6",
"task_id": "4ed57643-3894-43e9-a03b-69883506a3d6",
"name": "New expense",
"reference": "reference",
"description": "New expense description.",
"generated_on": "2024-05-26",
"distance": "distance",
"total": "100.0",
"tax_amount": "10.0",
"files": []
}
Response 200
{
"id": "e269dd36-bb60-41ac-9242-6ec7afe4c640",
"expense_category_id": "fc1b1403-0e47-4e6f-83f1-9734c5ab717f",
"expense_category_name": "Travel",
"employee_id": "3ed57043-3894-43e9-a03b-69883506a3d6",
"employee_name": "Employee name",
"task_id": "4ed57643-3894-43e9-a03b-69883506a3d6",
"task_name": "Visit new customer",
"name": "New expense",
"reference": "reference",
"description": "Hotel room for business travel, 2 nights",
"generated_on": "2025-03-31",
"distance": "distance",
"total": "100.0",
"tax_amount": "10.0",
"currency": "eur"
}
Show an expense
GET /api/v3/expenses/{expense_id}
| Parameter | Type | Description |
|---|---|---|
expense_id |
string (UUID) | Expense id. |
Response 200
{
"id": "e269dd36-bb60-41ac-9242-6ec7afe4c640",
"expense_category_id": "fc1b1403-0e47-4e6f-83f1-9734c5ab717f",
"expense_category_name": "Travel",
"employee_id": "3ed57043-3894-43e9-a03b-69883506a3d6",
"employee_name": "Employee name",
"task_id": "4ed57643-3894-43e9-a03b-69883506a3d6",
"task_name": "Visit new customer",
"name": "Gas",
"reference": "reference",
"description": "Hotel room for business travel, 2 nights",
"generated_on": "2025-03-31",
"distance": "distance",
"total": "255.0",
"tax_amount": "22.5",
"currency": "eur"
}
Update an expense
PUT /api/v3/expenses/{expense_id}
Request
{
"name": "Updated expense",
"reference": "reference",
"description": "Updated expense description.",
"generated_on": "2022-05-26",
"distance": "distance",
"total": "150.0",
"tax_amount": "15.0",
"files": []
}
Response 200
{
"id": "e269dd36-bb60-41ac-9242-6ec7afe4c640",
"expense_category_id": "fc1b1403-0e47-4e6f-83f1-9734c5ab717f",
"expense_category_name": "Travel",
"employee_id": "3ed57043-3894-43e9-a03b-69883506a3d6",
"employee_name": "Employee name",
"task_id": null,
"task_name": null,
"name": "Updated expense",
"reference": "reference",
"description": "Hotel room for business travel, 2 nights",
"generated_on": "2025-03-31",
"distance": "distance",
"total": "150.0",
"tax_amount": "15.0",
"currency": "eur"
}
Delete an expense
DELETE /api/v3/expenses/{expense_id}
Response 200
{}