GET /shipping-options

Read the seller's shipping options, oldest first, with the shipping type taxonomy they are drawn from. Each typed option's shippingType names a taxonomy entry whose maxCards is how many cards its parcel carries; an option with shippingType: null is a legacy one. In the sandbox, use an option's id as shippingOptionId on POST /sandbox/test-purchases. Add-on offers, which will name an upgrade by an option's id, are not yet available.

Example

These examples send requests to the sandbox.

Generated cURL request - Sandbox
curl --request GET \
  --url 'https://api-sandbox.snapcaster.ca/api/v1/marketplace/shipping-options' \
  --header "Authorization: Bearer $MARKETPLACE_API_KEY"
Generated Response 200: Generated response 200
{
  "success": true,
  "data": {
    "options": [
      {
        "id": 0,
        "shippingType": "letter_mail",
        "label": "string",
        "price": 0,
        "isTracked": true,
        "deliveryEstimateDays": 0,
        "consequences": {
          "buyerNonDeliveryProtection": true,
          "sellerBearsNonDeliveryRisk": true
        },
        "createdAt": "string",
        "updatedAt": "string"
      }
    ],
    "taxonomy": [
      {
        "code": "letter_mail",
        "displayName": "string",
        "label": "string",
        "tracked": true,
        "maxCards": 0,
        "defaultDeliveryEstimateDays": 0
      }
    ]
  }
}

Endpoint

EnvironmentURL
Sandboxhttps://api-sandbox.snapcaster.ca/api/v1/marketplace/shipping-options
Productionhttps://api.snapcaster.ca/api/v1/marketplace/shipping-options
Authentication
  • marketplaceApiKey - http bearer. Send the seller's marketplace API key as Authorization: Bearer mp_{sellerCode}_{hex}. The mp_{sellerCode}_ prefix identifies the seller; the trailing hex is the secret. The seller generates the key and supplies it to your platform.

Request

Headers

X-Snapcaster-Api-Version string

Override the platform pin for this request only. Webhook versions and the platform pin do not change.

Constraints: allowed values: 2026-10 Example 2026-10

Response

200

The seller's options and the taxonomy.

Response body: StoreShippingOptionListResponse

success boolean required

Whether the operation completed as requested.

Constraints: allowed values: true

data object required

The operation or event payload.

Show child fieldsHide child fields
data.options StoreShippingOption[] required
Show child fieldsHide child fields
data.options[].id integer required
data.options[].shippingType string or null required

Constraints: allowed values: letter_mail, bubble_mail, box, null

data.options[].label string required
data.options[].price integer required

The unit price in minor currency units.

data.options[].isTracked boolean required
data.options[].deliveryEstimateDays integer required
data.options[].consequences object required
Show child fieldsHide child fields
data.options[].consequences.buyerNonDeliveryProtection boolean required

Constraints: allowed values: true

data.options[].consequences.sellerBearsNonDeliveryRisk boolean required
data.options[].createdAt string or null required
data.options[].updatedAt string or null required
data.taxonomy StoreShippingType[] required
Show child fieldsHide child fields
data.taxonomy[].code string required

The stable machine-readable code for this result.

Constraints: allowed values: letter_mail, bubble_mail, box

data.taxonomy[].displayName string required
data.taxonomy[].label string required
data.taxonomy[].tracked boolean required
data.taxonomy[].maxCards integer or null required
data.taxonomy[].defaultDeliveryEstimateDays integer required

Errors

Errors return a MarketplaceError body, except HTTP 500 (ApiError). Error codes explains both error bodies and lists every code.

  • 400 UNSUPPORTED_API_VERSION

    Unknown or retired API-version override (UNSUPPORTED_API_VERSION).

    Do this: For UNSUPPORTED_API_VERSION, choose a supported version from the API versioning guide.

  • 401 UNAUTHORIZED

    Missing or invalid marketplace API key (UNAUTHORIZED).

    Do this: Send the marketplace API key for this seller as a Bearer token, then retry.

  • 403 SUBSCRIPTION_EXCLUDES_ORDERS

    The platform's subscription is inventory, which does not include orders (SUBSCRIPTION_EXCLUDES_ORDERS). Only orders and both subscriptions read and act on orders.

    Do this: Do not retry. Ask Snapcaster to change the platform subscription to orders or both if the platform should handle orders.

  • 500 INTERNAL_ERROR

    An unexpected failure (INTERNAL_ERROR).

    Do this: Retry with bounded retries and jitter. If the failure persists, contact Snapcaster with the X-Correlation-ID response header.