---
title: "Get one Pizza Hut deal/combo's full choice-builder tree"
method: GET
path: "/pizzahut/bundle-choices"
tags: ["Pizza Hut"]
---

# Get one Pizza Hut deal/combo's full choice-builder tree

`GET /pizzahut/bundle-choices`

## Request

- Base URL: `https://api.crawlora.net/api/v1`
- URL: `https://api.crawlora.net/api/v1/pizzahut/bundle-choices`
- Auth: API key in header `x-api-key`

Returns one deal/combo's full choice-builder tree -- every named slot it offers (e.g. "1st Pizza", "Wings or Fries", "1st Dip") and every product variant a caller can pick to fill that slot, each with the real price delta selecting it adds over the bundle's base price (zero for a variant already covered by the deal, positive for an upgrade such as a larger size or a specialty pizza). This is a different structure from /pizzahut/modifiers -- that endpoint customizes toppings/sauces on one product variant, while this endpoint swaps whole product variants in and out of a multi-item combo. bundle_code comes from /pizzahut/menu's code field on a type=bundle item.

## Query parameters

- `store_number` string, required
- `bundle_code` string, required
- `channel` 'WEB' | 'MOBILE' | 'POS' | 'KIOSK' | 'DOORDASH' | 'UBEREATS' | 'GRUBHUB' | 'IOS' | 'ANDROID' | 'DELIVEROO' | 'JUST_EAT' | 'CALL_CENTER'

## Headers

- `x-api-key` string, required

## Response `200`

OK

- PizzahutBundleChoicesResponseDoc
  - `code` integer: Code is the HTTP status code or a custom code used to indicate the result of the request @example 200
  - `data` PizzahutBundleChoicesResponse
    - `bundle_code` string
    - `channel` string
    - `choice_count` integer
    - `choices` PizzahutBundleChoice[]
      - `choice_code` string
      - `max_allowed_selections` integer
      - `min_allowed_selections` integer
      - `name` string
      - `variants` PizzahutBundleChoiceVariant[]
        - `name` string
        - `upcharge` PizzahutMoney
          - `amount` number
          - `amount_cents` integer
          - `currency_code` string
        - `variant_code` string
    - `description` string
    - `fetched_at` string
    - `name` string
    - `price` PizzahutMoney
      - `amount` number
      - `amount_cents` integer
      - `currency_code` string
    - `source_url` string
    - `store_number` string
  - `msg` unknown

## Other responses

- `400`: Bad Request
- `404`: Not Found
- `429`: Too Many Requests
- `503`: Service Unavailable

---

[API](https://skmtc.dev/crawlora/apis/crawlora-api.md) · [All operations](https://skmtc.dev/crawlora/apis/crawlora-api/llms.txt) · [OpenAPI document](https://skmtc.dev/crawlora/apis/crawlora-api/revisions/afac9b012a27?raw)
