---
title: "Get payments"
method: GET
path: "/public/v1/payments"
tags: ["Payment"]
---

# Get payments

`GET /public/v1/payments`

Get a paginated list of your company's payments, newest first (ordered by creation time, then id).

A payment is a single record of money moving, and comes in one of two kinds, reported in `payment_type`:
• INVOICE — money received from a customer against an [invoice](#model-compactinvoice). The `invoice` field is populated and `purchase` is null.
• PURCHASE — money paid to a vendor against a [purchase](#model-paymentpurchase). The `purchase` field is populated and `invoice` is null.

Exactly one of `invoice` / `purchase` is populated on any payment; the other is always null. Only invoice payments carry `credit_uses` and `overpayment_credits` (both null on purchase payments).

Each payment has a `status` of POSTED or VOIDED. A voided payment is retained rather than deleted, so historical references to it still resolve. By default this endpoint returns both POSTED and VOIDED payments; pass `payment_status` to narrow. Soft-deleted payments are never returned.

Narrow the result with `company_ids` (the customer/vendor), `invoice_ids` (INVOICE payments only), `purchase_ids` (PURCHASE payments only), `payment_method_ids`, `amount` range, `payment_number`, `payment_type`, `payment_status`, and the `inserted_datetime` / `payment_datetime` / `updated_datetime` windows. When several filters are supplied a payment must satisfy all of them (AND).

Results are eventually consistent: a newly created, updated, or voided payment can take up to 1 second to appear here or to reflect its latest state.

Required permission: `payments_permissions_view`.

## Query parameters

- `ids` string[]
- `amount` string
- `company_ids` string[]
- `inserted_datetime` string
- `invoice_ids` string[]
- `payment_method_ids` string[]
- `purchase_ids` string[]
- `page` string
- `payment_datetime` string
- `payment_number` string
- `payment_status` 'POSTED' | 'VOIDED'
- `payment_type` 'INVOICE' | 'PURCHASE'
- `updated_datetime` string

## Response `200`

A list of payments

## Other responses

- `400` — Invalid parameters
- `401` — Missing or invalid API token
- `403` — The API token lacks the required permission

---

[API](https://skmtc.dev/distru/apis/distru-api.md) · [All operations](https://skmtc.dev/distru/apis/distru-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/distru/distru-api/revisions/f8930b2c2924/schema)
