Get List of Payment Cards (Paginated)

Retrieve a paginated list of payment cards associated with the authenticated account, with optional filtering by card attributes.

Get List of Payment Cards (Paginated)

This endpoint retrieves a paginated list of payment cards associated with the authenticated account. It supports filtering by BIN, last four digits, active status, and the ability to scope results to sub-user cards only. Each card record includes detailed metadata such as card status, cardholder information, issuing network, linked financial accounts, and visual design elements.

Endpoint

GET /api/paymentCards/v3/paginated

Authentication

Bearer token required. Obtain via:

POST https://api.banking.netevia.dev/api/auth/v2

Include in header: Authorization: Bearer {token}
Token lifetime: 10 minutes. Refresh via POST /api/auth/refresh.

When to use

Use this endpoint to power a card management dashboard, audit all issued cards for a customer or partner, or retrieve a filtered subset of cards — for example, displaying only cards belonging to authorized sub-users. It is also useful for reconciliation flows that need to page through large card inventories efficiently using cursor-based or offset-based pagination.

Query Parameters

ParameterTypeRequiredDescription
skipinteger (int32)NoNumber of records to skip for offset-based pagination. Default: 0.
countinteger (int32)NoNumber of records to return per page. Default: 20.
binstringNoFilter cards by BIN (Bank Identification Number, first 6 digits).
last4stringNoFilter cards by the last 4 digits of the card number.
isActivebooleanNoWhen true, returns only active cards.
cursorstringNoCursor value for cursor-based pagination (from a previous response).
lastUserIdstringNoLast user ID from a previous page, used alongside cursor-based pagination.

Response

200 OK

FieldTypeDescription
totalCountintegerTotal number of cards matching the query.
errorMessagestringError message if applicable; typically empty on success.
cursorstringCursor token to use for retrieving the next page of results.
lastUserIdstringID of the last user in the current page, for cursor-based pagination continuity.
recordsarrayArray of payment card objects (see fields below).
records[].idstringUnique identifier for the payment card.
records[].binstringBank Identification Number (first 6 digits, masked).
records[].last4stringLast 4 digits of the card number.
records[].statusstringCard status: ACTIVATION_REQUIRED, ACTIVE, SUSPENDED, or CLOSED.
records[].formFactorstringCard form factor: Physical, Virtual, or Burner.
records[].expirationDatestringCard expiration date.
records[].networkstringCard network (e.g., Visa, Mastercard).
records[].cardTypeinteger (int32)Integer enum indicating the card type (0–4).
records[].cardholderstringFull name of the cardholder.
records[].subProfilestringName of the associated sub-user profile, if applicable.
records[].departmentstringDepartment the cardholder belongs to, if applicable.
records[].cardNamestringDisplay name assigned to the card.
records[].financialAccountsarrayLinked financial accounts; each entry has id and name.
records[].financialAccounts[].idstringUnique identifier of the linked financial account.
records[].financialAccounts[].namestringDisplay name of the linked financial account.
records[].isMainCardbooleantrue if this is the account holder's primary card.
records[].partnerNamestringName of the partner associated with the card.
records[].partnerIdintegerNumeric ID of the partner associated with the card.
records[].cardDesignobjectURLs for card design images (front/back, small/large).
records[].cardDesign.frontSideImageUrlXsstringURL for the small front-side card image.
records[].cardDesign.frontSideImageUrlXlstringURL for the large front-side card image.
records[].cardDesign.backSideImageUrlXlstringURL for the large back-side card image.
records[].cardProfileSetIdstringIdentifier for the card profile configuration set.
records[].featuresarray of stringsList of enabled features for this card. Possible values: Activate, Close, LockUnlock, ReissueCard, SetUpPin, OrderStatus, SpendingReport, TransactionLimits, TransactionLimitsViewOnly.
records[].subProfileIdintegerNumeric ID of the sub-user if the card belongs to an authorized user.
records[].isCardForReissuebooleanRead-only. Indicates whether the card is flagged for reissuance.
{
  "totalCount": 2,
  "errorMessage": null,
  "cursor": "eyJsYXN0SWQiOiJhYmMxMjMifQ==",
  "lastUserId": "usr_98765",
  "records": [
    {
      "id": "card_001abc",
      "bin": "411111",
      "last4": "4242",
      "status": "ACTIVE",
      "formFactor": "Physical",
      "expirationDate": "2027-08",
      "network": "Visa",
      "cardType": 0,
      "cardholder": "Jane Doe",
      "subProfile": null,
      "department": "Finance",
      "cardName": "Business Checking Card",
      "financialAccounts": [
        {
          "id": "fa_001xyz",
          "name": "Business Checking"
        }
      ],
      "isMainCard": true,
      "partnerName": "Netevia",
      "partnerId": 101,
      "cardDesign": {
        "frontSideImageUrlXs": "https://cdn.netevia.com/cards/front_xs.png",
        "frontSideImageUrlXl": "https://cdn.netevia.com/cards/front_xl.png",
        "backSideImageUrlXl": "https://cdn.netevia.com/cards/back_xl.png"
      },
      "cardProfileSetId": "cps_standard_001",
      "features": ["LockUnlock", "SetUpPin", "SpendingReport", "TransactionLimits"],
      "subProfileId": null,
      "isCardForReissue": false
    },
    {
      "id": "card_002def",
      "bin": "422222",
      "last4": "8888",
      "status": "ACTIVATION_REQUIRED",
      "formFactor": "Virtual",
      "expirationDate": "2026-12",
      "network": "Mastercard",
      "cardType": 1,
      "cardholder": "John Smith",
      "subProfile": "John Smith - Authorized User",
      "department": "Operations",
      "cardName": "Team Card",
      "financialAccounts": [
        {
          "id": "fa_002abc",
          "name": "Business Savings"
        }
      ],
      "isMainCard": false,
      "partnerName": "Netevia",
      "partnerId": 101,
      "cardDesign": {
        "frontSideImageUrlXs": "https://cdn.netevia.com/cards/virtual_front_xs.png",
        "frontSideImageUrlXl": "https://cdn.netevia.com/cards/virtual_front_xl.png",
        "backSideImageUrlXl": "https://cdn.netevia.com/cards/virtual_back_xl.png"
      },
      "cardProfileSetId": "cps_virtual_002",
      "features": ["Activate", "Close"],
      "subProfileId": 55,
      "isCardForReissue": false
    }
  ]
}

