Get Open Authorization Transactions
This endpoint retrieves open authorization transactions — card charges that have been authorized but not yet fully settled — for a specified payment card within a given date range. It supports optional amount filtering, text search, and pagination to help partners surface pending financial commitments in their user-facing applications.
Endpoint
POST /api/transactionEvents/openAuthorizations/v2
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 display a customer's pending card authorizations — transactions that have been approved at the point of sale but have not yet cleared. This is useful for showing real-time spend activity before settlement, helping customers track outstanding holds on their account, and enabling partners to build authorization management features.
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
paymentCardId | string | Yes | Unique identifier of the payment card to query authorizations for |
dateFrom | string (date-time) | Yes | Start of the date range (ISO 8601 format) |
dateTo | string (date-time) | Yes | End of the date range (ISO 8601 format) |
filter | object | No | Transaction type filter object (all, deposit, withdraw, pos, transactionStatus) |
jsonFilter | string | No | Additional filter expressed as a JSON string |
amountFilter | object | No | Amount range filter with minValue and maxValue (in cents, integer) |
amountFilter.minValue | integer (int64) | No | Minimum transaction amount in cents |
amountFilter.maxValue | integer (int64) | No | Maximum transaction amount in cents |
searchString | string | No | Free-text search string to match against transaction fields |
paginationSettings | object | No | Pagination control object |
paginationSettings.take | integer (int32) | No | Number of records to return (1–10000) |
paginationSettings.skip | integer (int32) | No | Number of records to skip (0–2147483647) |
{
"paymentCardId": "card_9f3a21b4e8c047d6a1234567",
"dateFrom": "2026-05-01T00:00:00Z",
"dateTo": "2026-06-01T00:00:00Z",
"amountFilter": {
"minValue": 100,
"maxValue": 50000
},
"searchString": "coffee",
"paginationSettings": {
"take": 25,
"skip": 0
}
}Response
200 OK
| Field | Type | Description |
|---|---|---|
data | array | List of open authorization transaction records |
data[].id | string | Unique identifier of the financial activity record |
data[].financialAccountId | string | ID of the financial account associated with this activity |
data[].date | string (date-time) | Date and time the activity was recorded |
data[].sortDate | string (date-time) | Date used for sorting results |
data[].balance | object | Account balance at the time of the transaction (value, currencyCode) |
data[].status | string | Activity status: OTHER, PENDING, COMPLETED, or FAILED |
data[].riskHold | boolean | Whether a risk hold has been placed on this transaction |
data[].settlementDate | string (date-time) | Expected or actual settlement date (nullable) |
data[].purpose | string | Purpose description of the activity (nullable) |
data[].statusReasonCode | string | Machine-readable reason code for the current status (nullable) |
data[].amount | object | Transaction amount with value (int64), currencyCode, and symbol |
data[].clearAmount | object | Cleared portion of the amount with value, currencyCode, and symbol |
data[].pendingAmount | object | Pending portion of the amount with value and currencyCode |
data[].name | string | Display name of the transaction (nullable) |
data[].last4 | object | Last 4 digits identifier with type (CARD or ACCOUNT) and value |
data[].type | string | Transaction type descriptor (nullable, read-only) |
data[].authorizedUser | string | Name or ID of the authorized user who initiated the transaction (nullable) |
data[].merchantCategory | string | Merchant category label (nullable) |
data[].transactionSource | object | Source transaction details including typename, id, and nested transactionEvents array |
data[].transactionSource.transactionEvents[] | array | Individual transaction events with merchant details, amounts, card info, response codes, and authorization expiration |
data[].rewardPoints | integer (int64) | Reward points earned from this transaction (nullable) |
data[].activityInfo | object | Activity metadata including fromProfile, toProfile, and historyRecords |
data[].financialEvent | object | Underlying financial event details (amounts, status, merchant, card, response codes) |
filter | object | Echo of the filter settings applied to the request |
paginationSettings | object | Pagination result metadata |
paginationSettings.totalItems | integer (int32) | Total number of matching records across all pages |
{
"data": [
{
"id": "act_7a2bc3d4e5f60001",
"financialAccountId": "facct_1a2b3c4d5e6f7890",
"date": "2026-05-28T14:32:10Z",
"sortDate": "2026-05-28T14:32:10Z",
"balance": {
"value": 245000,
"currencyCode": "USD"
},
"status": "PENDING",
"riskHold": false,
"settlementDate": null,
"purpose": "Purchase",
"statusReasonCode": null,
"amount": {
"value": 1250,
"currencyCode": "USD",
"symbol": "$"
},
"clearAmount": {
"value": 0,
"currencyCode": "USD",
"symbol": "$"
},
"pendingAmount": {
"value": 1250,
"currencyCode": "USD"
},
"name": "Blue Bottle Coffee",
"last4": {
"type": "CARD",
"value": "4321"
},
"type": "PAYMENT_CARD_TRANSACTION",
"authorizedUser": null,
"merchantCategory": "Food & Beverage",
"transactionSource": {
"typename": "PaymentCardTransaction",
"id": "txn_abc123def456",
"transactionEvents": [
{
"typename": "CardAuthorization",
"id": "evt_xyz789",
"merchantDetails": {
"category": "Food & Beverage",
"categoryCode": "5812",
"countryCodeAlpha3": "USA",
"description": "Eating Places & Restaurants",
"name": "Blue Bottle Coffee",
"merchantId": "merch_0011223344"
},
"pointOfServiceDetails": {
"panEntryMode": "CONTACTLESS",
"pinEntryMode": "NOT_APPLICABLE"
},
"responseCode": "00",
"responseDescription": "Approved",
"approvedAmount": {
"value": 1250,
"currencyCode": "USD"
},
"requestedAmount": {
"value": 1250,
"currencyCode": "USD"
},
"paymentCard": {
"id": "card_9f3a21b4e8c047d6a1234567",
"bin": "411111",
"last4": "4321"
},
"createdAt": "2026-05-28T14:32:10Z",
"authorizationExpiration": "2026-06-04T14:32:10Z",
"processingType": "CARD_NOT_PRESENT",
"rewardPoints": 12,
"accountingDirection": "DEBIT"
}
]
},
"rewardPoints": 12,
"activityInfo": {
"fromProfile": {
"id": 10042,
"name": "Acme Corp",
"agentId": 5001
},
"toProfile": null,
"historyRecords": [
{
"date": "2026-05-28T14:32:10Z",
"status": "PENDING"
}
]
},
"financialEvent": {
"id": "fevt_aa11bb22cc33",
"accountingDirection": "DEBIT",
"processingType": "CARD_NOT_PRESENT",
"typename": "CardAuthorization",
"merchantDetails": {
"category": "Food & Beverage",
"categoryCode": "5812",
"countryCodeAlpha3": "USA",
"description": "Eating Places & Restaurants",
"name": "Blue Bottle Coffee",
"merchantId": "merch_0011223344"
},
"paymentCard": {
"id": "card_9f3a21b4e8c047d6a1234567",
"bin": "411111",
"last4": "4321"
},
"amount": {
"value": 1250,
"currencyCode": "USD"
},
"approvedAmount": {
"value": 1250,
"currencyCode": "USD"
},
"requestedAmount": {
"value": 1250,
"currencyCode": "USD"
},
"originalAmount": {
"value": 1250,
"currencyCode": "USD"
},
"status": "PENDING",
"statusReason": null,
"memo": null,
"purpose": "Purchase",
"transferActivityType": null,
"createdAt": "2026-05-28T14:32:10Z",
"updatedAt": null,
"settlementDate": null,
"returnDate": null,
"partial": false,
"responseCode": "00",
"avsResponseCode": "Y",
"cvvResponseCode": "M",
"postalCodeResponseCode": "Y"
}
}
],
"filter": {
"all": null,
"deposit": null,
"withdraw": null,
"pos": { "displayName": "POS", "value": true },
"transactionStatus": null
},
"paginationSettings": {
"totalItems": 1
}
}Error Codes
| Code | When it happens |
|---|---|
| 400 | Missing required fields (paymentCardId, dateFrom, dateTo), invalid date format, or paginationSettings.take out of range (1–10000) |
| 401 | Token missing, expired, or invalid |
| 403 | Authenticated user does not have permission to view transactions for the specified card |
| 404 | Payment card not found or does not belong to the authenticated user's account |
| 500 | Internal server error |
Common Mistakes
- Omitting
paymentCardId,dateFrom, ordateTo— all three are required and the request will return 400 without them. - Passing
dateFromgreater than or equal todateTo— ensure the date range is valid and non-zero. - Setting
paginationSettings.taketo0or above10000— the allowed range is 1 to 10000 inclusive. - Passing amount values as decimals (e.g.,
12.50) instead of integer cents (e.g.,1250) inamountFilter. - Expecting only fully-settled transactions — this endpoint returns open (pending) authorizations only, not cleared transactions.
Related Endpoints
POST /api/transactionEvents/v2— Retrieve all transaction events (both settled and pending) for a financial accountPOST /api/transactionEvents/openAuthorizations— Earlier version (v1) of the open authorizations endpointGET /api/paymentCards— List payment cards associated with the authenticated account
Example
curl -X POST https://api.banking.netevia.dev/api/transactionEvents/openAuthorizations/v2 \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"paymentCardId": "card_9f3a21b4e8c047d6a1234567",
"dateFrom": "2026-05-01T00:00:00Z",
"dateTo": "2026-06-01T00:00:00Z",
"amountFilter": {
"minValue": 100,
"maxValue": 50000
},
"searchString": "coffee",
"paginationSettings": {
"take": 25,
"skip": 0
}
}'