---
title: "List the refundable items on an order"
method: GET
path: "/shop/orders/{orderId}/refundable-items"
tags: ["Orders"]
---

# List the refundable items on an order

`GET /shop/orders/{orderId}/refundable-items`

List the items that can currently be refunded against the order,
alongside any service-charge and tip components when they carry
a positive balance. Used by the refund flow to render the
operator-facing "what can I refund?" picker.

Pass `payment_id` to scope the list to what can be refunded against
a specific payment (tips linked to that payment; items attributed
via payment item revenues when available). On single-payment orders
the parameter is optional and behaviour matches the unscoped list.

Each entry surfaces the line item's identifier, type, refundable
amount and an `allocation_hint` the refund processor uses when
splitting a refund across multiple items. The endpoint never
issues a refund itself — `POST
/shop/orders/{orderId}/payments/{paymentId}/refunds` is the
write side.

## Response `200`

The items on the order that can currently be refunded, together
with service-charge and tip lines when they carry a positive
balance.

- object
  - `data` OrderRefundableItem[], required
    - `id` string, required — Identifier for the refundable line. For order items this is the basket item object-id. For service-charge and tip lines this is the fixed key `service_charge` or `tip` — the same value used as the create-refund allocation `item_id`.
    - `offering_type` string, nullable — Offering type for order items, or the fixed key `service_charge` / `tip` for synthetic lines.
    - `offering_id` string, nullable — Offering id for order items; null for synthetic lines.
    - `offering_name` string, nullable, required — Human-readable label for the line — the offering name for items, `Service charge` / `Tip` for synthetic lines.
    - `item_date` string, date, nullable — Date associated with the item (booking start or order submitted date).
    - `refunded_at` string, date-time, nullable — When a refund allocation against this line was last completed. Used by the tip modal to show tip-refund history.
    - `guests` OrderRefundableItemGuest[] — Guests attached to the order item (empty for tip / service charge).
      - `id` string, required
      - `name` string, nullable
      - `first_name` string, nullable
      - `last_name` string, nullable
    - `total_cost` integer — Original line total in the lowest denomination of the order currency.
    - `refunded_amount` integer, required — Amount already refunded against this line (pending + complete).
    - `refundable_amount` integer, required — The amount that can still be refunded, in the lowest denomination of the order's currency.
    - `revenues` OrderRefundableItemRevenue[]
      - `revenue_centre` string, required
      - `gross_revenue` integer, required — Gross revenue in the lowest denomination of the order currency.

## Other responses

- `401` — The user is unauthenticated
- `403` — The authenticated user does not have permission.
- `404` — The resource couldn't be found

---

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