---
title: "Reads a single Expensable"
method: GET
path: "/api/2026-10-01/resources/expenses/expensables/{id}"
tags: ["Expenses > Expensable"]
---

# Reads a single Expensable

`GET /api/2026-10-01/resources/expenses/expensables/{id}`

## Request

- Base URL: `https://api.factorialhr.com`
- URL: `https://api.factorialhr.com/api/2026-10-01/resources/expenses/expensables/{id}`
- Auth: one of:
  - OAuth 2
    - Authorization code: `https://id.factorialhr.com/oauth/authorize`
    - Token URL: `https://id.factorialhr.com/api/oauth/token` scopes: `expenses`
  - API key in header `x-api-key`

Reads a single Expensable

## Path parameters

- `id` string, required

## Response `200`

OK

- ExpensesExpensable
  - `id` string, required: Unique identifier for the expensable
  - `type` 'expense' | 'mileage' | 'perdiem', required: Type of the expensable. Can be either "expense" or "mileage" or "perdiem"
  - `company_id` string, required: The ID of the company that owns the expensable
  - `employee_id` string, required: The ID of the employee that owns the expensable
  - `group_id` string: The ID of the expense report (group of expensables submitted together) this expensable was submitted in, if any
  - `legal_entity_id` string: The optional ID of the legal entity that the expensable belongs to
  - `created_at` string, required: The date and time when the expensable was created
  - `amount` integer: The optional amount in cents
  - `currency` string, required: The currency code in ISO 4217 format
  - `status` 'pending' | 'changes_requested' | 'approved' | 'paid' | 'rejected' | 'reversed' | 'draft' | 'in_payroll' | 'sent_to_pay', required: The lifecycle status of the expensable in the review/payment flow
  - `description` string: The optional description of the expensable
  - `reporter_id` string: The optional ID of the employee that reported the expensable
  - `status_updated_at` string, required: The optional date and time when the status was last updated
  - `effective_on` string: The optional date and time when the expensable was effective
  - `review_request_at` string: The date and time the expensable was submitted for review. Null while it is a draft; set at submission and never cleared afterwards. Compare it with `effective_on` to measure how late a document was submitted.
  - `paid_at` string: The optional date and time when the expensable was set as paid
  - `updated_at` string, required: The date and time when the expensable was last updated
  - `reimbursable_amount` integer: The optional reimbursable amount in cents
  - `reimbursable_currency` string: The optional reimbursable currency code in ISO 4217 format
  - `reimbursement_method` 'unknown' | 'sepa_transfer' | 'payroll': The optional reimbursement method
  - `internal_reference` string: The optional internal reference of the expensable
  - `expense_id` string: The ID of the receipt-backed expense detail record; set only when `type` is "expense"
  - `mileage_id` string: The ID of the mileage claim detail record; set only when `type` is "mileage"
  - `per_diem_id` string: The ID of the per-diem allowance detail record; set only when `type` is "perdiem"
  - `budget_id` string: The ID of the budget this expensable draws from, when one is linked
  - `project_id` string: The ID of the project this expensable is charged to, when one is linked
  - `cost_center_ids` string[], required: The IDs of the cost centers the expensable's cost is allocated to

## Changes

- **2026-11-03** `83ac9aa1de50`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/factorialhr/apis/factorial-api/changes/api/2026-10-01/resources/expenses/expensables/:id/get.md)

---

[API](https://skmtc.dev/factorialhr/apis/factorial-api.md) - [All operations](https://skmtc.dev/factorialhr/apis/factorial-api/llms.txt) - [OpenAPI document](https://skmtc.dev/factorialhr/apis/factorial-api/revisions/83ac9aa1de50?raw)
