---
title: "List guest checkout shipping options"
method: POST
path: "/v3/stores/{store_id}/public/checkout/shipping-options"
tags: ["Storefront"]
---

# List guest checkout shipping options

`POST /v3/stores/{store_id}/public/checkout/shipping-options`

## Request

- Base URL: `https://api.scalev.com`
- URL: `https://api.scalev.com/v3/stores/{store_id}/public/checkout/shipping-options`
- Auth: none required

Public storefront endpoint. Direct `items` use the same typed checkout item union as final public checkout. When direct `items` are omitted, the guest cart referenced by `X-Scalev-Guest-Token` is used as the item source. Digital-only carts return an empty non-paginated collection.

## Request body

- StorefrontCheckoutShippingOptionsRequest
  - `items` StorefrontCheckoutItem[]: Optional direct item source. If supplied, these items are used for the shipping-options calculation. Otherwise the guest cart referenced by `X-Scalev-Guest-Token` is used.
    - union
      - StorefrontCheckoutVariantItem
        - `type` 'variant', required
        - `variant_id` integer, required
        - `quantity` integer, required
      - StorefrontCheckoutBundlePriceOptionItem
        - `type` 'bundle_price_option', required
        - `bundle_price_option_id` integer, required: Bundle price option ID from the storefront catalog.
        - `quantity` integer, required
  - `destination` StorefrontCheckoutDestination
    - `location_id` union, required
      - integer
      - string
    - `postal_code` string, required
  - `payment_method` string

## Response `200`

Guest checkout shipping options

- StorefrontCheckoutShippingOptionsResponse
  - `data` StorefrontShippingOption[], required
    - `courier_service_id` integer, required
    - `courier_code` string, required
    - `courier_name` string: Customer-facing courier name, separate from the service name.
    - `service_code` string, required
    - `name` string, required
    - `cost` union, required
      - string, nullable
      - number
    - `etd` string, nullable, required: Estimated delivery time returned by the courier integration.
    - `is_cod` boolean, required
    - `warehouse_unique_id` string, required
    - `courier_aggregator_code` string, nullable, required
    - `logo_url` string, uri, nullable
  - `is_paginated` false, required

## Other responses

- `400`: Bad Request
- `404`: Not Found

## Changes

- **2026-10-26** `5c1373139b01`: 1 info
  - added the optional property `data/items/courier_name` to the response with the `200` status

[Operation history](https://skmtc.dev/scalev/apis/nexus-commerce-api/changes/v3/stores/:store_id/public/checkout/shipping-options/post.md)

---

[API](https://skmtc.dev/scalev/apis/nexus-commerce-api.md) - [All operations](https://skmtc.dev/scalev/apis/nexus-commerce-api/llms.txt) - [OpenAPI document](https://skmtc.dev/scalev/apis/nexus-commerce-api/revisions/6b9152f04622?raw)
