---
title: "List my saved cards"
method: GET
path: "/v1/payment-methods"
tags: ["payment-methods"]
---

# List my saved cards

`GET /v1/payment-methods`

## Request

- Base URL: `https://api.getmyhotels.com`
- URL: `https://api.getmyhotels.com/v1/payment-methods`
- Auth: HTTP bearer

Runs `user.listPaymentMethods`. Returns `{ paymentMethods: [{ publicId, type, brand, last4, expiryMonth, expiryYear, isDefault, holderName }] }` for active cards; no provider token ever leaves the server. `brand` is Stripe's lowercase name (`visa`, `mastercard`, `amex`, ...). The billing address is the profile address on `GET`/`PATCH /v1/account/profile`.

## Response `200`

Success

- unknown

## Other responses

- `400`: Request validation failed or the router rejected the input
- `401`: Missing or invalid bearer session token
- `426`: Reported X-GMH-App-Version is below the supported minimum — the app must update
- `500`: Unexpected server error (opaque; details stay in logs)

---

[API](https://skmtc.dev/getmyhotels/apis/getmyhotels-rest-api.md) · [All operations](https://skmtc.dev/getmyhotels/apis/getmyhotels-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/getmyhotels/apis/getmyhotels-rest-api/revisions/cba24a9c13f0?raw)
