Skip to main content
GET
/
shipments
/
{id}
Retrieve shipment
curl --request GET \
  --url https://api.whop.com/api/v1/shipments/{id} \
  --header 'Authorization: Bearer <token>'
import requests

url = "https://api.whop.com/api/v1/shipments/{id}"

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers)

print(response.text)
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

fetch('https://api.whop.com/api/v1/shipments/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://api.whop.com/api/v1/shipments/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"net/http"
"io"
)

func main() {

url := "https://api.whop.com/api/v1/shipments/{id}"

req, _ := http.NewRequest("GET", url, nil)

req.Header.Add("Authorization", "Bearer <token>")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.get("https://api.whop.com/api/v1/shipments/{id}")
.header("Authorization", "Bearer <token>")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.whop.com/api/v1/shipments/{id}")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
{
  "created_at": "2023-12-01T05:00:00.401Z",
  "delivery_estimate": "2023-12-01T05:00:00.401Z",
  "id": "ship_xxxxxxxxxxxxx",
  "payment": {
    "id": "pay_xxxxxxxxxxxxxx"
  },
  "service": "Priority",
  "tracking_code": "9400111899223456789012",
  "updated_at": "2023-12-01T05:00:00.401Z"
}
{
"error": {
"code": "parameter_missing",
"message": "Missing required parameter: amount.",
"param": "amount",
"type": "invalid_request_error"
}
}
{
"error": {
"message": "Invalid or missing API key",
"type": "unauthorized"
}
}
{
"error": {
"message": "You do not have permission to access this resource",
"type": "forbidden"
}
}
{
"error": {
"message": "Resource not found",
"type": "not_found"
}
}
{
"error": null
}
{
"error": null
}
{
"error": {
"message": "An unexpected error occurred",
"type": "internal_server_error"
}
}

Authorizations

Authorization
string
header
required

A company API key, company scoped JWT, app API key, or user OAuth token. You must prepend your key/token with the word 'Bearer', which will look like Bearer ***************************

Path Parameters

id
string
required

The unique identifier of the shipment to retrieve.

Example:

"ship_xxxxxxxxxxxxx"

Response

A successful response

A physical shipment associated with a payment, including carrier details and tracking information.

carrier
enum<string>
required

The shipping carrier responsible for delivering this shipment.

Available options:
accurate,
amazon_mws,
amazon_shipping,
apc,
asendia_usa,
australia_post,
axlehire_v3,
better_trucks,
canada_post,
canpar,
columbus_last_mile,
chronopost,
cloud_sort,
courier_express,
couriers_please,
cs_logistics,
dai_post,
deutsche_post_uk,
deutsche_post,
dhl_ecommerce_asia,
dhl_ecs,
dhl_express,
dhl_paket,
door_dash,
dpd_nl,
dpd_uk,
dpd,
epost_global,
estafeta,
evri,
fastway,
fedex_cross_border,
fedex_default,
fedex_mailview,
fedex_smartpost,
fedex,
first_choice,
first_mile,
flexport,
gio,
gio_express,
gso,
hailify,
henry,
interlink_express,
jet,
kuroneko_yamato,
la_post,
lasership_v2,
loomis_express,
lso,
ontrac,
optima,
osm_worldwide,
parcelforce,
parcll,
passport_global,
post_nl,
purolator,
quick,
royal_mail,
omni_parcel,
sendle,
sf_express,
smart_kargo,
sonic,
spee_dee,
swyft,
tforce,
uds,
ups_iparcel,
ups_mail_innovations,
ups,
usps,
veho,
yanwen
created_at
string<date-time>
required

The datetime the shipment was created.

Example:

"2023-12-01T05:00:00.401Z"

delivery_estimate
string<date-time> | null
required

The estimated delivery date for this shipment. Null if the carrier has not provided an estimate.

Example:

"2023-12-01T05:00:00.401Z"

id
string
required

The unique identifier for the shipment.

Example:

"ship_xxxxxxxxxxxxx"

payment
object | null
required

The payment associated with this shipment. Null if the payment has been deleted or is inaccessible.

service
string | null
required

The shipping service level used for this shipment. Null if the carrier does not specify a service tier.

Example:

"Priority"

status
enum<string>
required

The current delivery status of this shipment.

Available options:
unknown,
pre_transit,
in_transit,
out_for_delivery,
delivered,
available_for_pickup,
return_to_sender,
failure,
cancelled,
error
substatus
enum<string> | null
required

A more granular status providing additional detail about the shipment's current state. Null if no substatus applies.

Available options:
address_correction,
arrived_at_destination,
arrived_at_facility,
arrived_at_pickup_location,
awaiting_information,
substatus_cancelled,
damaged,
delayed,
delivery_exception,
departed_facility,
departed_origin_facility,
expired,
substatus_failure,
held,
substatus_in_transit,
label_created,
lost,
missorted,
substatus_out_for_delivery,
received_at_destination_facility,
received_at_origin_facility,
refused,
return,
status_update,
transferred_to_destination_carrier,
transit_exception,
substatus_unknown,
weather_delay
tracking_code
string
required

The carrier-assigned tracking number used to look up shipment progress.

Example:

"9400111899223456789012"

updated_at
string<date-time>
required

The datetime the shipment was last updated.

Example:

"2023-12-01T05:00:00.401Z"