Choosing a gift
Three things can be sent, and each prices differently. Getting the value rules right is most of the work of integrating.
Products
Section titled “Products”A single gift card or physical gift. GET /products lists what you can send.
The catalogue is global, except for products restricted to named customers — those appear only for
the customers they are restricted to. It is also country-specific: pass country (ISO 3166-1
alpha-2, defaulting to GB) to get the gifts redeemable there, priced for there.
Does it need a value?
Section titled “Does it need a value?”Read requiresAmount:
requiresAmount |
What to send |
|---|---|
false |
Omit value. The price is intrinsic — a physical gift, or a digital gift with one denomination. |
true |
Send a value. Which values are allowed depends on the fields below. |
When a value is needed, the product tells you what is acceptable:
denominationsnon-empty — the value must be one of these exact amounts.denominationChoicesgives the same list pre-formatted for a dropdown, keyed by the canonical numeric value.denominationsempty — any amount betweenminAmountandmaxAmountis allowed.
{ "id": 184, "name": "Amazon.co.uk", "isDigital": true, "currency": "GBP", "currencyPrefix": "£", "requiresAmount": true, "denominations": [], "minAmount": 5.00, "maxAmount": 500.00, "label": "Amazon.co.uk - £5.00–£500.00"}Collections
Section titled “Collections”A set of gifts the recipient chooses from. GET /collections lists yours. Collections are
country- and currency-specific, and come in two kinds.
kind |
Value |
|---|---|
custom |
Built for your account at a fixed value. value on the send is ignored. |
curated |
Global. You choose the value. |
For a curated collection, requiresValue is true and:
allowCustomValue: false— the value must be one ofvaluePoints.allowCustomValue: true— any positive amount is accepted;minValueandmaxValueare a hint for your UI, not a limit.
{ "id": 31, "name": "Treat yourself", "kind": "curated", "country": "GB", "currency": "GBP", "requiresValue": true, "allowCustomValue": false, "valuePoints": [10.00, 25.00, 50.00, 100.00], "minValue": 10.00, "maxValue": 100.00}Templates
Section titled “Templates”A preset saved in the 1UP web app: the gift, value, country, greeting and expiry, under a name.
GET /templates lists them.
Sending one is the simplest call in the API — you supply only who it goes to:
{ "templateId": 77, "recipients": [{ "email": "aisha@example.com", "name": "Aisha" }]}Templates are the right tool when the same gift goes out repeatedly and non-developers should be able to change it. Changing the gift or its value then means editing the template in 1UP, with no deploy on your side.
Currency
Section titled “Currency”A gift carries its own currency; you do not choose one. The order is priced in the gift’s currency, and the funding account you draw from must hold that same currency — see Paying for an order.
