---
title: "One order with its history"
method: GET
path: "/shops/{shopId}/orders/{orderId}"
tags: ["Shops"]
---

# One order with its history

`GET /shops/{shopId}/orders/{orderId}`

## Request

- Base URL: `https://hostingsurge.com/api/v1`
- URL: `https://hostingsurge.com/api/v1/shops/{shopId}/orders/{orderId}`
- Auth: one of:
  - HTTP bearer
  - API key in cookie `__Host-hs_session`

## Path parameters

- `shopId` string, uuid, required
- `orderId` string, uuid, required

## Response `200`

The order

- object
  - `id` string, uuid, required
  - `number` string, required
  - `status` 'pending' | 'awaiting_payment' | 'paid' | 'fulfilled' | 'partially_refunded' | 'refunded' | 'canceled', required
  - `test` boolean, required: Paid through the test gateway: no money moved
  - `currency` string, required
  - `email` string, required
  - `phone` string, nullable, required
  - `customerName` string, nullable, required
  - `customerId` string, uuid, nullable, required
  - `company` string, nullable, required
  - `buyerVatNumber` string, nullable, required
  - `shippingAddress` object, nullable, required
    - `name` string
    - `company` string
    - `line1` string, required
    - `line2` string
    - `postalCode` string, required
    - `city` string, required
    - `region` string
    - `country` string, required
  - `billingAddress` object, nullable, required
    - `name` string
    - `company` string
    - `line1` string, required
    - `line2` string
    - `postalCode` string, required
    - `city` string, required
    - `region` string
    - `country` string, required
  - `lines` object[], required
    - `variantId` string, required
    - `productId` string, required
    - `productSlug` string, required
    - `title` string, required
    - `variantTitle` string, required
    - `sku` string, nullable, required
    - `image` string, nullable, required
    - `quantity` integer, required
    - `unitPriceMinor` integer, required: Minor units of the shop currency (öre, cents)
    - `discountMinor` integer, required: Minor units of the shop currency (öre, cents)
    - `totalMinor` integer, required: What the line costs the buyer (with VAT when it applies)
    - `netMinor` integer, required: Minor units of the shop currency (öre, cents)
    - `vatMinor` integer, required: Minor units of the shop currency (öre, cents)
    - `rateBps` integer, required
    - `taxClass` 'standard' | 'reduced1' | 'reduced2' | 'zero', required
  - `shipping` object, nullable, required
    - `rateId` string, required
    - `name` string, required
    - `kind` 'flat' | 'free_over' | 'weight' | 'pickup', required
    - `priceMinor` integer, required: Minor units of the shop currency (öre, cents)
  - `discount` object, nullable, required
    - `code` string, required
    - `kind` 'percent' | 'fixed' | 'free_shipping', required
  - `subtotalMinor` integer, required: Minor units of the shop currency (öre, cents)
  - `discountMinor` integer, required: Minor units of the shop currency (öre, cents)
  - `shippingMinor` integer, required: Minor units of the shop currency (öre, cents)
  - `vatMinor` integer, required: Minor units of the shop currency (öre, cents)
  - `totalMinor` integer, required: Minor units of the shop currency (öre, cents)
  - `refundedMinor` integer, required: Minor units of the shop currency (öre, cents)
  - `pricesIncludeVat` boolean, required
  - `vatRegime` 'domestic' | 'distance_seller_rates' | 'distance_destination_rates' | 'reverse_charge' | 'export', required
  - `vatNote` 'reverse_charge' | 'export' | 'null', nullable, required
  - `vatBreakdown` object[], required
    - `rateBps` integer, required
    - `netMinor` integer, required: Minor units of the shop currency (öre, cents)
    - `vatMinor` integer, required: Minor units of the shop currency (öre, cents)
    - `grossMinor` integer, required: Minor units of the shop currency (öre, cents)
  - `paymentProvider` 'stripe_connect' | 'manual' | 'test', required
  - `paymentMethod` 'stripe' | 'bank_transfer' | 'swish' | 'pickup' | 'invoice' | 'test', required
  - `paymentReference` string, nullable, required
  - `tracking` object[], required
    - `carrier` string, nullable, required
    - `number` string, required
    - `url` string, uri, nullable, required
    - `addedAt` string, required: ISO-8601 timestamp
  - `note` string, nullable, required
  - `language` string, required
  - `needsAttention` boolean, required: Paid after its reservation ran out and not enough stock was left: contact the customer
  - `reservedUntil` string, nullable, required: ISO-8601 timestamp
  - `paidAt` string, nullable, required: ISO-8601 timestamp
  - `fulfilledAt` string, nullable, required: ISO-8601 timestamp
  - `canceledAt` string, nullable, required: ISO-8601 timestamp
  - `createdAt` string, required: ISO-8601 timestamp
  - `events` object[]
    - `id` string, uuid, required
    - `kind` 'created' | 'payment_started' | 'paid' | 'fulfilled' | 'tracking' | 'refunded' | 'canceled' | 'expired' | 'email_sent' | 'email_failed' | 'note' | 'stock_short' | 'restocked', required
    - `actor` 'customer' | 'owner' | 'system' | 'stripe' | 'ai', required
    - `message` string, nullable, required
    - `details` object, required
    - `createdAt` string, required: ISO-8601 timestamp

## Other responses

- `400`: Invalid request (code invalid_request; details.issues)
- `401`: Missing or invalid session/token (code unauthorized)
- `403`: Authenticated but not permitted (code forbidden)
- `404`: Not found or not visible to the caller (code not_found)
- `409`: Refused in this state (code conflict; details.reason: slug_taken, code_taken, order_status, has_orders, …)
- `501`: Not available on this server (code not_configured; details.reason stripe_off when card payments are off)
- `503`: A payment provider is unavailable (code provider_unavailable)

---

[API](https://skmtc.dev/hostingsurge/apis/hostingsurge-platform-api.md) · [All operations](https://skmtc.dev/hostingsurge/apis/hostingsurge-platform-api/llms.txt) · [OpenAPI document](https://skmtc.dev/hostingsurge/apis/hostingsurge-platform-api/revisions/4d08337cdff1?raw)
