Brands
Once authenticated, explore the brand catalog. Hubble offers 450+ gift card brands across categories like Food, Fashion, Electronics, Travel, and more.
The Brand Object
id string
Unique identifier for the brand.
status string
Brand status. Values: ACTIVE, INACTIVE
Status values and error handling
| Status | Meaning | What You Should Do |
|---|---|---|
ACTIVE | Vouchers can be generated | Safe to display to end users and accept orders |
INACTIVE | Vouchers CANNOT be generated | Remove from user-facing catalog immediately |
The API intentionally returns both ACTIVE and INACTIVE brands so you can update your local state. You MUST filter on the status field before displaying brands to users.
Brand Errors
| Code | Error | What To Do |
|---|---|---|
E100 | Brand temporarily disabled | Provider failure. Wait and retry later. |
E101 | Brand not enabled for you | Contact Hubble support to enable this brand. |
E102 | Brand not active | Brand is INACTIVE. Do not display to users. |
title string
Display name of the brand.
brandDescription string nullable
Description of the brand.
category string[]
List of categories the brand belongs to.
tags string[]
List of tags associated with the brand.
denominationType string
Type of denomination. Values: FIXED, FLEXIBLE
Denomination type details
| Type | How It Works | What to Validate |
|---|---|---|
FIXED | Only specific denominations in amountRestrictions.denominations are accepted | Order denomination must exactly match one value in the array |
FLEXIBLE | Any amount between minVoucherAmount and maxVoucherAmount | Value must fall within min/max range |
When a brand is FIXED: Read the amountRestrictions.denominations array and only allow users to select from those exact values. For example, if Flipkart has denominations [100, 250, 500, 1000, 2000, 5000], you cannot send 600 or 1500.
When a brand is FLEXIBLE: Allow users to enter any custom amount, but enforce the min/max boundaries.
To order Rs 6,250 for a FIXED brand with denominations [1000, 2000, 5000], you must split: [{denomination:5000,quantity:1},{denomination:1000,quantity:1},{denomination:250,quantity:1}] - but ONLY if 250 is in the denominations list. Always validate against the brand’s current amountRestrictions.
cardType string
Type of card. Values: CARD_NUMBER_SECURED, PIN_NO_SECURED, CARD_AND_PIN_NO_SECURED
Card type details
| Card Type | What Customer Needs | What to Display |
|---|---|---|
CARD_NUMBER_SECURED | Card number only | Show cardNumber. cardPin will be null. |
PIN_NO_SECURED | PIN only | Show cardPin. cardNumber will be null. |
CARD_AND_PIN_NO_SECURED | Both card number AND PIN | Show BOTH fields. |
- Read
cardTypefrom the brand object before placing an order to know what your display UI needs to support. - Handle null values gracefully — for
CARD_NUMBER_SECUREDbrands,cardPinwill be null. - For
CARD_AND_PIN_NO_SECUREDbrands, you MUST display both credentials.
redemptionType string
Redemption type. Values: ONLINE, OFFLINE, ONLINE_AND_OFFLINE
Redemption type details
| Type | Where Voucher Can Be Used | Display Recommendation |
|---|---|---|
ONLINE | Only on the brand's website or app | Show "Online Only" tag |
OFFLINE | Only at physical retail stores | Show "In-Store Only" tag |
ONLINE_AND_OFFLINE | Both online and at physical stores | Show "Online & In-Store" |
- Display the redemption channel clearly to end users
- Use
retailModeNamefor display text (not theretailModeenum) - Include
howToUseInstructionsalongside the voucher to help customers redeem
amountRestrictions object nullable
Amount restrictions for the brand.
Show child attributes
- amountRestrictions.minAmount
numberdeprecated — UseminOrderAmountinstead. - amountRestrictions.maxAmount
numberdeprecated — UsemaxOrderAmountinstead. - amountRestrictions.minOrderAmount
number— Minimum order amount allowed. - amountRestrictions.maxOrderAmount
number— Maximum order amount allowed. - amountRestrictions.minVoucherAmount
number— Minimum voucher amount. - amountRestrictions.maxVoucherAmount
number— Maximum voucher amount. - amountRestrictions.maxVouchersPerOrder
integer— Maximum number of vouchers per order. - amountRestrictions.maxVouchersPerDenomination
integernullable — Maximum vouchers per denomination. - amountRestrictions.maxDenominationsPerOrder
integernullable — Maximum denominations per order. - amountRestrictions.denominations
number[]nullable — Available denominations.nullfor flexible denomination brands.
Additional Amount Restrictions
maxVouchersPerOrder— Max total vouchers in a single ordermaxVouchersPerDenomination— Max vouchers of same denomination in one ordermaxDenominationsPerOrder— Max distinct denomination values in one orderminOrderAmount/maxOrderAmount— Total order amount boundaries
thumbnailUrl string
URL of the brand thumbnail image.
logoUrl string
URL of the brand logo image.
iconImageUrl string deprecated
Brand image/logo URL. Use thumbnailUrl instead.
tncUrl string
URL to the terms and conditions page.
termsAndConditions string[] nullable
List of terms and conditions.
howToUseInstructions object[] nullable
Instructions for using the voucher.
Show child attributes
- howToUseInstructions[].retailMode
string— Retail mode enum. Values:ONLINE,OFFLINE - howToUseInstructions[].retailModeName
string— Display name for the retail mode. - howToUseInstructions[].instructions
string[]— List of step-by-step instructions.
canBalanceBeFetched boolean
Whether balance can be fetched for this brand's vouchers.
voucherExpiryInMonths integer nullable
Voucher validity period in months.
variantDetails object[] nullable
List of variant details for the brand.