---
title: "List Alerts"
method: GET
path: "/api/alerts"
tags: ["alerts"]
---

# List Alerts

`GET /api/alerts`

## Request

- Base URL: `https://api.pointifytravels.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.pointifytravels.com/api/alerts`
- Auth: none declared

List all alerts for a user.

See the matching comment on ``list_trips`` — ``user_id`` query
param is optional and falls back to the JWT ``sub`` so mobile
clients don't have to echo their own UUID on every call.

A brand-new user that's never set a fare alert should see the
empty-state on mobile, not a 500. We therefore fail-open on any
DB / cache hiccup below: log it and return ``{"alerts": []}``.
The Trips screen already does the same, and mobile's
``getAlerts`` has no retry path so a 500 here = the whole Deals
tab reads as broken.

## Query parameters

- `user_id` string, nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/pointifytravels/apis/pointify-deal-engine.md) · [All operations](https://skmtc.dev/pointifytravels/apis/pointify-deal-engine/llms.txt) · [OpenAPI document](https://skmtc.dev/pointifytravels/apis/pointify-deal-engine/revisions/4350142a4216?raw)
