Skip to main content

Get Shipment

Retrieves a specific shipment by ID.

Endpoint

GET /v1/shipments/{id}

Authentication

API key required. Include it in the Authorization header:

Authorization: Bearer YOUR_API_KEY

Path Parameters

ParameterTypeDescription
idstringThe ID of the shipment to retrieve.

Response

200 OK

ParameterTypeDescription
idstringThe ID of the shipment.
reference_numberstringYour internal reference number for this shipment.
shipping_channel_idstringThe ID of the shipping channel used for this shipment.
provider_shipment_idstringThe remote provider's tracking number.
statusstringThe current status of the shipment.
total_pricenumberThe total price of the shipment.
currencystringThe currency of the total price.
shipping_datestringThe date the shipment is expected to be shipped.
origin_pickup_point_idstringID of the origin pickup point.
destination_pickup_point_idstringID of the destination pickup point.
additional_servicesarrayArray of additional services for the shipment.
metadataobjectArbitrary metadata for the shipment.
sender_contactobjectThe sender's contact information.
recipient_contactobjectThe recipient's contact information.
origin_addressobjectThe origin address of the shipment.
destination_addressobjectThe destination address of the shipment.
return_addressobjectThe return address of the shipment.
parcelobjectThe parcel details.
customs_declarationobjectThe customs declaration for international shipments.
tracking_parcelobjectThe tracking parcel associated with the shipment.
created_atstringThe timestamp when the shipment was created.
updated_atstringThe timestamp when the shipment was last updated.
{
"data": {
"id": "sh_123456",
"reference_number": "ORD-2025-001",
"shipping_channel_id": "ch_123456",
"provider_shipment_id": "DHL-ABC-123",
"status": "created",
"total_price": 15.50,
"currency": "USD",
"shipping_date": "2025-08-15",
"origin_pickup_point_id": null,
"destination_pickup_point_id": null,
"additional_services": [],
"metadata": {},
"sender_contact": {
"id": "sc_123",
"company_name": "Sender Co.",
"first_name": "John",
"last_name": "Doe",
"email_address": "john.doe@example.com",
"phone_number": "+1234567890"
},
"recipient_contact": {
"id": "rc_123",
"company_name": "Recipient Co.",
"first_name": "Jane",
"last_name": "Smith",
"email_address": "jane.smith@example.com",
"phone_number": "+1987654321"
},
"origin_address": {
"id": "oa_123",
"street_name": "Main St",
"house_number": "123",
"apartment_number": null,
"city_name": "New York",
"postal_code": "10001",
"country_code": "US"
},
"destination_address": {
"id": "da_123",
"street_name": "Oak Ave",
"house_number": "456",
"apartment_number": null,
"city_name": "Los Angeles",
"postal_code": "90001",
"country_code": "US"
},
"return_address": null,
"parcel": {
"id": "p_123",
"parcel_type": "package",
"reference_number": null,
"length_dimension": 10,
"width_dimension": 10,
"height_dimension": 10,
"dimension_unit": "CM",
"weight_amount": 1.5,
"weight_unit": "KG",
"label_comment": null,
"label_format": "PDF",
"cash_on_delivery_amount": null,
"cash_on_delivery_currency": null,
"insurance_amount": null,
"insurance_currency": null,
"contains_documents_only": false,
"metadata": {}
},
"customs_declaration": null,
"tracking_parcel": {
"id": "tp_123",
"tracking_number": "TRK123456789",
"status": "created"
},
"created_at": "2025-08-10T10:00:00Z",
"updated_at": "2025-08-10T10:05:00Z"
}
}

Error Responses

Status CodeDescription
401Unauthorized - Invalid or missing API key
403Forbidden - You don't have permission to access this shipment
404Not Found - The specified shipment could not be found
429Too Many Requests - Rate limit exceeded
500Server Error - Something went wrong on our end

Example Request

cURL

curl -X GET \
https://api.shipping-channels.com/v1/shipments/sh_123456 \
-H "Authorization: Bearer YOUR_API_KEY"

PHP

<?php
$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://api.shipping-channels.com/v1/shipments/sh_123456', [
'headers' => [
'Authorization' => 'Bearer YOUR_API_KEY',
'Accept' => 'application/json',
],
]);

$data = json_decode($response->getBody(), true);

JavaScript

fetch('https://api.shipping-channels.com/v1/shipments/sh_123456', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Accept': 'application/json'
}
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));