Get Payment cards list

Get Payment Cards List

This endpoint retrieves all payment cards linked to a given user profile, returning masked card numbers, expiration details, card types, and associated financial accounts. It supports both business and personal profile lookups, providing a complete snapshot of card inventory for a customer. The response includes spend rules, velocity rules, and card product information attached to each card.

Endpoint

GET /netevia/paymentCards/{profileId}

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 when you need to display or audit all payment cards held by a customer, such as rendering a card management screen in your application. It is also useful for verifying which cards are active, suspended, or expired before processing a transaction or applying spend controls. Partners can call this endpoint to reconcile card issuance records or populate card selection interfaces.

Path Parameters

ParameterTypeRequiredDescription
profileIdinteger (int32)YesThe unique numeric identifier of the user profile whose payment cards are being retrieved.

Response

200 OK

Returns an array of payment card objects. Each object contains the following fields:

FieldTypeDescription
idstringUnique identifier for the payment card.
binstringBank Identification Number (first 6 digits of the card).
last4stringLast four digits of the card number (masked).
statusstringCurrent card status (e.g., ACTIVE, SUSPENDED, CLOSED).
formFactorstringPhysical form of the card: PHYSICAL, VIRTUAL, or BURNER.
expirationDatestringFull expiration date of the card (e.g., 2027-06).
expirationMonthstringTwo-digit expiration month (e.g., 06).
expirationYearstringFour-digit expiration year (e.g., 2027).
networkstringCard network (e.g., VISA, MASTERCARD).
cardTypeinteger (int32)Numeric enum representing the card type (0–4).
cardProductNamestringDisplay name of the card product.
cardProductobjectDetailed card product info including funding accounts and profile sets. See cardproductinfo schema.
financialAccountsarray of objectsList of financial accounts linked to this card. Each item contains id (string) and name (string).
subProfilestringName of the authorized sub-profile (subProfile) if applicable (business customers only).
subProfileIdinteger (int32)Numeric ID of the sub-profile if the card is assigned to an authorized user.
cardProfileSetobjectCard profile set details including id, name, intent, network, and status.
attachedSpendRulesobjectPaginated collection of spend rules attached to the card. Contains pageInfo and edges array.
attachedVelocityRulesobjectPaginated collection of velocity rules attached to the card. Contains pageInfo and edges array.

cardProduct object fields:

FieldTypeDescription
namestringName of the card product.
idstringUnique identifier for the card product.
usagestringIntended usage type of the card product.
productFundingAccountsarrayFunding financial accounts associated with this product. Each item includes id, last4, name, type, accountStatus, routingNumber, and clientName.
cardProfileSetsarrayCard profile sets available for this product. Each item includes id, name, intent, network, and status.
[
  {
    "id": "card_abc123def456",
    "bin": "411111",
    "last4": "4242",
    "status": "ACTIVE",
    "formFactor": "VIRTUAL",
    "expirationDate": "2027-06",
    "expirationMonth": "06",
    "expirationYear": "2027",
    "network": "VISA",
    "cardType": 1,
    "cardProductName": "Business Rewards Visa",
    "cardProduct": {
      "name": "Business Rewards Visa",
      "id": "prod_xyz789",
      "usage": "BUSINESS",
      "productFundingAccounts": [
        {
          "id": "fa_001",
          "last4": "6789",
          "name": "Primary Checking",
          "type": "CHECKING",
          "accountStatus": "ACTIVE",
          "routingNumber": "021000021",
          "clientName": "Acme Corp"
        }
      ],
      "cardProfileSets": [
        {
          "id": "cps_001",
          "name": "Standard Profile Set",
          "intent": "SPEND",
          "network": "VISA",
          "status": "ACTIVE"
        }
      ]
    },
    "financialAccounts": [
      {
        "id": "fa_001",
        "name": "Primary Checking"
      }
    ],
    "subProfile": null,
    "subProfileId": null,
    "cardProfileSet": {
      "id": "cps_001",
      "name": "Standard Profile Set",
      "intent": "SPEND",
      "network": "VISA",
      "status": "ACTIVE"
    },
    "attachedSpendRules": {
      "pageInfo": {
        "startCursor": "cursor_start",
        "endCursor": "cursor_end",
        "hasNextPage": false,
        "hasPreviousPage": false
      },
      "edges": []
    },
    "attachedVelocityRules": {
      "pageInfo": {
        "startCursor": "cursor_start",
        "endCursor": "cursor_end",
        "hasNextPage": false,
        "hasPreviousPage": false
      },
      "edges": []
    }
  }
]

Error Codes

CodeWhen it happens
400The profileId is malformed or fails validation.
401Token is missing, expired, or invalid.
403The authenticated partner does not have permission to access the specified profile.
404No profile found for the given profileId.
500Internal server error on the Netevia platform.

Common Mistakes

  • Passing a non-integer or string value for profileId — the field must be a valid int32.
  • Using an expired Bearer token; tokens expire after 10 minutes and must be refreshed before making the call.
  • Expecting full card numbers in the response — only masked data (bin + last4) is returned; full PAN is never exposed via this endpoint.
  • Confusing subProfileId with profileId — always supply the parent profile ID in the path, not a subprofile ID.

Related Endpoints

  • POST /netevia/paymentCards — Issue a new payment card to a profile.
  • GET /netevia/paymentCards/{profileId}/{cardId} — Retrieve details for a single payment card by card ID.
  • PUT /netevia/paymentCards/{profileId}/{cardId} — Update status or settings of a specific payment card.
  • GET /netevia/profiles/{profileId} — Retrieve the parent profile associated with the cards.

Example

curl -X GET https://api.banking.netevia.dev/netevia/paymentCards/98765 \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json"
Path Params
int32
required
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