> ## Documentation Index
> Fetch the complete documentation index at: https://developers.e-cross.tech/llms.txt
> Use this file to discover all available pages before exploring further.

# List parcels

> Retrieve a list of parcels with optional filtering and pagination

<Note>
  For a known order, start with the order APIs and inspect `order.shipping.deliveries[].parcels[]`. Use this endpoint when you need parcel-level search or filtering across many orders.
</Note>

<RequestExample>
  ```bash cURL theme={null}
  curl -X GET 'https://hermes.api.e-cross.tech/ext/parcels?creationDateFrom=2025-09-01T00:00:00Z&creationDateUntil=2025-09-30T23:59:59Z' \
    -H 'Authorization: Bearer YOUR_TOKEN'
  ```
</RequestExample>

<ResponseExample>
  ```json Success theme={null}
  {
    "parcels": [
      {
        "merchantId": "MERCHANT",
        "parcelId": "MERCHANT918340981107MX",
        "salesChannel": "ECOM",
        "salesChannelOrderId": "1234567890",
        "senderCountry": "Spain",
        "recipientCountry": "Mexico",
        "status": "DELIVERED",
        "trackingUrl": "https://tracking.e-cross.tech/track/MERCHANT918340981107MX",
        "shipmentId": "18cda980-b2cd-478d-b5fc-6b23ea3feef9",
        "grossWeight": 1.01,
        "netWeight": 1,
        "volumetricWeight": 0.2,
        "lastMileTrackingNumber": "MMX123456789E",
        "creationDate": "2025-09-25T18:07:03.703Z",
        "deliveryEstimateDate": "2025-11-05T17:59:37.925Z",
        "lastUpdateDate": "2025-10-31T18:10:40.105Z",
        "invoiceDocumentUrl": "https://example.com/invoice.pdf",
        "invoiceNumber": "0000001",
        "labels": [
          {
            "labelUrl": "https://example.com/label.pdf",
            "lineHaulService": "FREIGHT_FORWARDER",
            "trackingNumber": "MMX123456789E"
          }
        ],
        "items": [
          {
            "hsCode": "640299",
            "itemWeight": 1,
            "productId": "123P",
            "quantity": 1,
            "skuId": "123",
            "skuName": "Sku name"
          }
        ],
        "events": [
          {
            "coreStatus": {
              "buyerStep": "CREATED",
              "code": "CREATED",
              "macroStep": "SHIPMENT_CREATED"
            },
            "description": "Order created",
            "eventDate": "2025-09-25T18:07:03.703Z",
            "receivedDate": "2025-09-25T18:07:03.703Z"
          },
          {
            "coreStatus": {
              "buyerStep": "DELIVERED",
              "code": "DELIVERED",
              "macroStep": "DELIVERED"
            },
            "description": "Delivered",
            "eventDate": "2025-10-31T17:41:08.000Z",
            "receivedDate": "2025-10-31T18:10:36.930Z"
          }
        ]
      }
    ],
    "nextPageToken": "eyJjcmVhdGlvbkRhdGUiOiIyMDI1LTA5LTI1VDE4OjA3OjAzLjcwM1oiLCJwYXJjZWxJZCI6Ik1FUkNIQU5UOTE4MzQwOTgxMTA3TVgiLCJ0eXBlIjoicGFyY2VsIn0="
  }
  ```
</ResponseExample>

### Query Parameters

<ParamField query="creationDateFrom" type="string">
  Filter only parcels created on or after the specified date and time, in ISO 8601 format, inclusive. Example: `2025-09-01T00:00:00Z`.
</ParamField>

<ParamField query="creationDateUntil" type="string">
  Filter only parcels created on or before the specified date and time, in ISO 8601 format, inclusive. Example: `2025-09-30T23:59:59Z`.
</ParamField>

<ParamField query="lastUpdateDateFrom" type="string">
  Filter only parcels last updated on or after the specified date and time, in ISO 8601 format, inclusive. Example: `2025-09-06T17:14:53Z`. Must be less than or equal to `lastUpdateDateUntil` when both are provided.
</ParamField>

<ParamField query="lastUpdateDateUntil" type="string">
  Filter only parcels last updated on or before the specified date and time, in ISO 8601 format, inclusive. Example: `2025-09-06T17:14:53Z`.
</ParamField>

<ParamField query="status" type="string">
  Filter by parcel status. Can be one of: `SHIPMENT_CREATED`, `SHIPPED`, `ARRIVED_DESTINATION_COUNTRY`, `CUSTOMS_CLEARANCE`, `LAST_MILE`, `DELIVERED`, `SHIPMENT_CANCELED`.
</ParamField>

<ParamField query="salesChannel" type="string">
  Filter by sales channel identifier.
</ParamField>

<ParamField query="salesChannelOrderId" type="string">
  Filter by order identifier in the sales channel.
</ParamField>

<ParamField query="lastMileTrackingNumber" type="string">
  Filter by last mile tracking number, i.e. the logistics provider's tracking number.
</ParamField>

<ParamField query="trackingNumber" type="string">
  Filter by tracking number, i.e. e-CROSS' parcel ID.
</ParamField>

<ParamField query="customerDocument" type="string">
  Filter by customer document.
</ParamField>

<ParamField query="parcelIds" type="string">
  Comma-separated list of parcel IDs to filter.
</ParamField>

<ParamField query="nextPageToken" type="string">
  The token to fetch the next page of results. Use the value returned in the `nextPageToken` field of the previous response. See [Pagination](/api-reference/overview/pagination) for details.
</ParamField>

<ParamField query="shipmentId" type="string">
  Filter by shipment identifier.
</ParamField>

### Response Fields

<ResponseField name="parcels" type="array">
  Array of parcel objects matching the specified filters. Each parcel has the same structure as the response from [Get parcel details](/api-reference/tracking/get-parcel-details).
</ResponseField>

<ResponseField name="nextPageToken" type="string">
  The token to be used in the query parameter to retrieve the next page of results. If there are no more results, this field won't be returned. See [Pagination](/api-reference/overview/pagination) for usage.
</ResponseField>
