---
title: "Create a shipping rate"
method: POST
path: "/api/v1/shipping-rates"
tags: ["Catalog"]
---

# Create a shipping rate

`POST /api/v1/shipping-rates`

## Request

- Base URL: `https://merchant.zahlo.eu`
- URL: `https://merchant.zahlo.eu/api/v1/shipping-rates`
- Auth: API key in header `x-api-key`

Create a shipping rate. Use the response status and request ID to decide whether to retry, reconcile, or ask the customer for action.

## Headers

- `Idempotency-Key` string

## Request body

- ShippingRateCreateRequest
  - `displayName` string, required
  - `type` 'fixed_amount'
  - `fixedAmount` object, required
    - `amount` integer, required: Minor units, VAT included.
    - `currency` string, required
  - `deliveryEstimate` object, nullable: Either bound may be omitted; the minimum may not exceed the maximum.
    - `minimum` object, nullable
      - `unit` 'business_day' | 'day' | 'hour' | 'week' | 'month', required
      - `value` integer, required
    - `maximum` object, nullable
      - `unit` 'business_day' | 'day' | 'hour' | 'week' | 'month', required
      - `value` integer, required
  - `metadata` object: Up to 50 key-value pairs; keys up to 40 characters, values strings up to 500 characters.

## Response `200`

The shipping rate

- ShippingRate
  - `id` string, required
  - `object` 'shipping_rate', required
  - `livemode` boolean, required
  - `createdAt` string, date-time, required
  - `active` boolean, required
  - `displayName` string, required
  - `type` 'fixed_amount', required
  - `fixedAmount` object, required
    - `amount` integer, required: Minor units, VAT included.
    - `currency` string, required
  - `deliveryEstimate` object, nullable, required: Either bound may be omitted; the minimum may not exceed the maximum.
    - `minimum` object, nullable
      - `unit` 'business_day' | 'day' | 'hour' | 'week' | 'month', required
      - `value` integer, required
    - `maximum` object, nullable
      - `unit` 'business_day' | 'day' | 'hour' | 'week' | 'month', required
      - `value` integer, required
  - `metadata` object, required: Up to 50 key-value pairs; keys up to 40 characters, values strings up to 500 characters.

## Other responses

- `400`: Invalid request
- `401`: Authentication failed
- `404`: Resource not found
- `409`: Request conflicts with existing state

---

[API](https://skmtc.dev/zahlo/apis/zahlo-merchant-api.md) - [All operations](https://skmtc.dev/zahlo/apis/zahlo-merchant-api/llms.txt) - [OpenAPI document](https://skmtc.dev/zahlo/apis/zahlo-merchant-api/revisions/8fcbef981e0d?raw)
