Skip to content
ShopentlyLearn

Get an order

Get an order using Shopently API. Identifier: order_id. Examples in cURL, PHP and Python.

GET/api/v1/orders/{order_id}

Authentication
Bearer
Available from
BASIC
Required permissions
orders.order:read

Code examples

Request example

cURL

: "${SHOPENTLY_SHOP_URL:?}"

curl --disable --globoff --fail-with-body --silent --show-error \
  --proto '=https' --connect-timeout 5 --max-time 30 \
  --request GET \
  --header "Authorization: Bearer ${SHOPENTLY_ACCESS_TOKEN:?}" \
  --url "${SHOPENTLY_SHOP_URL%/}"/api/v1/orders/example

PHP

<?php
declare(strict_types=1);

$baseUrl = rtrim(getenv('SHOPENTLY_SHOP_URL') ?: '', '/');
$origin = parse_url($baseUrl);
if (!$origin || ($origin['scheme'] ?? '') !== 'https' || empty($origin['host']) ||
    isset($origin['user'], $origin['pass']) || isset($origin['user']) || isset($origin['path']) ||
    isset($origin['query']) || isset($origin['fragment'])) {
    throw new RuntimeException('SHOPENTLY_SHOP_URL must be an HTTPS origin');
}
$credential = getenv('SHOPENTLY_ACCESS_TOKEN') ?: '';
if ($credential === '' || strpbrk($credential, "\r\n") !== false) {
    throw new RuntimeException('Invalid credential');
}
$headers = [];
$headers[] = 'Authorization: Bearer ' . $credential;
$responseHeaders = [];
$handle = curl_init($baseUrl . '/api/v1/orders/example');
curl_setopt_array($handle, [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_HTTPHEADER => $headers,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_FOLLOWLOCATION => false,
    CURLOPT_PROTOCOLS => CURLPROTO_HTTPS,
    CURLOPT_SSL_VERIFYPEER => true,
    CURLOPT_SSL_VERIFYHOST => 2,
    CURLOPT_CONNECTTIMEOUT => 5,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HEADERFUNCTION => static function ($handle, string $line) use (&$responseHeaders): int {
        if (str_contains($line, ':')) {
            [$name, $value] = explode(':', $line, 2);
            $responseHeaders[strtolower(trim($name))] = trim($value);
        }
        return strlen($line);
    },
]);
$raw = curl_exec($handle);
$status = curl_getinfo($handle, CURLINFO_RESPONSE_CODE);
$error = curl_error($handle);
curl_close($handle);
if ($raw === false) {
    throw new RuntimeException('Transport error: ' . $error);
}
if ($status < 200 || $status >= 300) {
    throw new RuntimeException('HTTP ' . $status . '; request_id=' .
        ($responseHeaders['x-request-id'] ?? '') . '; retry_after=' . ($responseHeaders['retry-after'] ?? ''));
}
$result = $raw === '' ? null : json_decode($raw, true, 512, JSON_THROW_ON_ERROR | JSON_BIGINT_AS_STRING);
echo json_encode($result, JSON_THROW_ON_ERROR | JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE), PHP_EOL;

Python

from contextlib import ExitStack
import json
import os
from urllib.parse import urlsplit

import requests  # python -m pip install requests

base_url = os.environ["SHOPENTLY_SHOP_URL"].rstrip("/")
origin = urlsplit(base_url)
if origin.scheme != "https" or not origin.hostname or origin.username or origin.password or origin.path or origin.query or origin.fragment:
    raise ValueError("SHOPENTLY_SHOP_URL must be an HTTPS origin")
credential = os.environ['SHOPENTLY_ACCESS_TOKEN']
if not credential or "\r" in credential or "\n" in credential:
    raise ValueError("Invalid credential")
headers = {}
headers["Authorization"] = 'Bearer' + " " + credential
body = None
if body is not None:
    headers["Content-Type"] = "application/json"

