Get Card Products
The /netevia/cardProducts endpoint returns a comprehensive list of card products available within the Netevia platform. Each product entry includes its configuration details, spend velocity rules, associated financial accounts, and card profile sets with design imagery. Partners can use this endpoint to present card options to customers during onboarding or account management flows.
Endpoint
GET /netevia/cardProducts
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
Call this endpoint when building a card selection UI so customers can choose the card product that best fits their needs. It is also useful when programmatically determining which card product ID to supply when creating a payment card or a new financial account for a customer. Use the commercial query parameter to filter the list to only personal or only business-oriented products.
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| commercial | boolean | No | When true, returns only commercial (business) card products. When false or omitted, returns all card products. |
Response
200 OK
Returns an array of card product setting objects. Key fields for each item are described below.
Top-level card product object (cardproductsettingresponse)
| Field | Type | Description |
|---|---|---|
| typename | string | Internal type name for the card product. |
| id | string | Unique identifier for the card product. |
| name | string | Display name of the card product. |
| usage | string | Indicates card usage type (e.g., CONSUMER, COMMERCIAL). |
| vertical | string | Product vertical or category (e.g., DEBIT). |
| commercial | boolean | true if this is a commercial/business card product; false for personal. |
| isDefault | boolean | true if this is the default card product for the partner. |
| attachedVelocityRules | object | Paginated connection of velocity (spend limit) rules attached at the product level. Contains pageInfo and edges[]. |
| atmRule | object | Edge object containing the ATM-specific velocity rule, if configured. |
| accounts | object | Paginated connection of financial accounts associated with this product. Contains pageInfo and edges[]. |
| productFundingAccounts | array | List of financial accounts used as funding sources for this product (read-only). |
| cardProfileSets | array | List of card profile sets defining visual design and issuance intent (see below). |
Card profile set object (cardprofilesetresponse)
| Field | Type | Description |
|---|---|---|
| id | string | Unique identifier for the card profile set. |
| name | string | Internal name of the card profile set. |
| intent | string | Issuance intent, indicating card type (e.g., PHYSICAL, VIRTUAL, BURNER). |
| network | string | Payment network (e.g., VISA, MASTERCARD). |
| status | string | Current status of the profile set (e.g., ACTIVE, INACTIVE). |
| cardProductId | string | The parent card product ID this profile set belongs to. |
| displayName | string | Customer-facing display name for this card profile. |
| isDefault | boolean | true if this profile set is the default for the parent card product. |
| description | string | Human-readable description of the card profile set. |
| cardIconSmall | string | (Deprecated) URL for the small card icon image. |
| cardIconLarge | string | (Deprecated) URL for the large card icon image. |
| cardDesign | object | Card design image URLs (see below). |
Card design object (carddesignsettings)
| Field | Type | Description |
|---|---|---|
| frontSideImageUrlXs | string | URL for the small (XS) front-side card image. |
| frontSideImageUrlXl | string | URL for the large (XL) front-side card image. |
| backSideImageUrlXl | string | URL for the large (XL) back-side card image. |
| burnerFrontSideImageUrlXs | string | URL for the small (XS) front-side burner card image. |
| burnerFrontSideImageUrlXl | string | URL for the large (XL) front-side burner card image. |
| burnerBackSideImageUrlXl | string | URL for the large (XL) back-side burner card image. |
Velocity rule object (velocityrule)
| Field | Type | Description |
|---|---|---|
| id | string | Unique identifier of the velocity rule. |
| name | string | Name of the velocity rule. |
| velocityRuleWindow | integer | Time window for the rule: 0 = Single transaction, 1 = Daily, 2 = Monthly. |
| cumulativeRule | object | A single spend rule applied cumulatively across the window. |
| spendRules | array | List of individual spend rules within this velocity rule. |
[
{
"typename": "CardProduct",
"id": "cp_01h9abcdefg1234567890xyz",
"name": "Business Debit",
"usage": "COMMERCIAL",
"vertical": "DEBIT",
"commercial": true,
"isDefault": true,
"attachedVelocityRules": {
"pageInfo": {
"startCursor": "cursor_start",
"endCursor": "cursor_end",
"hasNextPage": false,
"hasPreviousPage": false
},
"edges": [
{
"cursor": "cursor_abc",
"node": {
"id": "vr_01h9abcde111222333",
"name": "Daily Spend Limit",
"velocityRuleWindow": 1,
"spendRules": [
{
"id": "sr_01h9abcde444555666",
"name": "Max $5000 Per Day",
"spendRuleType": 0,
"maximumAmount": {
"value": 500000,
"currencyCode": "USD"
}
}
]
}
}
]
},
"atmRule": null,
"accounts": {
"pageInfo": {
"startCursor": null,
"endCursor": null,
"hasNextPage": false,
"hasPreviousPage": false
},
"edges": []
},
"productFundingAccounts": [],
"cardProfileSets": [
{
"id": "cps_01h9abcde777888999",
"name": "Business Physical Card",
"intent": "PHYSICAL",
"network": "VISA",
"status": "ACTIVE",
"cardProductId": "cp_01h9abcdefg1234567890xyz",
"displayName": "Netevia Business Visa",
"isDefault": true,
"description": "Standard physical Visa debit card for business accounts.",
"cardIconSmall": null,
"cardIconLarge": null,
"cardDesign": {
"frontSideImageUrlXs": "https://assets.banking.netevia.com/cards/business_front_xs.png",
"frontSideImageUrlXl": "https://assets.banking.netevia.com/cards/business_front_xl.png",
"backSideImageUrlXl": "https://assets.banking.netevia.com/cards/business_back_xl.png",
"burnerFrontSideImageUrlXs": "https://assets.banking.netevia.com/cards/burner_front_xs.png",
"burnerFrontSideImageUrlXl": "https://assets.banking.netevia.com/cards/burner_front_xl.png",
"burnerBackSideImageUrlXl": "https://assets.banking.netevia.com/cards/burner_back_xl.png"
}
},
{
"id": "cps_01h9abcde000111222",
"name": "Business Virtual Card",
"intent": "VIRTUAL",
"network": "VISA",
"status": "ACTIVE",
"cardProductId": "cp_01h9abcdefg1234567890xyz",
"displayName": "Netevia Business Virtual Visa",
"isDefault": false,
"description": "Digital-only Visa debit card for online transactions.",
"cardIconSmall": null,
"cardIconLarge": null,
"cardDesign": {
"frontSideImageUrlXs": "https://assets.banking.netevia.com/cards/virtual_front_xs.png",
"frontSideImageUrlXl": "https://assets.banking.netevia.com/cards/virtual_front_xl.png",
"backSideImageUrlXl": "https://assets.banking.netevia.com/cards/virtual_back_xl.png",
"burnerFrontSideImageUrlXs": null,
"burnerFrontSideImageUrlXl": null,
"burnerBackSideImageUrlXl": null
}
}
]
}
]Error Codes
| Code | When it happens |
|---|---|
| 401 | Token missing, expired, or invalid |
| 403 | Insufficient permissions for the requested partner scope |
| 500 | Internal server error |
Common Mistakes
- Passing
commercial=trueand expecting personal card products — thecommercialflag strictly filters to business-oriented products only. - Using a card product
idfrom this response without checking itscardProfileSetsfirst; the profile setintentfield (PHYSICAL,VIRTUAL,BURNER) determines which card types can be issued under that product. - Ignoring the
isDefaultflag on both the product and its profile sets; most partner integrations should pre-select the default product and profile set to reduce customer friction. - Treating
cardIconSmallandcardIconLargeas current — these fields are deprecated. UsecardDesign.frontSideImageUrlXsandcardDesign.frontSideImageUrlXlinstead. - Assuming amounts in
maximumAmount.valueare in dollars — all monetary values are in the smallest currency unit (cents for USD). A value of500000equals $5,000.00 USD.
Related Endpoints
POST /netevia/paymentCards— Issue a new payment card for a customer using a card product and profile set obtained from this endpointGET /netevia/paymentCards/{profileId}— Retrieve details of an existing payment cardPOST /api/auth/v2— Obtain the Bearer token required for authentication
Example
curl -X GET "https://api.banking.netevia.dev/netevia/cardProducts?commercial=true" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json"