Preview — pending review
This reference is generated from the platform API contract and is still under review. Operations, fields, and descriptions can change before publication.
List payment methods on file in the active scope
Returns the LEGACY payment cards on file for the active tenant/subscription scope: brand, masked
last four digits, expiry month/year, cardholder name and the default flag. The platform stores no
cards and runs no payment processor: the add-card (POST) and update-card (PATCH) operations were
removed because they took a raw card number and CVC; only reading and deleting rows
written before that remain. Full card numbers and CVC values are NEVER present in this response —
only last4 is exposed. Standard collection
parameters (q, sort, order, page, pageSize) apply; the set is typically small.
Validation: scopeId must reference a scope the caller can access (otherwise 403 FORBIDDEN);
malformed pagination or sort parameters map to 422 VALIDATION_FAILED.
Async & state: Synchronous read; no state change. No SSE frames are emitted.
Errors: 401 when unauthenticated; 403 when the caller lacks billing read access in the scope;
422 for malformed query parameters; 500 on backend read-model failure.
Idempotency/Concurrency: Safe, cacheable; no idempotency key required.
bearerTokenAuthorizationBearer <token>An API token (pc_live_…) or a service-account key (sak_live_…), created in Identity & Access Management and sent as Authorization: Bearer <token>. Requests are rate limited per credential and per tenant: every response carries X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset, and a refused request gets 429 RATE_LIMITED with Retry-After.
scopeId*stringOpaque ownership+authorization scope resolving to tenant + subscription + project.
region?stringRestrict the result set to a single region.
^[a-z][a-z0-9-]{1,39}$q?stringFree-text search.
sort?stringField to sort by (entity-specific; defaults to the entity's natural order).
order?stringSort direction.
"asc""asc""desc"page?integer1-based page number.
1 <= value1pageSize?integerItems per page (max 200).
1 <= value <= 20050Paginated collection of payment methods on file.
application/json- response
data*array<>meta*Pagination envelope metadata. List responses are always { data, meta } — never a naked array.
curl -X GET "https://example.com/scopes/string/billing/payment-methods"{ "data": [ { "id": "pm1", "brand": "Visa", "last4": "4242", "expMonth": 1, "expYear": 2027, "holder": "Acme Corp", "isDefault": true } ], "meta": { "page": 1, "pageSize": 1, "total": 0, "hasNext": true }}