Skip to main content
GET
/
api
/
v1
/
shipments
curl --request GET \
  --url https://anivahealth.com/api/v1/shipments \
  --header 'x-api-key: YOUR_API_KEY'
[
  {
    "id": "P2604154821",
    "status": "in_transit",
    "logistics_provider": "go",
    "tracking_number": "GO1234567890",
    "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:22: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-14T16:00:00Z",
    "updated_at": "2026-04-15T11:20:00Z"
  }
]
Retrieve all shipments for your API key’s location groups. List reads are served from our DB without making provider calls — an hourly background sync keeps shipments reasonably fresh (within the last few hours). For a force-refreshed view of one shipment, use Get Shipment.

Request

This endpoint takes no request parameters.

Response

On success, the API returns 200 OK with an array of shipment objects.
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 has a status (free-form provider-sourced label) and time (ISO 8601). Empty array if no events observed yet.
appointments
ShipmentAppointmentLink[]
required
Appointments linked to this shipment, oldest-link first. Each entry is { id, added_at }; cross-reference each id against Get Appointment for the full appointment payload. Empty array when no appointments are linked.
created_at
string
required
Creation timestamp (ISO 8601).
updated_at
string
Last update timestamp (ISO 8601). May be null.

Error responses

StatusDescription
403Forbidden — your API key does not have access to this operation.
500Internal server error.
curl --request GET \
  --url https://anivahealth.com/api/v1/shipments \
  --header 'x-api-key: YOUR_API_KEY'
[
  {
    "id": "P2604154821",
    "status": "in_transit",
    "logistics_provider": "go",
    "tracking_number": "GO1234567890",
    "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:22: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-14T16:00:00Z",
    "updated_at": "2026-04-15T11:20:00Z"
  }
]