Card Statuses

StatusDescription
ACTIVATION_REQUIREDThe card has been issued but must be activated before use.
ACTIVEThe card is active and ready for transactions.
SUSPENDEDThe card is suspended; authorizations will fail until reinstated to ACTIVE.
CLOSEDThe card has been permanently closed; all future authorizations will fail.

Error Codes

CodeWhen it happens
400Invalid query parameter values (e.g., non-integer skip or count)
401Token missing, expired, or invalid
403Insufficient permissions to list cards for this account
500Internal server error

Common Mistakes

  • Omitting the Authorization header or using an expired token will result in a 401 response; tokens expire after 10 minutes and must be refreshed via POST /api/auth/refresh.
  • Using offset-based pagination (skip/count) and cursor-based pagination (cursor/lastUserId) simultaneously can produce inconsistent results; choose one approach per request.
  • The cardType field is an integer enum (0–4) — do not compare it to string values in client code.
  • The partnerCardIcons field is deprecated and should not be used in new integrations.
  • When onlySubCards filtering is needed, use the isActive flag combined with subProfileId filtering on the client side, as the paginated endpoint returns all card types by default.

Related Endpoints

  • POST /api/paymentCards/v3 — Issue a new payment card (Physical, Virtual, or Burner)
  • GET /api/paymentCards/v3/{cardId} — Retrieve details for a specific payment card
  • PUT /api/paymentCards/v3/{cardId}/status — Update the status of a payment card (lock, unlock, close)
  • GET /api/paymentCards/v3/{cardId}/transactions — List transactions for a specific payment card

Example

curl -X GET "https://api.banking.netevia.dev/api/paymentCards/v3/paginated?skip=0&count=20&isActive=true" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json"

Retrieve the next page using cursor-based pagination:

curl -X GET "https://api.banking.netevia.dev/api/paymentCards/v3/paginated?cursor=eyJsYXN0SWQiOiJhYmMxMjMifQ==&count=20" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json"

Retrieve only cards belonging to sub-users (authorized users), paginating through results:

curl -X GET "https://api.banking.netevia.dev/api/paymentCards/v3/paginated?skip=100&count=50" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json"
Query Params
int32
Defaults to 0
int32
Defaults to 20
string
string
boolean
string
string
Headers
string
enum
Defaults to application/json

Generated from available response content types

Allowed:
Response

Language
Credentials
Bearer
JWT
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
text/plain
application/json
text/json