Loyalty API
Read CallDataListOptions1
Lists tenant-configured special-date image choices.
| Kind | Read API call |
|---|---|
| Method | GET or POST |
| URL | https://app.bubblehouse.com/api/v2023061/<shop>/DataListOptions1 |
| Authentication | Customer TokenShop Token |
Customer and shop tokens may request only special_date_images. Anonymous callers are denied. No customer identity input is needed.
The catalogue uses tenant settings only, not block or theme image overrides. It includes every nonempty configured image slot in numeric slot order, even when special dates are disabled. Gaps are preserved and choices above 6 are supported. An empty catalogue returns an empty options array.
Send an option’s key unchanged as SpecialDate1.image_choice when updating customer details. Image metadata is read-only: customer writes still accept only image_choice, never an image URL. Clearing a configured image removes its option; replacing an image retains its key and changes its metadata. Fetch the catalogue again to see configuration changes.
The catalogue is not paginated. Omit limit or set it to zero; nonzero values are rejected. subject, venue_id, market_key and selected must be omitted or empty.
Input
-
datasetstring requiredMust be
special_date_images. All other datasets are denied for public callers. -
include_imagesboolean optionalDefaults to false. If true, each option includes read-only Image1 metadata with a tile-usage variant.
-
filterstring optionalOptional case-insensitive substring filter on the title (for example,
Image Choice 7). Leading and trailing whitespace is ignored. Omit to retrieve the complete catalogue. -
limitinteger optionalMust be omitted or zero. Nonzero limits are rejected instead of truncating this unpaginated catalogue.
Output
-
Matching choices in ascending numeric slot order.
Usage Examples
Retrieve image choices
Request
{
"dataset": "special_date_images",
"include_images": true
}
Response
{
"options": [
{
"image": {
"variants": [
{
"url": "https://example.com/uploaded/occasion.png",
"usages": [
"tile"
]
}
]
},
"key": "7",
"t": "Image Choice 7"
}
]
}
Global Errors
| Status | Error | Reason & Examples |
|---|---|---|
| 429 | rate_limit_exceeded |
Your usage is over the rate limit. Ensure that you're not making duplicate calls, and contact our team for a rate limit increase. |
| 401 | invalid_token |
The provided authentication token is invalid or has expired. |
| 400 | invalid_global_api_version |
The global API version you are trying to use has never existed. |
| 400 | obsolete_global_api_version |
The global API version you are trying to use is no longer supported. |
| 400 | inaccessible_global_api_version |
The global API version you are trying to use is not enabled on your account. |