---
title: "Retrieve a single expense by id"
method: GET
path: "/expenses/{id}"
tags: ["Expenses"]
---

# Retrieve a single expense by id

`GET /expenses/{id}`

## Request

- Base URL: `https://app.hireart.com/api/v2`
- URL: `https://app.hireart.com/api/v2/expenses/{id}`
- Auth: HTTP bearer

## Path parameters

- `id` string, required

## Response `200`

Successful response

- Expense
  - `object` 'expense', required
  - `id` string, required
  - `worker_id` string, nullable
  - `assignment_id` string, nullable
  - `amount_cents` integer, nullable
  - `currency` string, nullable
  - `status` 'paid' | 'direct_paid' | 'approved' | 'rejected' | 'submitted' | 'null', nullable
  - `status_changed_at` string, date-time, nullable
  - `submitted_at` string, date-time, nullable
  - `expense_date` string, date, nullable
  - `category` string, nullable
  - `description` string, nullable
  - `approved_by` PersonSummary
    - `object` 'person', required
    - `id` string, required
    - `full_name` string, nullable
    - `first_name` string, nullable
    - `last_name` string, nullable
    - `email` string, nullable
    - `phone` string, nullable
  - `pay_cycle_id` string, nullable

## Other responses

- `401`: Unauthorized
- `404`: Not found
- `429`: Rate limit exceeded (100 requests per 60 seconds per API key)
- `500`: Internal server error

---

[API](https://skmtc.dev/hireart/apis/hireart-api.md) - [All operations](https://skmtc.dev/hireart/apis/hireart-api/llms.txt) - [OpenAPI document](https://skmtc.dev/hireart/apis/hireart-api/revisions/41935c8fd584?raw)
