Skip to content

List the products you can send

GET
/products
curl --request GET \
--url 'https://api.1up.gift/products?page=1&limit=100' \
--header 'Authorization: Bearer <token>'

The catalogue is global, except for products restricted to named customers, which only those customers see. Results are paged, so this can back a picker as well as a plain listing.

country
string

ISO 3166-1 alpha-2 country the gift will be sent for. Drives which gifts are redeemable and how physical gifts are priced. Defaults to GB.

keyword
string

Free-text filter on the product name.

currencyId
integer format: int32

Only return products priced in this currency.

maxTotalPrice
number format: double

Only return products that can be sent for this amount or less.

page
integer format: int32
default: 1

1-based page number.

limit
integer format: int32
default: 100

Products per page, 1–200. Defaults to 100.

The matching page of products.

Array<object>

A gift you can send: enough to identify it, price it and present it in a picker.

object
id

The product id. Pass it as productId when sending.

integer format: int32
name

The product name.

null | string
isDigital

Digital (e-voucher) vs a physical gift.

boolean
currency

The currency the product is priced in.

null | string
currencyPrefix

The currency’s display prefix (e.g. “£”), so a caller can format amounts the same prefix-only way the Label does.

null | string
totalPrice

The fixed delivered total for a physical gift (marked-up cost + postage + VAT). Null for digital gifts, whose price is whatever amount the sender chooses.

null | number format: double
denominations

The fixed amounts a digital gift can be sent at. Empty for physical gifts and for digital gifts that take any amount within a range (see MinAmount/MaxAmount).

Array<number> | null
denominationChoices

The fixed denominations as ready-to-display picker choices: canonical numeric value (e.g. “25.00”) mapped to its prefix-formatted label (e.g. “£25.00”), matching how the 1UP web app shows them.

null | object
minAmount

The bounds a digital gift’s amount must fall within. For fixed-denomination gifts these are the lowest and highest denomination; for custom-value gifts they are the allowed range; null when not applicable.

null | number format: double
maxAmount
null | number format: double
requiresAmount

Whether the caller must supply an amount to send this gift. False when the amount is implied: physical gifts (intrinsic price) and digital gifts with a single possible denomination.

boolean
label

A ready-to-display label combining the name with its price context, for a picker.

null | string