Tracking

You can register your webhook(s) for a Shipment (and request the current status at the same time) by POSTing to the tracking endpoint. This way Shippo will send HTTP notifications to your track_updated webhook(s) whenever the status changes.

HTTP Method

POST

URL

Copy
Copied
https://api.goshippo.com/tracks/

Request Payload

Parameter in POST Data Description
carrier* royal_mail_sf
tracking_number* tracking_number value of the transaction response, we get in the transaction call response. create shipments call response.
metadata Additional metadata to associate with this tracking request.

Response Code

200 OK

Request Example

Copy
Copied
curl https://api.goshippo.com/tracks/ \
    -H "Authorization: ShippoTokenshippo_live_******" \
    -d carrier="royal_mail_sf" \
    -d tracking_number="TQ966044837GB" \
    -d metadata="Order 000123"

Response Example

Copy
Copied
{
    "tracking_number": "TQ966044837GB",
    "carrier": "royal_mail_sf",
    "servicelevel": {
        "name": null,
        "token": null
    },
    "transaction": "5748cf036bce476c9ed3c92a9270edd7",
    "address_from": {
        "city": "",
        "state": "",
        "zip": "",
        "country": "GB"
    },
    "address_to": {
        "city": "",
        "state": "",
        "zip": "",
        "country": "GB"
    },
    "eta": null,
    "original_eta": null,
    "metadata": null,
    "test": false,
    "tracking_status": {
        "status_date": "2025-07-24T10:32:52Z",
        "status_details": "Delivered to Safeplace by",
        "location": null,
        "substatus": {
            "code": "delivered",
            "text": "Package has been delivered.",
            "action_required": false
        },
        "object_created": "2025-07-24T12:57:38.73Z",
        "object_updated": "2025-07-24T12:57:38.73Z",
        "object_id": "f379269f8c584d278d8abd9a9e2bd2ff",
        "status": "DELIVERED"
    },
    "tracking_history": [
        {
            "status_date": "2025-07-18T23:39:04Z",
            "status_details": "Sender despatching item",
            "location": null,
            "substatus": {
                "code": "information_received",
                "text": "Information about the package received.",
                "action_required": false
            },
            "object_created": "2025-07-18T23:14:19.94Z",
            "object_updated": "2025-07-19T03:42:02.857Z",
            "object_id": "db068dfd371e403ba65cf8c45adff4bc",
            "status": "PRE_TRANSIT"
        },
        {
            "status_date": "2025-07-19T16:03:12Z",
            "status_details": "Accepted at Parcelshop",
            "location": null,
            "substatus": {
                "code": "package_accepted",
                "text": "Package has been accepted into the carrier network for delivery.",
                "action_required": false
            },
            "object_created": "2025-07-19T16:53:22.097Z",
            "object_updated": "2025-07-19T16:53:22.097Z",
            "object_id": "5e47dc859ac24476b6dfcf876abc9c27",
            "status": "TRANSIT"
        },
        {
            "status_date": "2025-07-22T01:36:18Z",
            "status_details": "Item Received",
            "location": null,
            "substatus": {
                "code": "information_received",
                "text": "Information about the package received.",
                "action_required": false
            },
            "object_created": "2025-07-22T05:08:27.592Z",
            "object_updated": "2025-07-22T05:08:27.592Z",
            "object_id": "2f048f514f8b474aa28fcb99302cbffc",
            "status": "TRANSIT"
        },
        {
            "status_date": "2025-07-23T17:13:45Z",
            "status_details": "Item Received",
            "location": null,
            "substatus": {
                "code": "delivery_scheduled",
                "text": "Package is scheduled for delivery.",
                "action_required": false
            },
            "object_created": "2025-07-23T19:48:10.325Z",
            "object_updated": "2025-07-23T19:48:10.325Z",
            "object_id": "c005bb9f1574466284b5372676933cea",
            "status": "TRANSIT"
        },
        {
            "status_date": "2025-07-23T17:14:20Z",
            "status_details": "Item Received",
            "location": null,
            "substatus": {
                "code": "package_accepted",
                "text": "Package has been accepted into the carrier network for delivery.",
                "action_required": false
            },
            "object_created": "2025-07-23T19:48:10.325Z",
            "object_updated": "2025-07-23T19:48:10.325Z",
            "object_id": "d4af04d33e734623b4476215fdc89573",
            "status": "TRANSIT"
        },
        {
            "status_date": "2025-07-24T07:49:07Z",
            "status_details": "Due to be delivered today",
            "location": null,
            "substatus": {
                "code": "delivery_scheduled",
                "text": "Package is scheduled for delivery.",
                "action_required": false
            },
            "object_created": "2025-07-24T08:40:11.324Z",
            "object_updated": "2025-07-24T08:40:11.324Z",
            "object_id": "e1412c07a0954efea54c544634c00646",
            "status": "TRANSIT"
        },
        {
            "status_date": "2025-07-24T10:32:52Z",
            "status_details": "Delivered to Safeplace by",
            "location": null,
            "substatus": {
                "code": "delivered",
                "text": "Package has been delivered.",
                "action_required": false
            },
            "object_created": "2025-07-24T12:57:38.73Z",
            "object_updated": "2025-07-24T12:57:38.73Z",
            "object_id": "f379269f8c584d278d8abd9a9e2bd2ff",
            "status": "DELIVERED"
        }
    ],
    "messages": []
}