Skip to content

Fetch one product

GET
/products/{id}
curl --request GET \
--url https://api.1up.gift/products/1 \
--header 'Authorization: Bearer <token>'

Returns full pricing and denomination detail, so you can work out whether an amount is needed — and which amounts are allowed — before calling POST /send/gift.

id
required
integer format: int32
/^-?(?:0|[1-9]\d*)$/

The product id.

country
string

ISO 3166-1 alpha-2 country to price the product for. Defaults to GB.

The product.

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

No product with that id is available to you in that country.

object
type
null | string
title
null | string
status
null | integer format: int32
detail
null | string
instance
null | string