cargopanel logocargopanel for developers

Create Shipment

POSThttps://api.cargopanel.co/v1/shipments
POSThttps://sandbox-api.cargopanel.co/v1/shipments

Create a new international shipment and receive a shipment ID.

This API requires a contract. Get in touch with cargopanel Support Team.

Sandbox API is used for testing purposes. It does not create a real shipment.

Request Fields

typestringrequired
  • package - Selected when sending a parcel or box
  • document - Selected when sending documents or papers
categorystringrequired
  • gift
  • sample
  • micro export
  • sales
  • document
packagesarrayrequired

Array of package details. Each package must include:

  • quantity - Number of pieces (number)
  • weight - Weight (number)
  • dimensions.width - Width (number)
  • dimensions.length - Length (number)
  • dimensions.height - Height (number)
  • dimensions.unit - Dimension unit (string, e.g. cm)
chargeableWeightnumberrequired

Total billable weight.

itemsarrayrequired

Array of item details. Each item must include:

  • description - Item description (string)
  • hsCode - HS code (string)
  • countryOfOrigin - Origin country (string)
  • quantity - Quantity (number)
  • unitPrice - Unit price (number)
  • totalPrice - Total price (number)
carrierobjectrequired

Carrier information.

  • id - Carrier ID identifier. You can find the full list of supported carrier ID on the Carriers page. (string)
customsobjectrequired

Customs information.

  • totalGoodsValue - Total goods value (number)
  • currency - Currency (string)
  • iossNumber - IOSS Number. Used for EU countries. Mandatory for Widect carrier, optional for others. (string)
  • marketplaceNumber - Marketplace Number. Mandatory for Widect carrier UK shipments, optional for other carriers and countries. (string)
senderobjectrequired

Sender information.

  • firstName - First name (string)
  • lastName - Last name (string)
  • email - Email (string)
  • phone.code - Phone country code (string)
  • phone.number - Phone number (string)
  • address.line1 - Address line 1 (string)
  • address.city - City (string)
  • address.zipCode - Zip code (string)
  • address.country.code - Country code (string)
receiverobjectrequired

Receiver information.

  • firstName - First name (string)
  • lastName - Last name (string)
  • companyName - Company name (string, optional)
  • email - Email (string)
  • phone.code - Phone country code (string)
  • phone.number - Phone number (string)
  • address.line1 - Address line 1 (string)
  • address.line2 - Address line 2 (string, optional)
  • address.city - City (string)
  • address.zipCode - Zip code (string)
  • address.country.code - Country code (string)

Request Body

The request body should be a JSON object containing the following structure:

{
  "type": "<string>",
  "category": "<string>",
  "packages": [
    {
      "quantity": <number>,
      "weight": <number>,
      "dimensions": {
        "width": <number>,
        "length": <number>,
        "height": <number>,
        "unit": "<string>"
      }
    }
  ],
  "chargeableWeight": <number>,
  "items": [
    {
      "description": "<string>",
      "hsCode": "<string>",
      "countryOfOrigin": "<string>",
      "quantity": <number>,
      "unitPrice": <number>,
      "totalPrice": <number>
    }
  ],
  "carrier": {
    "id": "<string>"
  },
  "customs": {
    "totalGoodsValue": <number>,
    "currency": "<string>",
    "iossNumber": "<string>",
    "marketplaceNumber": "<string>"
  },
  "sender": {
    "firstName": "<string>",
    "lastName": "<string>",
    "phone": {
      "code": "<string>",
      "number": "<string>"
    },
    "email": "<string>",
    "address": {
      "line1": "<string>",
      "city": "<string>",
      "zipCode": "<string>",
      "country": {
        "name": "<string>",
        "code": "<string>"
      }
    }
  },
  "receiver": {
    "firstName": "<string>",
    "lastName": "<string>",
    "companyName": "<string>",
    "phone": {
      "code": "<string>",
      "number": "<string>"
    },
    "email": "<string>",
    "address": {
      "line1": "<string>",
      "line2": "<string>",
      "city": "<string>",
      "zipCode": "<string>",
      "country": {
        "name": "<string>",
        "code": "<string>"
      }
    }
  }
}

Example Response

201
{
    "id": "64522319",
    "carrier": {
        "id": "UPS_SAVER",
        "name": "UPS",
        "price": 0,
        "currency": "USD"
    },
    "sender": {
        "country": "TR",
        "city": "..."
    },
    "receiver": {
        "country": "DE",
        "city": "..."
    },
    "chargeableWeight": 1,
    "status": [
        {
            "status": "Processing",
            "date": "2026-04-07T10:32:40.503Z",
            "milestone": "Awaiting Delivery"
        },
        {
            "status": "Pending Arrival at Warehouse",
            "date": "2026-04-07T10:32:41.503Z",
            "milestone": "Pending Arrival at Warehouse"
        }
    ],
    "createdAt": "2026-04-07T10:32:41.503Z"
}

Responses

201Shipment successfully created
400Invalid request (missing or incorrect parameters)
401Unauthorized (invalid or missing token)
422Validation error (submitted data is not valid)
500Internal server error