Week Ending 2026-07-31
10 days ago
Production
Card Subscriptions
GET /card-subscriptions
GET /card-subscriptions- You can now filter the subscription list by
stateand bynetworkBulkFeedId. Both are plain query parameters and combine (AND) with the existing filters.state=activealso matches subscriptions still completing activation (they already serialize asactive).
Card enrollment — Visa single-card
- Enrollment requests the network rejects for bad card data now fail with a
400carrying the actual reason (for example an invalid expiration date) instead of an opaque500 Internal Server Error. Your error handling can treat these as client-fixable input problems rather than retryable server faults.
Card Transactions
GET /transactions — correctness fix
GET /transactions — correctness fix- Mastercard Fuel pre-authorizations on debit cards no longer have the potential to double-count. On some debit fuel transactions the completion amount was added to the pre-auth instead of replacing it, inflating
settledAmount. The mapping is fixed and previously affected transactions have been corrected, each emitting atransaction.updatedwith the right amount.
Amex Bulk Enrollment
- Reissued cards no longer produce duplicate clearings. When a card is reissued (same PAN, new expiry, both cards active), each clearing was delivered once per card link. Clearings now resolve to the latest link only. This is the same behavior that exists for Visa and Mastercard.
- Card enrollment hardened when issuer country data is incomplete. When the Amex starter data file carries an incorrect country for a card, enrollment is retried with the country derived from the card number (bin lookup) so enrollments that used to dead-end as "unsupported country" now succeed when the card is actually eligible. The card's country must still pass the account's country eligibility check.
panFormat(encrypted|tokenized, read-only) is now documented on all network-bulk-feed responses.
Banking
POST /bank-links + bank-link resource
POST /bank-links + bank-link resource- Bank links now record and return the open-banking provider they were created with. The bank-link resource exposes a read-only
provider(older links may omit it), andPOST /bank-linksaccepts optionalproviderandcountryCode;omitted values fall back to your account's bank-linking policy, then the platform defaults, so existing requests behave exactly as before. A provider that isn't enabled for your account returns a400. The Unified Enrollment SDK accepts the same knobs viabankLink: { provider, countryCode }.
transaction.created / transaction.updated webhooks
transaction.created / transaction.updated webhooks- Transaction webhook payloads now carry
bankData, including the bank-feed join key. For bank-feed transactions, the webhook payload includesbankData.bankTransactionId.This is the same id as the matchingbanktransaction.createdevent, so push-only consumers can join the bank and card views of the same spend without a REST read. This also relates toGET /transactionsasbankData.bankTransactionIdis now always the Astrada bank-transaction id and the provider's raw id moved to the newbankData.providerTransactionId.