Skip to main content
GET
/
api
/
v1
/
shipments
/
{id}
curl --request GET \
  --url https://anivahealth.com/api/v1/shipments/P2604154821 \
  --header 'x-api-key: YOUR_API_KEY'
{
  "id": "P2604154821",
  "status": "in_transit",
  "logistics_provider": "go",
  "tracking_number": "GO123456789",
  "origin": {
    "location_id": "8f3a1b2c-4d5e-6f7a-8b9c-0d1e2f3a4b5c",
    "name": "Aniva Berlin Mitte",
    "street": "Unter den Linden",
    "house_number": "42",
    "postal_code": "10117",
    "city": "Berlin",
    "country": "DE",
    "phone": "+4930987654321",
    "email": "berlin-mitte@anivahealth.com"
  },
  "destination": {
    "location_id": null,
    "name": "LabClinic GmbH",
    "street": "Laborstraße",
    "house_number": "10",
    "postal_code": "80331",
    "city": "München",
    "country": "DE",
    "phone": null,
    "email": null
  },
  "pickup": {
    "from": "2026-04-15T09:00:00+02:00",
    "till": "2026-04-15T12:00:00+02:00",
    "timezone": "Europe/Berlin"
  },
  "notes": null,
  "status_updates": [
    { "status": "Shipment picked up", "time": "2026-04-15T09:42:00Z" },
    { "status": "Receiving station", "time": "2026-04-15T11:18:00Z" }
  ],
  "appointments": [
    {
      "id": "c9f3e2a1-7d6b-4c5e-b3a2-1f0e9d8c7b6a",
      "added_at": "2026-04-15T08:30:00Z"
    }
  ],
  "created_at": "2026-04-03T14:30:00Z",
  "updated_at": "2026-04-15T11:20:00Z"
}
Retrieve a single shipment by its reference ID. The endpoint always force-refreshes the shipment from the logistics provider before returning, so the status and status_updates reflect the provider’s latest known state.

Request

Path parameters

id
string
required
Shipment reference ID (e.g., P2604154821).

Response

On success, the API returns 200 OK with the shipment object.
id
string
required
Shipment reference identifier.
status
string
required
Shipment lifecycle status. One of pending, in_transit, delivered, fault, or cancelled.
logistics_provider
string
required
Logistics provider. One of go, dhl, or tof.
tracking_number
string
External tracking number from the logistics provider. May be null.
origin
object
Pickup address. May be null.
destination
object
Delivery address. Same structure as origin. May be null.
pickup
object
Scheduled pickup window. May be null.
notes
string
Optional notes. May be null.
status_updates
object[]
required
Chronological lifecycle events from the logistics provider (oldest first). Each entry contains the raw provider-sourced status label and a timestamp. Empty array if the provider has not reported any events yet. Use this for debug / audit; rely on status for canonical current state.
appointments
ShipmentAppointmentLink[]
required
Appointments linked to this shipment, oldest-link first. Empty array when no appointments are linked. Cross-reference each id against Get Appointment for the full appointment payload.
created_at
string
required
Creation timestamp (ISO 8601).
updated_at
string
Last update timestamp (ISO 8601). May be null.

Error responses

StatusDescription
400Invalid ID format.
403Forbidden — your API key does not have access to this operation or the shipment is outside your access context.
404Shipment not found.
500Internal server error.
curl --request GET \
  --url https://anivahealth.com/api/v1/shipments/P2604154821 \
  --header 'x-api-key: YOUR_API_KEY'
{
  "id": "P2604154821",
  "status": "in_transit",
  "logistics_provider": "go",
  "tracking_number": "GO123456789",
  "origin": {
    "location_id": "8f3a1b2c-4d5e-6f7a-8b9c-0d1e2f3a4b5c",
    "name": "Aniva Berlin Mitte",
    "street": "Unter den Linden",
    "house_number": "42",
    "postal_code": "10117",
    "city": "Berlin",
    "country": "DE",
    "phone": "+4930987654321",
    "email": "berlin-mitte@anivahealth.com"
  },
  "destination": {
    "location_id": null,
    "name": "LabClinic GmbH",
    "street": "Laborstraße",
    "house_number": "10",
    "postal_code": "80331",
    "city": "München",
    "country": "DE",
    "phone": null,
    "email": null
  },
  "pickup": {
    "from": "2026-04-15T09:00:00+02:00",
    "till": "2026-04-15T12:00:00+02:00",
    "timezone": "Europe/Berlin"
  },
  "notes": null,
  "status_updates": [
    { "status": "Shipment picked up", "time": "2026-04-15T09:42:00Z" },
    { "status": "Receiving station", "time": "2026-04-15T11:18:00Z" }
  ],
  "appointments": [
    {
      "id": "c9f3e2a1-7d6b-4c5e-b3a2-1f0e9d8c7b6a",
      "added_at": "2026-04-15T08:30:00Z"
    }
  ],
  "created_at": "2026-04-03T14:30:00Z",
  "updated_at": "2026-04-15T11:20:00Z"
}