List Payment Methods
Retrieve all payment methods stored for the organization.
Request
GET /billing/payment-methods
Authentication
Requires an Admin Bearer JWT token.
Authorization: Bearer <access_token>
Query Parameters
None.
Response
Returns an array of payment method objects.
Success Response
Status Code: 200 OK
Response Body:
[
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"cardNumberMasked": "**** **** **** 4242",
"billerExpiry": "12/2028",
"isDefault": true,
"createdAt": "2026-01-15T09:00:00Z"
}
]
Response Fields
| Field | Type | Description |
|---|---|---|
id | UUID | Unique identifier for the payment method |
cardNumberMasked | string | Masked card number (only last 4 digits visible) |
billerExpiry | string | Card expiration date in MM/YYYY format |
isDefault | boolean | Whether this is the default payment method |
createdAt | string | ISO timestamp when the payment method was added |
Errors
| Status Code | Error Code | Description |
|---|---|---|
401 | UNAUTHORIZED | Missing or invalid JWT token |
403 | FORBIDDEN | User does not have admin privileges |
Example
Request
curl -X GET https://api.entryguard.io/api/v1/billing/payment-methods \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
Response
[
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"cardNumberMasked": "**** **** **** 4242",
"billerExpiry": "12/2028",
"isDefault": true,
"createdAt": "2026-01-15T09:00:00Z"
},
{
"id": "660e8400-e29b-41d4-a716-446655440001",
"cardNumberMasked": "**** **** **** 5555",
"billerExpiry": "06/2027",
"isDefault": false,
"createdAt": "2026-02-01T14:30:00Z"
}
]
Notes
- Payment methods are automatically added during the subscription checkout flow via the payment provider.
- Only one payment method can be set as the default at a time.
- Card details are stored securely by the payment provider and only masked information is accessible via the API.