Get Authorization Controls
The GET /api/authorizationControls endpoint returns the active authorization control rules configured for payment cards associated with the authenticated user. Each rule governs a specific dimension of card usage, such as per-transaction spending limits, monthly spending caps, daily ATM withdrawal limits, allowed or blocked merchant categories, and allowed or blocked merchant countries. Partners use this endpoint to inspect and audit the security and spending policy layer applied to their customers' cards.
Endpoint
GET /api/authorizationControls
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 a card's current spending controls to a cardholder or administrator, verify that a specific rule is active before attempting a transaction, or audit compliance of card policies across multiple cards. It is also useful when troubleshooting declined transactions where a merchant category or country restriction may be the cause.
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| paymentCardIds | array of strings | No | One or more payment card IDs to filter results. When omitted, controls for all cards accessible to the authenticated user are returned. |
Response
200 OK
| Field | Type | Description |
|---|---|---|
| userProfileId | integer (int32) | Internal identifier of the user profile that owns the card. |
| paymentCardId | string | Unique identifier of the payment card. |
| formFactor | string | Deprecated. Card form factor (e.g., Physical, Virtual). |
| last4 | string | Deprecated. Last four digits of the card number. |
| cardholder | string | Deprecated. Name of the cardholder. |
| authorizationControls | array of objects | List of authorization control rules applied to the card. See rule objects below. |
authorizationControls item
| Field | Type | Description |
|---|---|---|
| id | integer (int32) | Unique identifier of the authorization control entry. |
| type | string (enum) | Rule type. One of: TransactionAmount, MonthlyAmount, DailyAtmWithdrawal, MerchantCategory, MerchantCountry. |
| rule | object | Rule detail object. Structure varies by type — see rule type descriptions below. |
rule object — TransactionAmount
| Field | Type | Description |
|---|---|---|
| type | string | TransactionAmount |
| id | string | Rule identifier. |
| amount | integer (int64) | Maximum single transaction amount allowed, in cents. |
rule object — MonthlyAmount
| Field | Type | Description |
|---|---|---|
| type | string | MonthlyAmount |
| id | string | Rule identifier. |
| amount | integer (int64) | Maximum total spend allowed per calendar month, in cents. |
rule object — DailyAtmWithdrawal
| Field | Type | Description |
|---|---|---|
| type | string | DailyAtmWithdrawal |
| id | string | Rule identifier. |
| amount | integer (int64) | Maximum ATM cash withdrawal allowed per day, in cents. |
| merchantCategoryRule | object | Optional nested merchant category rule applied alongside the ATM withdrawal limit. |
rule object — MerchantCategory
| Field | Type | Description |
|---|---|---|
| type | string | MerchantCategory |
| id | string | Rule identifier. |
| allowed | array of strings | Merchant category codes explicitly permitted. Null means no allowlist restriction. |
| blocked | array of strings | Merchant category codes explicitly prohibited. Null means no blocklist restriction. |
rule object — MerchantCountry
| Field | Type | Description |
|---|---|---|
| type | string | MerchantCountry |
| id | string | Rule identifier. |
| allowed | array of strings | ISO 3166 alpha-3 country codes explicitly permitted. Null means no allowlist restriction. |
| blocked | array of strings | ISO 3166 alpha-3 country codes explicitly prohibited. Null means no blocklist restriction. |
[
{
"userProfileId": 10234,
"paymentCardId": "card_abc123def456",
"formFactor": null,
"last4": null,
"cardholder": null,
"authorizationControls": [
{
"id": 1,
"type": "TransactionAmount",
"rule": {
"type": "TransactionAmount",
"id": "rule_001",
"amount": 50000
}
},
{
"id": 2,
"type": "MonthlyAmount",
"rule": {
"type": "MonthlyAmount",
"id": "rule_002",
"amount": 500000
}
},
{
"id": 3,
"type": "DailyAtmWithdrawal",
"rule": {
"type": "DailyAtmWithdrawal",
"id": "rule_003",
"amount": 30000,
"merchantCategoryRule": null
}
},
{
"id": 4,
"type": "MerchantCategory",
"rule": {
"type": "MerchantCategory",
"id": "rule_004",
"allowed": [
"GROCERY_STORES_SUPERMARKETS",
"SERVICE_STATIONS",
"DRUG_STORES_AND_PHARMACIES"
],
"blocked": [
"BETTING_CASINO_GAMBLING",
"PACKAGE_STORES_BEER_WINE_AND_LIQUOR"
]
}
},
{
"id": 5,
"type": "MerchantCountry",
"rule": {
"type": "MerchantCountry",
"id": "rule_005",
"allowed": ["USA", "CAN", "GBR"],
"blocked": null
}
}
]
}
]Error Codes
| Code | When it happens |
|---|---|
| 400 | One or more values in paymentCardIds are malformed or invalid. |
| 401 | Token missing, expired, or invalid. |
| 403 | The authenticated user does not have permission to view controls for the requested card(s). |
| 404 | No payment card found matching the provided paymentCardIds. |
| 500 | Internal server error. |
Common Mistakes
- Passing raw card numbers in
paymentCardIdsinstead of the Netevia internal card ID (paymentCardId) returned when the card was created. - Expecting deprecated fields (
formFactor,last4,cardholder) to be populated — these are marked deprecated and may return null. - Interpreting a null
allowedlist as "nothing is allowed." A nullallowedarray means no allowlist is in effect (all categories/countries are permitted unless individually blocked). - Interpreting a null
blockedlist as "nothing is blocked." A nullblockedarray means no blocklist is in effect. - Forgetting that
amountvalues are in cents (integer). A value of50000represents $500.00, not $50,000.
Related Endpoints
POST /api/authorizationControls— Create a new authorization control rule for a payment card.PUT /api/authorizationControls/{id}— Update an existing authorization control rule.DELETE /api/authorizationControls/{id}— Remove an authorization control rule from a payment card.GET /api/paymentCards— List payment cards for the authenticated user.
Example
curl -X GET "https://api.banking.netevia.dev/api/authorizationControls?paymentCardIds=card_abc123def456&paymentCardIds=card_xyz789ghi012" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json"