---
title: "GET /public/v3/orders/{external_id}"
method: GET
path: "/public/v3/orders/{external_id}"
tags: ["Manage orders"]
---

# GET /public/v3/orders/{external_id}

`GET /public/v3/orders/{external_id}`

Retrieves order data. One GET request retrieves one order. The path parameter specifies the order to retrieve. The 200 response returns information persisted for the order from the POST and PUT requests.<br /><br />Optionally, use the query parameters to get a base64-encoded label in the response.

## Path parameters

- `external_id` string, required — Order's ID assigned by the retailer; unique within all the retailer's orders manifested to Paack. Can include special characters, excluding a comma, though for further use you need to [encode them](./special-characters). `external_id` equals `tracking_id`.

## Query parameters

- `include` 'label'
- `labelFormat` 'pdf' | 'zpl'

## Response `200`

Returns information persisted for the order specified in the path parameter. The label is returned if the request included the query parameters.

- object
  - `status` 'return_in_progress' | 'cancelled' | 'undelivered' | 'delivered' | 'reached_delivered' | 'picked_up' | 'pending' | 'draft' | 'reached_picked_up' | 'on_course' — Status of the order. `draft` if just created. Corresponds to the `order_status` field in the [webhook output](./webhook-output).
  - `cod_currency` 'EUR' | 'GBP' — Currency code in ISO 4217 format.
  - `cod_value` number, double — Amount of cash on delivery. Not persisted if the value equals 0.
  - `customer` RetrieveCustomer — Information on the person receiving the parcels.
    - `address` DeliveryAddress — Delivery address.
      - `city` string, required — City.
      - `country` 'ES' | 'FR' | 'GB' | 'IT' | 'PT', required — Country in ISO 3166 alpha 2 format.
      - `line1` string, required — Primary and additional address information. Persists merged input from fields `line1` and `line2`.
      - `post_code` string, required — Postcode.
    - `first_name` string, required — Customer's first or full name. If the `last_name` value is not specified, the full name is split and persisted in both fields.
    - `last_name` string — Customer's last name. If not specified in the input, the last part of the first name is persisted in this field.
    - `email` string — Customer's email address.
  - `delivery_type` 'direct' | 'reverse' — Type of the delivery. Learn more [here](./reverse-logistcs).
  - `delivery_address` DeliveryAddress — Delivery address.
    - `city` string, required — City.
    - `country` 'ES' | 'FR' | 'GB' | 'IT' | 'PT', required — Country in ISO 3166 alpha 2 format.
    - `line1` string, required — Primary and additional address information. Persists merged input from fields `line1` and `line2`.
    - `post_code` string, required — Postcode.
  - `delivery_instructions` string — Instructions for the delivery.
  - `expected_delivery_ts` WindowObject — Timeslot defined by the objects `start` and `end`.
    - `start` WindowDatetime, required — UTC time defined by the properties `date` and `time`.
      - `date` string, date, required — Date in `YYYY-MM-DD` format.
      - `time` string, time, required — UTC time in `hh:mm:ss` format.
    - `end` WindowDatetime, required — UTC time defined by the properties `date` and `time`.
      - `date` string, date, required — Date in `YYYY-MM-DD` format.
      - `time` string, time, required — UTC time in `hh:mm:ss` format.
  - `expected_pick_up_ts` WindowObject — Timeslot defined by the objects `start` and `end`.
    - `start` WindowDatetime, required — UTC time defined by the properties `date` and `time`.
      - `date` string, date, required — Date in `YYYY-MM-DD` format.
      - `time` string, time, required — UTC time in `hh:mm:ss` format.
    - `end` WindowDatetime, required — UTC time defined by the properties `date` and `time`.
      - `date` string, date, required — Date in `YYYY-MM-DD` format.
      - `time` string, time, required — UTC time in `hh:mm:ss` format.
  - `external_id` string — Order's ID assigned by the retailer; unique within all the retailer's orders manifested to Paack. Can include special characters, excluding a comma, though for further use you need to [encode them](./special-characters). `external_id` equals `tracking_id`.
  - `parcels` RetrieveOrderResponseSuccessParcelsElem[]
    - `barcode` string, required — Barcode of the parcel.
    - `height` number, double — Height of the parcel in cm.
    - `length` number, double — Length of the parcel in cm.
    - `width` number, double — Width of the parcel in cm.
    - `weight` number, double — Actual weight of the parcel in kg.
    - `type` 'standard' — :construction: Currently input for this information is not persisted by Paack. Value equals `standard` when retrieved through the GET method.
    - `parcel_details` unknown
    - `volumetric_weight` number, double — Calculated as (height x width x length) / 1000.
  - `order_details` AddCustomPropertiesString[] — Properties describing the order. :construction: Currently only the string property `sale_number`, assigning the order a custom identifier, is persisted by Paack and can be retrieved through the GET method.
    - `name` string, required — Name of the property.
    - `type` 'string' | 'array' | 'boolean' | 'null' | 'number' | 'object', required — Type of the property.
    - `value` string, required — Value of the property.
  - `pick_up_address` PickupAddress — Pickup address.
    - `city` string, required — City.
    - `country` 'ES' | 'FR' | 'GB' | 'IT' | 'PT', required — Country in ISO 3166 alpha 2 format.
    - `line1` string, required — Primary and additional address information. Persists merged input from fields `line1` and `line2`.
    - `post_code` string, required — Postcode.
  - `pick_up_instructions` string
  - `service_type` 'ST2' | 'ST4' | 'STZ' | 'SF2' | 'SF4' | 'SFZ' | 'NT2' | 'NT4' | 'NTH' | 'NTZ' | 'NF2' | 'NF4' | 'NFA' | 'XF4' | 'NFZ' | 'PT2' | 'PT4' | 'PTH' | 'PTA' | 'PTZ' | 'PF2' | 'PF4' | 'PFA' | 'PFZ' | 'CT2' | 'CT4' | 'CTH' | 'CTZ' | 'XFZ' | 'CF2' | 'CF4' | 'CFA' | 'CFZ' | 'WT2' | 'WT4' | 'WTH' | 'WTZ' | 'WF2' | 'WF4' | 'WFA' | 'WFZ' | 'XTZ' | 'XF2' | 'ST3' | 'DDD' | 'ND' | 'SD' | 'UNK' | 'RFA' | 'RT2' | 'RT4' — Code that identifies the delivery day type, timeslot type, and available slot length. Learn more [here](./service-types).
  - `undeliverable_address` PickupAddress — Pickup address.
    - `city` string, required — City.
    - `country` 'ES' | 'FR' | 'GB' | 'IT' | 'PT', required — Country in ISO 3166 alpha 2 format.
    - `line1` string, required — Primary and additional address information. Persists merged input from fields `line1` and `line2`.
    - `post_code` string, required — Postcode.
  - `undeliverable_instructions` unknown
  - `delivery_model` 'store_model' | 'warehouse_model' — Paack's delivery model associated with the service type. Currently only warehouse model is used. Learn more about service types [here](./service-types).
  - `labels` string — base64-encoded label.

## Other responses

- `400` — In case the order of the `external_id` provided in the path parameter could not be found.
- `401` — Communicates a missing or expired access token for authorization. Currently used also in case of no rights to access the API.
- `403` — :construction: Communicates no rights to access the API. Contact our Customer Solutions team for help. While this HTTP error code is currently not supported the API returns 401.
- `404` — In case the external ID specified in the path parameter doesn't correspond to any order.
- `500` — Returned in case of internal errors, which means the problem is on Paack's side.

---

[API](https://skmtc.dev/paack/apis/orders-api.md) · [All operations](https://skmtc.dev/paack/apis/orders-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/paack/orders-api/revisions/2582c46598cc/schema)
