---
title: "Get order history by customer email"
method: GET
path: "/orders/history"
tags: ["Order Controller"]
---

# Get order history by customer email

`GET /orders/history`

Retrieves all orders for a specific customer email address including total count with pagination support

## Query parameters

- `customerEmail` string
- `postCode` string
- `page` number, required
- `size` number, required

## Response `200`

Order history retrieved successfully

- OrderHistoryResponseDto
  - `totalOrders` number, required — Total number of orders for the customer
  - `orders` OrderListItemDto[], required — List of orders
    - `id` number, required — Order ID
    - `titleNumber` string — Title number
    - `instrumentCopyNumber` string — Instrument copy number
    - `customerEmail` string — Customer email
    - `customerId` number, required — Customer ID
    - `tenure` string — Tenure type
    - `address1` string — Address line 1
    - `flatUnit` string — Flat/Unit
    - `municipality` string — Municipality
    - `registry` string — Registry
    - `cruIdufir` string — CRU / IDUFIR
    - `identificationType` string — Identification type
    - `identificationNumber` string — Identification number
    - `nameAsPerIdentification` string — Name as per identification
    - `city` string — City
    - `suburb` string — Suburb
    - `county` string — County
    - `country` string — Country
    - `countryId` number — Country ID
    - `stateId` number — State ID
    - `currency` string — Currency code
    - `currencySymbol` string — Currency symbol
    - `totalAmount` number, required — Total order amount
    - `orderStatus` OrderStatusInfoDto, required
      - `id` number, required — Order status ID
      - `status` string, required — Order status name
      - `backgroundColor` string — Background color
      - `textColor` string — Text color
      - `borderColor` string — Border color
    - `orderDateTime` string, date-time — Order date time
    - `isExpressDelivery` boolean, required — Is express delivery
    - `isRequestedPaperCopy` boolean, required — Customer requested paper copy
    - `customerOrderCount` number, required — Total number of orders by this customer
    - `postCode` string — Post code
    - `shippingAddress1` string — Shipping address line 1
    - `shippingAddress2` string — Shipping address line 2
    - `shippingCity` string — Shipping city
    - `shippingPostcode` string — Shipping postcode
    - `shippingCounty` string — Shipping county
    - `shippingPhone` string — Shipping phone number
    - `shippingFirstName` string — Shipping first name
    - `shippingLastName` string — Shipping last name
    - `postCodeOrderCount` number — Total number of orders with the same post code
    - `paymentMethod` string — Payment method used
    - `latestEmailStatus` string — Latest email status for this order
    - `customerIsVerified` boolean — Whether the customer email is verified
    - `customerEmailValidationStatus` string — Customer email validation status (UNKNOWN, VALID, INVALID)
    - `orderLng` string — Order language
    - `ghostOrderId` number — Ghost order ID associated with this order
    - `createdAt` string, date-time, required — Created at timestamp
    - `updatedAt` string, date-time, required — Updated at timestamp
    - `isCertified` boolean — Whether the order contains certified products
    - `applicationNumber` string, nullable — Land registry application number (set via send-email when certified; not shown in email body)
    - `upSellSource` 'ORDER' | 'EMAIL' — Source of upsell order (ORDER=from order page, EMAIL=from email)
    - `upSellEntryChannel` string — How the customer reached the tracking page before buying (Document Link upsells)
    - `upSellAttribution` object — Extra attribution detail for Document Link upsells (reminder day/time/tz, email type, etc.)
    - `utmSource` string — UTM Source
    - `refundedAmount` number, required — Total refunded amount
    - `refundDateTime` string, date-time — Refund date time
    - `products` object[], required — Products in the order
    - `stopAbandonmentEmails` boolean, required — Whether abandonment emails are stopped for this order
    - `isAbandonmentRecovered` boolean, required — Whether this order was successfully paid after an abandonment email was sent
    - `hasSwimmingPool` boolean, required — Whether the property has a swimming pool
  - `page` number, required — Current page number
  - `size` number, required — Number of items per page

## Other responses

- `400` — Invalid email provided
- `404` — No orders found for this email

---

[API](https://skmtc.dev/findmydocument/apis/land-registry-api.md) · [All operations](https://skmtc.dev/findmydocument/apis/land-registry-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/findmydocument/land-registry-api/revisions/b55a990514fb/schema)
