Creates a parcel

Include the weight, and either a predefined_package or length, width and height if applicable.


A Parcel object is immutable once created. All information must be provided during creation; it cannot be modified later.

Body
application/json
    • length
      Type: numberFormat: float
      required

      Required if width and/or height are present

    • width
      Type: numberFormat: float
      required

      Required if length and/or height are present

    • height
      Type: numberFormat: float
      required

      Required if length and/or width are present

    • weight
      Type: numberFormat: float
      required

      Always required. Must be specified in ounces (oz)

    • items
      Type: array object[]
Responses
  • application/json
  • 400

    Invalid request data

  • 401

    Unauthorized

Request Example for post/parcels
curl https://api.test.vesyl.com/v2/parcels \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
  --data '{
  "length": 30,
  "width": 20,
  "height": 15,
  "weight": 2.5,
  "items": [
    {
      "description": "T-shirt",
      "quantity": 2,
      "weight": 0.2,
      "value": 25,
      "unit_weight": 0.1,
      "unit_value": 12.5,
      "currency": "USD",
      "hs_tariff_number": "610910",
      "code": "SKU-TSHIRT-BLK-M",
      "origin_country": "US",
      "external_id": "li_123",
      "taxes": [
        {
          "title": "State tax",
          "rate": 0.07,
          "amount": 1.75
        }
      ]
    }
  ]
}'
{
  "id": "prcl_362c125e3f234fd560c0bc402b8953e0",
  "created_at": "2025-11-04T21:09:29Z",
  "updated_at": "2025-11-04T21:09:29Z",
  "object": "Parcel",
  "length": 30,
  "width": 20,
  "height": 15,
  "predefined_package": "medium_box",
  "weight": 2.5
}