---
title: "Retrieve a statement"
method: GET
path: "/v1/links/{link_id}/statements/{statement_id}/"
tags: ["Pay Statements"]
---

# Retrieve a statement

`GET /v1/links/{link_id}/statements/{statement_id}/`

Get the pay statement

## Response `200`

- Statement — Pay stub data
  - `id` string — Unique ID
  - `check_number` string, string, nullable — External ID of pay stub from the payroll provider
  - `pay_date` string, date, required — Pay Date
  - `net_pay` string, decimal, nullable — Net pay
  - `net_pay_ytd` string, decimal, nullable — Net pay year to date
  - `gross_pay` string, decimal, nullable — Gross pay
  - `gross_pay_ytd` string, decimal, nullable — Gross pay year to date
  - `bonus` string, decimal, nullable — Bonus
  - `commission` string, decimal, nullable — Commission
  - `hours` string, decimal, nullable — Work hours during a pay period
  - `basis_of_pay` 'S' | 'H' | 'D' | 'W' | 'M' | 'C' | 'null', nullable — Basis of pay: * `S` - Salary, * `H` - Hourly, * `D` - Daily, * `W` - Weekly, * `M` - Monthly, * `C` - Contract,
  - `period_start` string, date, nullable — Period start
  - `period_end` string, date, nullable — Period end
  - `regular` string, decimal, nullable — Regular pay
  - `regular_ytd` string, decimal, nullable — Regular salary year to date
  - `other_pay_ytd` string, decimal, nullable — All other pays year to date
  - `bonus_ytd` string, decimal, nullable — Bonus year to date
  - `commission_ytd` string, decimal, nullable — Commission year to date
  - `overtime` string, decimal, nullable — Overtime pay
  - `overtime_ytd` string, decimal, nullable — Overtime pay year to date
  - `other_pay` string, decimal, nullable — All other pays
  - `earnings` object[], nullable — Earnings for this pay cycle by type
    - `name` string, required — Name of earnings
    - `amount` string, decimal, required — Amount of earnings
    - `category` 'regular' | 'overtime' | 'bonus' | 'commission' | 'other_pay', required — Category of earnings
    - `rate` string, decimal, nullable — Rate of earnings. The number of decimal places varies by payroll provider (`"30.29"`, `"3334.6200"`, `"2"`) and the value can be negative.
    - `units` string, decimal, nullable — Units of earnings. The number of decimal places varies by payroll provider (`"2"`, `"1.0000"`, `"842.5"`) and the value can be negative.
  - `earnings_ytd` object[], nullable — Earnings year to date by type
    - `name` string, required — Name of earnings
    - `amount` string, decimal, required — Amount of earnings
    - `category` 'regular' | 'overtime' | 'bonus' | 'commission' | 'other_pay', required — Category of earnings
    - `rate` string, decimal, nullable — Rate of earnings. The number of decimal places varies by payroll provider (`"30.29"`, `"3334.6200"`, `"2"`) and the value can be negative.
    - `units` string, decimal, nullable — Units of earnings. The number of decimal places varies by payroll provider (`"2"`, `"1.0000"`, `"842.5"`) and the value can be negative.
  - `deductions` object[], nullable — Deductions for this pay cycle by type
    - `name` string, required — Name of the deduction
    - `amount` string, decimal, required — Amount of the deduction
    - `category` 'memo' | 'medicare' | 'retirement' | 'socialsec' | 'federal' | 'state' | 'benefit' | 'garnishment' | 'local' | 'other', required — Category of the deduction
  - `deductions_ytd` object[], nullable — Deductions year to date by type
    - `name` string, required — Name of the deduction
    - `amount` string, decimal, required — Amount of the deduction
    - `category` 'memo' | 'medicare' | 'retirement' | 'socialsec' | 'federal' | 'state' | 'benefit' | 'garnishment' | 'local' | 'other', required — Category of the deduction
  - `md5sum` string, string, nullable — MD5 hash value computed based on the file content
  - `file` string, uri, nullable — Link to a pay stub file (format is specified in the content-type)
  - `derived_fields` string[] — Array of derived fields
  - `missing_data_fields` string[] — List of the data fields which are missing in the payroll API response

## Other responses

- `401` — HTTP 401 Unauthorized
- `403` — HTTP 403 Forbidden

---

[API](https://skmtc.net/truv/apis/truv-api.md) · [All operations](https://skmtc.net/truv/apis/truv-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/truv/truv-api/revisions/3d9b9702e0e3/schema)
