> ## 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.

# Create shipment

> Create a shipment

<RequestExample>
  ```bash cURL theme={null}
  curl -X POST 'https://hermes.api.e-cross.tech/ext/shipments' \
    -H 'Authorization: Bearer YOUR_TOKEN' \
    -H 'Content-Type: application/json' \
    -d '{
      "parcelIds": ["MERCHANT387294640090BR"],
      "description": "Weekly dispatch",
      "expectedShipDate": "2025-06-01T15:00:00Z",
      "expectedDeliveryDate": "2025-06-03T15:00:00Z",
      "firstMileCarrierId": "USPS",
      "firstMileTrackingNumber": "FM1234567890"
    }'
  ```
</RequestExample>

<ResponseExample>
  ```json Success theme={null}
  {
    "id": "aa65bd71-33cf-40c1-bdc5-91b01344f659",
    "status": "CREATED",
    "parcelIds": [
      "MERCHANT387294640090BR"
    ],
    "description": "Weekly dispatch",
    "expectedShipDate": "2025-06-01T15:00:00Z",
    "expectedDeliveryDate": "2025-06-03T15:00:00Z",
    "firstMileCarrierId": "USPS",
    "firstMileTrackingNumber": "FM123456",
    "creationDate": "2025-06-01T10:43:59.080Z",
    "lastUpdateDate": "2025-06-01T10:43:59.080Z",
    "merchantId": "MERCHANT",
    "weight": 0.24,
    "type": "shipment"
  }
  ```
</ResponseExample>

### Request Parameters

<ParamField body="parcelIds" type="array" required>
  Array containing the `parcelId` of the parcels contained in this shipment.
</ParamField>

<ParamField body="expectedShipDate" type="string" required>
  Approximate expected date and time when the package will leave the fulfillment facility, in ISO 8601 format.
</ParamField>

<ParamField body="expectedDeliveryDate" type="string" required>
  Approximate expected date and time when the package will arrive at the consolidation hub, in ISO 8601 format.
</ParamField>

<ParamField body="firstMileTrackingNumber" type="string" required>
  Tracking number/code of the first mile dispatch.
</ParamField>

<ParamField body="firstMileCarrierId" type="string">
  Identifier of the first mile carrier company (e.g., `USPS`, `FedEx`, `DHL`).
</ParamField>

<ParamField body="description" type="string">
  Human-readable description of the dispatch (e.g., "Weekly dispatch", "Daily shipment").
</ParamField>

### Response Fields

<ResponseField name="id" type="string">
  Unique identifier of this shipment.
</ResponseField>

<ResponseField name="status" type="string">
  Status of the shipment. Can be one of:

  * `CREATED` - Shipment has been created
  * `SHIPPED` - Shipment has been shipped
  * `CANCELLED` - Shipment was cancelled
</ResponseField>

<ResponseField name="parcelIds" type="array">
  Array containing the parcel IDs contained in this shipment.
</ResponseField>

<ResponseField name="description" type="string">
  Human-readable description of the dispatch.
</ResponseField>

<ResponseField name="expectedShipDate" type="string">
  Expected date when the package will leave the fulfillment facility.
</ResponseField>

<ResponseField name="expectedDeliveryDate" type="string">
  Expected date when the package will arrive at the consolidation hub.
</ResponseField>

<ResponseField name="firstMileTrackingNumber" type="string">
  Tracking number or code of the first mile dispatch.
</ResponseField>

<ResponseField name="weight" type="number">
  Total weight of the shipment in kilograms, generated by summing the weight of all parcels.
</ResponseField>

<ResponseField name="merchantId" type="string">
  The merchant ID.
</ResponseField>

<ResponseField name="creationDate" type="string">
  Date and time when the shipment was created.
</ResponseField>

<ResponseField name="lastUpdateDate" type="string">
  Date and time when the shipment was last updated.
</ResponseField>