with ExitStack() as stack:
    session = stack.enter_context(requests.Session())
    files = None
    if False:
        image = stack.enter_context(open(os.environ["SHOPENTLY_IMAGE_FILE"], "rb"))
        if os.fstat(image.fileno()).st_size > 5242880:
            raise ValueError("Image exceeds 5 MiB")
        files = {"file": ("article.png", image, "image/png")}
    response = session.request(
        'GET', base_url + '/api/v1/orders/example', headers=headers,
        data=body.encode("utf-8") if body is not None else None, files=files,
        timeout=(5, 30), allow_redirects=False,
    )
    if not 200 <= response.status_code < 300:
        raise RuntimeError(f"HTTP {response.status_code}; request_id={response.headers.get('X-Request-ID', '')}; retry_after={response.headers.get('Retry-After', '')}")
    if False:
        if response.headers.get("Content-Type") != "image/webp" or len(response.content) > 5242880:
            raise ValueError("Unexpected image response")
        with open(os.environ["SHOPENTLY_OUTPUT_FILE"], "xb") as output:
            output.write(response.content)
    else:
        result = response.json() if response.content else None
        print(json.dumps(result, ensure_ascii=False, indent=2))

Response example 200

JSON
{
  "data": {
    "created_at": "2026-10-19T10:00:00Z",
    "customer": {
      "email": "customer@example.invalid",
      "first_name": "Example",
      "last_name": "Example",
      "phone": null
    },
    "delivery": {
      "amount": {
        "amount": "0.00",
        "currency": "PLN",
        "minor_units": 2
      },
      "dates": {
        "dispatch_timezone": "Europe/Warsaw",
        "estimated_delivery_from": "2026-10-20",
        "estimated_delivery_to": "2026-10-21",
        "planned_dispatch_on": "2026-10-19"
      },
      "discount_gross": {
        "amount": "24.60",
        "currency": "PLN",
        "minor_units": 2
      },
      "discount_net": {
        "amount": "20.00",
        "currency": "PLN",
        "minor_units": 2
      },
      "discount_tax": {
        "amount": "4.60",
        "currency": "PLN",
        "minor_units": 2
      },
      "discounts": [
        {
          "amount": {
            "amount": "24.60",
            "currency": "PLN",
            "minor_units": 2
          },
          "campaign_id": "saved-coupon",
          "code": "SAVE",
          "kind": "coupon",
          "name": "Saved coupon",
          "sequence": 1,
          "version": 3
        }
      ],
      "gross": {
        "amount": "0.00",
        "currency": "PLN",
        "minor_units": 2
      },
      "method_code": "shipping-old",
      "method_name": "Historic carrier",
      "net": {
        "amount": "0.00",
        "currency": "PLN",
        "minor_units": 2
      },
      "original_gross": {
        "amount": "24.60",
        "currency": "PLN",
        "minor_units": 2
      },
      "original_net": {
        "amount": "20.00",
        "currency": "PLN",
        "minor_units": 2
      },
      "original_tax": {
        "amount": "4.60",
        "currency": "PLN",
        "minor_units": 2
      },
      "pickup_point": null,
      "recipient_mode": "full_address",
      "tax": {
        "amount": "0.00",
        "currency": "PLN",
        "minor_units": 2
      },
      "tax_category_id": "standard",
      "tax_category_name": "VAT 23%",
      "tax_rate": "0.23"
    },
    "discount_amount": {
      "amount": "24.60",
      "currency": "PLN",
      "minor_units": 2
    },
    "discounts": [
      {
        "amount": {
          "amount": "12.30",
          "currency": "PLN",
          "minor_units": 2
        },
        "campaign_id": "saved-coupon",
        "code": "SAVE",
        "kind": "coupon",
        "name": "Saved coupon",
        "sequence": 1,
        "shipping_amount": {
          "amount": "24.60",
          "currency": "PLN",
          "minor_units": 2
        },
        "version": 3
      }
    ],
    "id": "order-0000",
    "invoice": null,
    "invoice_requested": false,
    "lifecycle_state": "placed",
    "lines": [
      {
        "discount_amount": {
          "amount": "24.60",
          "currency": "PLN",
          "minor_units": 2
        },
        "discount_gross": {
          "amount": "24.60",
          "currency": "PLN",
          "minor_units": 2
        },
        "discount_net": {
          "amount": "20.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "discount_tax": {
          "amount": "4.60",
          "currency": "PLN",
          "minor_units": 2
        },
        "discounts": [
          {
            "amount": {
              "amount": "12.30",
              "currency": "PLN",
              "minor_units": 2
            },
            "campaign_id": "saved-coupon",
            "code": "SAVE",
            "kind": "coupon",
            "name": "Saved coupon",
            "sequence": 1,
            "shipping_amount": null,
            "version": 3
          }
        ],
        "identifiers": {},
        "image": null,
        "line_id": "saved-line-a",
        "manual_discount": {
          "amount": {
            "amount": "12.30",
            "currency": "PLN",
            "minor_units": 2
          },
          "kind": "fixed",
          "value": "12.30"
        },
        "name": "Saved A",
        "original_total": {
          "amount": "246.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "original_total_gross": {
          "amount": "246.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "original_total_net": {
          "amount": "200.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "original_total_tax": {
          "amount": "46.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "position": 1,
        "product_id": "product-api",
        "quantity": 2,
        "sku": "A",
        "tax": {
          "amount": "20.70",
          "currency": "PLN",
          "minor_units": 2
        },
        "tax_category_id": "standard",
        "tax_category_name": "VAT 23%",
        "tax_rate": "0.23",
        "total": {
          "amount": "221.40",
          "currency": "PLN",
          "minor_units": 2
        },
        "total_gross": {
          "amount": "221.40",
          "currency": "PLN",
          "minor_units": 2
        },
        "total_net": {
          "amount": "180.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "total_tax": {
          "amount": "41.40",
          "currency": "PLN",
          "minor_units": 2
        },
        "unit_gross": {
          "amount": "123.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "unit_net": {
          "amount": "100.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "unit_price": {
          "amount": "123.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "unit_tax": {
          "amount": "23.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "variant_id": null,
        "variant_options": []
      },
      {
        "discount_amount": {
          "amount": "0.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "discount_gross": {
          "amount": "0.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "discount_net": {
          "amount": "0.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "discount_tax": {
          "amount": "0.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "discounts": [],
        "identifiers": {},
        "image": null,
        "line_id": "b548a171-c331-505f-98f8-db3a06070998",
        "manual_discount": null,
        "name": "Saved B",
        "original_total": {
          "amount": "108.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "original_total_gross": {
          "amount": "108.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "original_total_net": {
          "amount": "100.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "original_total_tax": {
          "amount": "8.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "position": 2,
        "product_id": "deleted-product",
        "quantity": 1,
        "sku": "B",
        "tax": null,
        "tax_category_id": "reduced",
        "tax_category_name": "VAT 8%",
        "tax_rate": "0.08",
        "total": {
          "amount": "108.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "total_gross": {
          "amount": "108.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "total_net": {
          "amount": "100.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "total_tax": {
          "amount": "8.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "unit_gross": {
          "amount": "108.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "unit_net": {
          "amount": "100.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "unit_price": {
          "amount": "108.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "unit_tax": {
          "amount": "8.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "variant_id": null,
        "variant_options": []
      }
    ],
    "locale": "pl",
    "market_id": "market-pl",
    "number": "0001",
    "payment": {
      "amount": {
        "amount": "329.40",
        "currency": "PLN",
        "minor_units": 2
      },
      "environment": "live",
      "method_code": "payment-old",
      "method_name": "Historic method",
      "paid_at": null,
      "status": "unpaid",
      "updated_at": "2026-10-19T10:00:00Z",
      "version": 0
    },
    "pickup_point": null,
    "prices_include_tax": true,
    "shipping_address": null,
    "shipping_discount_amount": {
      "amount": "24.60",
      "currency": "PLN",
      "minor_units": 2
    },
    "status": {
      "id": "status-0",
      "name": "Status 0",
      "updated_at": "2026-10-19T10:00:00Z",
      "version": 1
    },
    "subtotal": {
      "amount": "329.40",
      "currency": "PLN",
      "minor_units": 2
    },
    "tax": {
      "amount": "49.40",
      "currency": "PLN",
      "minor_units": 2
    },
    "tax_breakdown": {
      "groups": [
        {
          "gross": {
            "amount": "221.40",
            "currency": "PLN",
            "minor_units": 2
          },
          "net": {
            "amount": "180.00",
            "currency": "PLN",
            "minor_units": 2
          },
          "source": "products",
          "tax": {
            "amount": "41.40",
            "currency": "PLN",
            "minor_units": 2
          },
          "tax_rate": "0.23"
        },
        {
          "gross": {
            "amount": "108.00",
            "currency": "PLN",
            "minor_units": 2
          },
          "net": {
            "amount": "100.00",
            "currency": "PLN",
            "minor_units": 2
          },
          "source": "products",
          "tax": {
            "amount": "8.00",
            "currency": "PLN",
            "minor_units": 2
          },
          "tax_rate": "0.08"
        },
        {
          "gross": {
            "amount": "0.00",
            "currency": "PLN",
            "minor_units": 2
          },
          "net": {
            "amount": "0.00",
            "currency": "PLN",
            "minor_units": 2
          },
          "source": "shipping",
          "tax": {
            "amount": "0.00",
            "currency": "PLN",
            "minor_units": 2
          },
          "tax_rate": "0.23"
        }
      ],
      "unallocated_tax": {
        "amount": "0.00",
        "currency": "PLN",
        "minor_units": 2
      }
    },
    "tax_country_code": "PL",
    "total": {
      "amount": "329.40",
      "currency": "PLN",
      "minor_units": 2
    },
    "totals": {
      "before_discounts": {
        "gross": {
          "amount": "378.60",
          "currency": "PLN",
          "minor_units": 2
        },
        "net": {
          "amount": "320.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "tax": {
          "amount": "58.60",
          "currency": "PLN",
          "minor_units": 2
        }
      },
      "discounts": {
        "gross": {
          "amount": "49.20",
          "currency": "PLN",
          "minor_units": 2
        },
        "net": {
          "amount": "40.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "tax": {
          "amount": "9.20",
          "currency": "PLN",
          "minor_units": 2
        }
      },
      "order": {
        "gross": {
          "amount": "329.40",
          "currency": "PLN",
          "minor_units": 2
        },
        "net": {
          "amount": "280.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "tax": {
          "amount": "49.40",
          "currency": "PLN",
          "minor_units": 2
        }
      },
      "product_discounts": {
        "gross": {
          "amount": "24.60",
          "currency": "PLN",
          "minor_units": 2
        },
        "net": {
          "amount": "20.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "tax": {
          "amount": "4.60",
          "currency": "PLN",
          "minor_units": 2
        }
      },
      "products": {
        "gross": {
          "amount": "329.40",
          "currency": "PLN",
          "minor_units": 2
        },
        "net": {
          "amount": "280.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "tax": {
          "amount": "49.40",
          "currency": "PLN",
          "minor_units": 2
        }
      },
      "products_before_discounts": {
        "gross": {
          "amount": "354.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "net": {
          "amount": "300.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "tax": {
          "amount": "54.00",
          "currency": "PLN",
          "minor_units": 2
        }
      },
      "shipping": {
        "gross": {
          "amount": "0.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "net": {
          "amount": "0.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "tax": {
          "amount": "0.00",
          "currency": "PLN",
          "minor_units": 2
        }
      },
      "shipping_before_discounts": {
        "gross": {
          "amount": "24.60",
          "currency": "PLN",
          "minor_units": 2
        },
        "net": {
          "amount": "20.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "tax": {
          "amount": "4.60",
          "currency": "PLN",
          "minor_units": 2
        }
      },
      "shipping_discounts": {
        "gross": {
          "amount": "24.60",
          "currency": "PLN",
          "minor_units": 2
        },
        "net": {
          "amount": "20.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "tax": {
          "amount": "4.60",
          "currency": "PLN",
          "minor_units": 2
        }
      }
    }
  },
  "meta": {
    "request_id": "example-request"
  }
}

How it works

  • The collection provides order summaries and filters for number, status, payment status and creation time.
  • Order lists and details include delivery.dates. YYYY-MM-DD dates are planned and do not confirm shipment. Current dates take precedence; older orders use the recorded estimate. Cleared or unknown values are null. Details also include all order lines and product images.
  • Obtain valid status identifiers from /api/v1/order-statuses.
  • Order status and payment status use separate PATCH endpoints and permissions.
  • Changing the recorded payment status does not charge a card or issue a refund through a payment provider.

Order · Totals

Amounts and tax rates come from the saved order, including item corrections. Missing history is null and is never replaced with current catalog tax rates. Monetary values remain decimal strings.

The list returns summaries. Fetch GET /api/v1/orders/{order_id} for each result to export full financial details. GET retries are bounded; respect Retry-After. A creation-date export does not synchronize later corrections.

  • tax_country_code · Tax country · Recorded order snapshot · ISO 3166-1 alpha-2; null.
  • lines[].unit_* · One unit · Before discounts; lines[].original_total_* · Before discounts; lines[].total_* · After discounts.
  • lines[].discount_* · Discounts; manual_discount · Manual discount; percentage "10" = 10%.
  • delivery.net / tax / gross · After discounts; delivery.original_* · Before discounts; delivery.discount_* · Discounts.
  • tax_rate: "0.23" = 23%; "0" ≠ null. Unknown: null; known zero: 0.
  • totals · Totals; tax_breakdown.groups · Tax groups; Unallocated tax = order.tax − Σ groups.tax; ±.

payment.amount is the order total. Payment status does not establish amounts paid, refunded or outstanding.

Parameters

Path parameters

order_idStringRequired

Related order identifier.

Constraints
pattern
"^[a-z0-9][a-z0-9_-]{0,62}$"
Example: "example"

This operation does not accept a JSON body.

Responses

Response 200

dataOrderDetailData Required

Successful response payload.

Fields · data
created_atStringRequired

Creation time.

format: "date-time"
customerCustomerData Required

Customer information recorded for this resource.

Fields · customer
emailStringRequired

Email address.

first_nameString nullRequired

Given name.

last_nameString nullRequired

Family name.

phoneString nullRequired

Telephone number.

deliveryShippingDetailData Required

Delivery method and associated information.

Fields · delivery
amountMoneyData Required

Decimal amount encoded as a JSON string; null only where allowed.

datesDeliveryDatesData Required

Dispatch and delivery dates

discount_grossMoneyData Required

Gross amount · Discounts; Unknown: null; known zero: 0.

discount_netMoneyData nullRequired

Net amount · Discounts; Unknown: null; known zero: 0.

discount_taxMoneyData nullRequired

Tax amount · Discounts; Unknown: null; known zero: 0.

discountsArray <OrderDeliveryDiscountData > nullRequired

Discounts

grossMoneyData Required

Gross amount · After discounts; Unknown: null; known zero: 0.

method_codeString nullRequired

Delivery or payment method code.

method_nameString nullRequired

Delivery or payment method name.

netMoneyData nullRequired

Net amount · After discounts; Unknown: null; known zero: 0.

original_grossMoneyData Required

Gross amount · Shipping · Before discounts; Unknown: null; known zero: 0.

original_netMoneyData nullRequired

Net amount · Shipping · Before discounts; Unknown: null; known zero: 0.

original_taxMoneyData nullRequired

Tax amount · Shipping · Before discounts; Unknown: null; known zero: 0.

pickup_pointDeliveryPickupPointData nullRequired

Pickup point

recipient_modeStringRequired

Variant of the data structure described by its allowed values.

Constraints
enum
["full_address", "pickup_contact"]
taxMoneyData nullRequired

Tax information.

tax_category_idString nullRequired

Tax category identifier.

tax_category_nameString nullRequired

Recorded tax category name; null.

tax_rateString nullRequired

tax_rate · Recorded order snapshot: "0.23" = 23%; "0" ≠ null.

discount_amountMoneyData Required

Decimal amount encoded as a JSON string; null only where allowed.

Fields · discount_amount
amountStringRequired

Decimal amount encoded as a JSON string; null only where allowed.

currencyStringRequired

Currency code for the amount.

Constraints
pattern
"^[A-Z]{3}$"
minor_unitsIntegerRequired

Number of fractional digits used by the currency.

minimum: 0maximum: 4
discountsArray <OrderDiscountData > Required

Discounts

Fields · discounts
idStringRequired

Resource identifier; preserve it as returned.

invoiceInvoiceData nullRequired

Invoice information.

Fields · invoice
invoice_requestedBooleanRequired

Whether an invoice was requested.

lifecycle_stateOrderLifecycleState Required

Business lifecycle state.

linesArray <OrderLineData > Required

Order line snapshots.

Fields · lines
localeStringRequired

Language selected for this request.

market_idStringRequired

Market identifier returned by the context endpoint.

numberStringRequired

Human-facing order or request number.

paymentPaymentData Required

Payment details recorded for the order.

Fields · payment
amountMoneyData Required

Decimal amount encoded as a JSON string; null only where allowed.

environmentStringRequired

Environment information attached to the record.

Constraints
enum
["live", "sandbox"]
method_codeString nullRequired

Delivery or payment method code.

method_nameString nullRequired

Delivery or payment method name.

paid_atString nullRequired

Date and time the payment was marked paid.

String:format: "date-time"
statusOrderPaymentStatus Required

Status accepted by this specific operation.

updated_atStringRequired

Most recent update time.

format: "date-time"
versionIntegerRequired

Resource version used for concurrency control.

pickup_pointPickupPointData nullRequired

Pickup point

Fields · pickup_point
prices_include_taxBooleanRequired

Whether listed prices include tax.

shipping_addressAddressData nullRequired

Delivery address.

Fields · shipping_address
shipping_discount_amountMoneyData Required

Decimal amount encoded as a JSON string; null only where allowed.

Fields · shipping_discount_amount
amountStringRequired

Decimal amount encoded as a JSON string; null only where allowed.

currencyStringRequired

Currency code for the amount.

Constraints
pattern
"^[A-Z]{3}$"
minor_unitsIntegerRequired

Number of fractional digits used by the currency.

minimum: 0maximum: 4
statusOrderStatusData Required

Status accepted by this specific operation.

Fields · status
idStringRequired

Resource identifier; preserve it as returned.

nameStringRequired

Resource name in the relevant context.

updated_atStringRequired

Most recent update time.

format: "date-time"
versionIntegerRequired

Resource version used for concurrency control.

subtotalMoneyData Required

Amount before the additional components shown in the response.

Fields · subtotal
amountStringRequired

Decimal amount encoded as a JSON string; null only where allowed.

currencyStringRequired

Currency code for the amount.

Constraints
pattern
"^[A-Z]{3}$"
minor_unitsIntegerRequired

Number of fractional digits used by the currency.

minimum: 0maximum: 4
taxMoneyData Required

Tax information.

Fields · tax
amountStringRequired

Decimal amount encoded as a JSON string; null only where allowed.

currencyStringRequired

Currency code for the amount.

Constraints
pattern
"^[A-Z]{3}$"
minor_unitsIntegerRequired

Number of fractional digits used by the currency.

minimum: 0maximum: 4
tax_breakdownOrderTaxBreakdownData Required

Tax groups · source + tax_rate; unallocated_tax.

Fields · tax_breakdown
groupsArray <OrderTaxGroupData > Required

Tax groups · source + tax_rate; Unknown: null; known zero: 0.

unallocated_taxMoneyData Required

Unallocated tax = order.tax − Σ groups.tax; ±.

tax_country_codeString nullRequired

Tax country · Recorded order snapshot · ISO 3166-1 alpha-2; null.

totalMoneyData Required

Total amount.

Fields · total
amountStringRequired

Decimal amount encoded as a JSON string; null only where allowed.

currencyStringRequired

Currency code for the amount.

Constraints
pattern
"^[A-Z]{3}$"
minor_unitsIntegerRequired

Number of fractional digits used by the currency.

minimum: 0maximum: 4
totalsOrderTotalsData Required

Totals · net / tax / gross; Before discounts / After discounts.

Fields · totals
before_discountsOrderAmountBreakdownData Required

Order · Before discounts · net / tax / gross.

discountsOrderAmountBreakdownData Required

Discounts

orderOrderAmountBreakdownData Required

Order · After discounts · net / tax / gross.

product_discountsOrderAmountBreakdownData Required

Products · Discounts · net / tax / gross.

productsOrderAmountBreakdownData Required

Products · After discounts · net / tax / gross.

products_before_discountsOrderAmountBreakdownData Required

Products · Before discounts · net / tax / gross.

shippingOrderAmountBreakdownData Required

Shipping · After discounts · net / tax / gross.

shipping_before_discountsOrderAmountBreakdownData Required

Shipping · Before discounts · net / tax / gross.

shipping_discountsOrderAmountBreakdownData Required

Shipping · Discounts · net / tax / gross.

metaContextPageMeta ContextMeta PageMeta RequestMeta Required

Response metadata.

Fields · meta

ContextPageMeta

localeStringRequired

Language selected for this request.

market_codeStringRequired

Market code returned by the context endpoint.

market_idStringRequired

Market identifier returned by the context endpoint.

paginationPagination Required

Cursor pagination metadata.

request_idStringRequired

Request identifier; in response metadata this identifies the HTTP request.

minLength: 1maxLength: 100

ContextMeta

localeStringRequired

Language selected for this request.

market_codeStringRequired

Market code returned by the context endpoint.

market_idStringRequired

Market identifier returned by the context endpoint.

request_idStringRequired

Request identifier; in response metadata this identifies the HTTP request.

minLength: 1maxLength: 100

PageMeta

paginationPagination Required

Cursor pagination metadata.

request_idStringRequired

Request identifier; in response metadata this identifies the HTTP request.

minLength: 1maxLength: 100

RequestMeta

request_idStringRequired

Request identifier; in response metadata this identifies the HTTP request.

minLength: 1maxLength: 100
Response example

HTTP status

200
Successful response Schema
400
Invalid request
401
Authentication required
403
Permission denied
404
Resource not found
409
Version conflict
422
Validation failed
429
Rate limit exceeded
Other HTTP statuses (7)
405
Method not allowed
413
Request too large
415
Unsupported media type
500
Server error
502
API gateway error
503
Service unavailable
504
Gateway timeout

Error catalog: ErrorResponse

Headers

401

WWW-AuthenticateStringOptional

Authentication scheme required by the server.

405

AllowStringOptional

HTTP methods supported by this resource.

429, 503

Retry-AfterIntegerOptional

Minimum delay before retrying, in seconds.

minimum: 0