---
search:
  tags:
    - Alerts
    - GET
seo:
  description: >-
    Admin only. Returns active batches whose expiry date has passed, with stock…
    Reference for the GET /api/v1/alerts/expired endpoint in the PharmaFlow API.
sidebar:
  label: List expired batches
  badge: GET
title: List expired batches
type: openapi-operation
---
Admin only. Returns active batches whose expiry date has passed, with stock still on them. The figure runs forward from the expiry date, so the caller sees how long a batch is off sale.

`GET /api/v1/alerts/expired`

**Responses**

- `200` — Batches that have already expired
- `401` — Not authenticated
- `403` — Caller is not an admin

Response example, 200:

```json
{
  "alerts": [
    {
      "batch_id": "string",
      "medicine_id": "string",
      "medicine_name": "string",
      "branch_id": "string",
      "branch_name": "string",
      "batch_number": "string",
      "expiry_date": "string",
      "days_expired": -9007199254740991,
      "qty_remaining": 0,
      "unit_cost": "string"
    }
  ],
  "count": -9007199254740991
}
```
