Shippy

Freight · warehouse · final mile

Public tracking

Track a shipment by code.

Enter the tracking code your store received from Shippy (for example SHIP-AB12CD34). No account required.

API documents

Base URL: . JSON everywhere. Store the SHIPPY API key your admin set in Cloudflare — send it as Authorization: Bearer <your SHIPPY_API_KEY> on partner routes (never expose it in a browser).

GET /api/health

Optional check that the worker and secrets load.

POST /api/packages API key

Create a package from your e-commerce backend. Response includes packageId (UUID), package.id (same value), package.trackingCode, and the rest of the package fields.

Authorization: Bearer YOUR_SHIPPY_API_KEY
Content-Type: application/json

{
  "destination": "Customer City, Country",
  "description": "Order #1234",
  "weightKg": 2.5
}

GET /api/packages API key

List packages created through the integration.

GET /api/packages/:id API key

Fetch one package by its internal id (UUID from create/list).

PATCH /api/packages/:id/status API key

Body: { "status": "…" } — one of on_the_way, arrived_at_warehouse, on_the_way_to_destination, delivery_awaiting, delivered.

GET /api/public/track/:trackingCode public

No auth. Same shipment data as below — use on order status pages or emails. Example: