---
title: "List expenses"
method: GET
path: "/v1/expenses"
tags: ["Expenses"]
---

# List expenses

`GET /v1/expenses`

## Request

- Base URL: `https://api.officina.it`
- URL: `https://api.officina.it/v1/expenses`
- Auth: HTTP bearer

## Query parameters

- `from` string
- `limit` integer
- `preset` 'rel30' | 'rel90' | 'rel365' | 'year' | 'Q1' | 'Q2' | 'Q3' | 'Q4' | 'month' | 'custom' | 'all'
- `q` string
- `starting_after` string
- `status` string
- `supplier_id` string
- `to` string

## Response `200`

Expenses + date_filter.

## Other responses

- `401`: Missing, malformed, expired, or wrong-audience bearer token.
- `402`: The company has no active subscription, or its plan does not include API access. API access is included in the Business and Illimitato plans.
- `403`: The authenticated user lacks the required permission.
- `422`: A request field is missing or invalid (fast-fail).
- `500`: Unhandled server error. Detail is logged, not exposed.

---

[API](https://skmtc.dev/officina/apis/officina-it-api.md) · [All operations](https://skmtc.dev/officina/apis/officina-it-api/llms.txt) · [OpenAPI document](https://skmtc.dev/officina/apis/officina-it-api/revisions/7da3fccfe551?raw)
