---
title: "Get one Jimmy John's menu product's customization options"
method: GET
path: "/jimmy-johns/modifiers"
tags: ["JimmyJohns"]
---

# Get one Jimmy John's menu product's customization options

`GET /jimmy-johns/modifiers`

## Request

- Base URL: `https://api.crawlora.net/api/v1`
- URL: `https://api.crawlora.net/api/v1/jimmy-johns/modifiers`
- Auth: API key in header `x-api-key`

Returns one menu product's full customization tree: size, bread, and per-ingredient choices (extra/regular/light/none), each with its real price and calorie delta. Groups nest -- picking a size choice can reveal a bread group, which can reveal one group per ingredient -- so a size step, a bread step, and every "Customize Sandwich" ingredient all live in one recursive tree. product_id comes from GET /jimmy-johns/menu.

## Query parameters

- `product_id` integer, required

## Headers

- `x-api-key` string, required

## Response `200`

OK

- JimmyjohnsModifiersResponseDoc
  - `code` integer: Code is the HTTP status code or a custom code used to indicate the result of the request @example 200
  - `data` JimmyjohnsModifiersResponse
    - `fetched_at` string
    - `group_count` integer
    - `groups` JimmyjohnsModifierGroup[]
      - `chain_modifier_id` integer
      - `choices` JimmyjohnsModifierChoice[]
        - `base_calories` string: BaseCalories is this choice's calorie delta, which can be negative for a "light"/"no" ingredient choice.
        - `chain_option_id` integer
        - `cost` number: Cost is this choice's price delta. Many choices are free (the included default); an upcharge choice (e.g. "Xtra Smoked Ham") or a size step carries a positive cost.
        - `groups` JimmyjohnsModifierGroup[]
        - `is_default` boolean
        - `max_calories` string
        - `name` string
        - `option_id` integer
      - `group_id` integer
      - `mandatory` boolean
      - `max_selects` integer
      - `min_selects` integer
      - `name` string
    - `product_id` integer
    - `source_url` 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/0497899e2016?raw)
