> For the complete documentation index, see [llms.txt](https://docs.verygoodsecurity.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.verygoodsecurity.com/cmp/products-and-services/account-updater.md).

# Account Updater

## Product Overview <a href="#product-overview" id="product-overview"></a>

Account Updater bridges the gap between card issuers and merchants, seamlessly delivering updated card information directly into your hands. No more chasing customers for new details or wrangling with failed payments. This powerful network tool empowers you to:

* Boost authorization success rates: Minimize declined transactions and ensure smooth recurring payments for subscription models.
* Reduce customer churn: Offer a frictionless checkout experience that keeps customers happy and engaged.
* Simplify workflows: Eliminate manual updates and focus on building your business instead of chasing card details.
* Enhance security: Leverage secure and encrypted data exchange to protect both you and your customers. VGS Account Updater simplifies connection to payment networks, automatically fetching and delivering updated card information to merchants, ensuring seamless recurring payments and reducing customer churn.

### Account Updater with [Card Objects](/cmp/payment-credentials/cards.md) <a href="#account-updater-with-card-objects" id="account-updater-with-card-objects"></a>

The Card Management Platform is built to support subscribing individual Card Objects on a per-account basis, enabling effective account-level card management. Each Card Object is uniquely identified by a cardID. When the Account Updater service is activated for an account, the platform performs network lookups using the associated cardID. The service is compatible with Visa, Mastercard, American Express, and Discover networks.

### Account Updater Network Coverage <a href="#account-updater-via-cmp" id="account-updater-via-cmp"></a>

We support Account Updater for **Visa, Mastercard, American Express, and Discover** networks.

Please note:

* **American Express** and **Discover** support is available only for direct merchants.
* **Real-time Account Updater** is supported **only for Visa and Mastercard**.
* For **Amex** and **Discover**, **real-time updates** are returned **only for cards previously subscribed** by us.

Customers can choose one of two paths for facilitating Account Updater subscription.

#### On-Create Subscription: <a href="#on-create-enrollment" id="on-create-enrollment"></a>

This is the default and the automated subscription option. When a card is created, VGS automatically subscribes it in the Account Updater services that are enabled for the account.

* **Behavior:**
  * Card creation triggers automatic subscription in Account Updater.
  * A webhook notification is sent when the subscription is successful.
  * If updates are available from the networks at the time of subscription, they are delivered as part of the notification.
* **Best For:**
  * Customers who want automatic Account Updater tracking with minimal integration effort.

#### Manual Subscription: <a href="#manual-enrollment" id="manual-enrollment"></a>

Manual subscription gives customers fine-grained control over when and how a card is subscribed to Account Updater services. When an account is not set to subscribe onCreate, the creation of a card does not trigger a subscription.&#x20;

Manual subscriptions are processed through independent API endpoints and are normally synchronous, meaning a response is returned immediately. To ensure timely processing, VGS applies a 10-second timeout. If a response takes longer, the request is automatically handled asynchronously, with the result delivered via webhook. In such cases, the initial response will indicate: ‘*The request will be processed asynchronously*'.

* **Behavior:**
  * Cards are created without Account Updater subscription.
  * **To subscribe:**
    * Customers must explicitly subscribe cards using the subscription endpoint: `POST /cards/{CardID}/card-update-subscriptions`.
    * A confirmation response is returned immediately.
    * Enrollment-Type/Provisioning-Method: **Manual**.
  * **To unsubscribe:**
    * `DELETE /cards/{CardID}/card-update-subscriptions`.
    * Account Updater tracking is removed for the **specified card ID and all duplicate cards**, and they are marked as unenrolled within VGS systems.
    * Once unsubscribed, the Account Updater object is removed from the `GET /cards/{CardID}` response, and no further Account Updater updates will be delivered.
    * No further card updates will be fetched or delivered.
    * Enrollment-Type/Provisioning-Method: The card may have been subscribed to Account Updater either:
      * **Manually**, via the `/card-update-subscriptions` endpoint after card creation using the manual method , or
      * **Automatically**, if created using the oncreate method during card registration.
  * **Best For:**
    * Customers who want precise control over which cards are subscribed and when.

### On-Demand Updates <a href="#on-demand-updates" id="on-demand-updates"></a>

This flow allows customers to perform real-time Account Updater lookups **without subscribing the card** in ongoing tracking. This is a stateless request available only for **Visa** and **Mastercard**.

* **Behavior:**
  * Use the endpoint: `POST /cards/{CardID}/check`.
  * This retrieves current Account Updater data (if available) but does not subscribe the card for future updates.
  * On-demand requests are typically used in decisioning workflows or just-in-time processing.
  * Existing card object is **automatically updated** with the latest PAN and/or expiration date returned from an On-Demand API call.
  * Enrollment-Type/Provisioning-Method: **Manual**.
* **Limitations:**
  * **American Express** and **Discover** do not support real-time Account Updater lookups.
    * Amex: Updates are retrieved approximately every 30 minutes.
    * Discover: Updates are retrieved once daily.
  * Updates for Amex and Discover are handled through batch-based file processing and delivered via webhooks.
* **Best For:**
  * Customers who want real-time update visibility without long-term tracking.
  * Commonly used with Manual Subscription, but technically compatible with onCreate.

### AU Subscription and Update Attributes in `GET /cards/{id}` Response

When a card is **subscribed** to Account Updater, the `GET /cards/{id}` response will include two AU-related `type` attributes on the card:

* `"type"`: `"card_update_subscriptions"` — Indicates that the card is currently enrolled in AU and reflects its active subscription status.
* `"type"`: `"card_updates"` — Contains the most recent update details for the card, showing what changes (if any) have been received.

When the card is **unsubscribed** from Account Updater:

* The `"card_update_subscriptions"` attribute will no longer appear in the response.
* The `"card_updates"` attribute will still be returned, providing the last update information available for the card.

This ensures the API conveys both the current enrollment status and the last known update details without losing historical context.

### **Note:**&#x20;

* The [Get Card by ID](https://docs.verygoodsecurity.com/cmp/developer-resources/api/cards#get-cards-card_id) and Account Updater [Card-Check / On-Demand APIs](https://docs.verygoodsecurity.com/cmp/developer-resources/api/account-updater#post-cards-card_id-check) return the following Account Updater event types:
  * `updated` , `enrolled` ,  `expired` ,  `closed` , `non_participating` ,  `contact_cardholder_advice` ,  `opt_out` ,  `unknown`, and `enrollment-failed`.
* These correspond to the **same** Account Updater **events** sent via the [webhook notifications](https://docs.verygoodsecurity.com/cmp/products-and-services/account-updater#account-updater-events). However, webhook events are returned with the **`cmp_au_card.`** prefix in the `event` field (for example, `cmp_au_card.updated`, `cmp_au_card.closed`).
* For `updated` events, only fields that actually changed are returned as previous values. A PAN change does not necessarily mean the expiration date also changed.

### Account Updater Notification Events <a href="#account-updater-events" id="account-updater-events"></a>

After a card has been enrolled for account updates, several events may occur that update the card's status. You may receive these status updates via our **webhook integration**. Here is a brief explanation of what each update means:

#### cmp\_au\_card.updated

* **Definition:** An event triggered when the card’s Primary Account Number (PAN) or other account details have changed. This can be due to a new account creation, a lost or stolen card, a cardholder upgrade (e.g., to Platinum), or a portfolio change (e.g., the card was moved from one bank to another). In some cases, only the PAN changes while the expiration date remains the same. **For example**, if a card is lost or misplaced and reissued, the issuer may issue a new card number but keep the same expiration date.
* **Implication:** The merchant’s stored card information may now be outdated. The new, correct card information is available. Only the fields that actually changed will be returned as changed values. If the PAN changes but the expiration date stays the same, the old expiration details will not be returned because that field did not change.
* **Action Required:** The merchant must use the updated card information (the new PAN and/or expiry date) to ensure transactions are successful.

#### cmp\_au\_card.expired

* **Definition:** An event triggered when the card's expiration date has been updated, but the Primary Account Number (PAN) remains the same.
* **Implication:** The merchant's stored expiration date is outdated. Using the old date will cause transaction failures.
* **Action Required:** The merchant must retrieve the new expiration date from the event and use them to ensure transactions are successful.

#### cmp\_au\_card.closed

* **Definition:** A notification from the issuer that the cardholder's account has been permanently closed and is no longer active.
* **Implication:** The stored card is permanently invalid. Any future transaction attempts will fail.
* **Action Required:** The merchant must stop attempting transactions with this card and contact the cardholder to obtain a completely new payment method.

#### cmp\_au\_card.non\_participating

* **Definition:** An event indicating that the card's BIN (the first 6-8 digits) is not part of the Account Updater service.
* **Implication:** The card is not eligible for automatic updates. Its status will not be monitored by the Account Updater service, and no future updates will be provided.
* **Action Required:** The merchant must rely on manual processes (e.g., contacting the customer upon transaction failure) to get updated card information when this card expires or updates.

#### cmp\_au\_card.contact\_cardholder\_advice

* **Definition:** This advice is provided when the issuer determines that the merchant should reach out directly to the cardholder for updated account information.
* **Implication:** It may be used in situations where the account status/update cannot be automatically provided through Account Updater for e.g. due to additional verification is required, account type changes occurred, or due to the issuer’s internal policies on certain card types.
* **Action Required:** Merchants are prompted to contact the cardholder to resolve any issues with payment credentials.

#### cmp\_au\_card.opt\_out

* **Definition:** Indicates that the cardholder has chosen not to participate in the Account Updater service.
* **Implication:** When a cardholder opts out, their account updates (such as a new account number or expiration date) are not shared with merchants or acquirers through Account Updater.
* **Action Required:** Merchants will not receive automatic updates for these accounts and may need to contact the cardholder directly for updated payment information if a transaction fails due to outdated credentials.

{% hint style="info" %}
**Note:** At a high level, `contact_cardholder_advice` and `opt_out` have similar functionality – the merchant is prompted to reach out to the cardholder for account information. Both events can occur *before* or *after* a card is enrolled in Account Updater.
{% endhint %}

#### cmp\_au\_card.unknown

* **Definition:** A temporary status indicating the card is from a participating BIN, but the network could not find a match at this time.
* **Implication:** The card is still successfully enrolled, but no update is available *yet*. The network will continue to check for updates periodically.
* **Action Required:** Treat the card as valid and continue to use it. No immediate merchant action is needed. The status will automatically change if an update (like `expired` or `closed`) is found later.

#### cmp\_au\_card.enrolled

* **Definition:** An event that confirms a card is successfully enrolled in the Account Updater service. It also serves as a "no change" notification, confirming that the stored PAN and expiration date are still correct.
* **Implication:** The card is active, valid, and being monitored for future updates.
* **Action Required:** No action is required. The merchant can continue to use the card with confidence.

#### cmp\_au\_card.enrollment.failed

* **Definition:** A failure event indicating the card could not be registered with the Account Updater service.
* **Implication:** The card will not be monitored for any updates. This could be due to invalid card data, a non-participating network, or other issues.
* **Action Required:** The merchant must rely on manual processes to get updates for this card.

### Setup Requirements <a href="#setup-requirements" id="setup-requirements"></a>

* Account Updater must be enabled on the customer's [CMP account](/cmp/platform/cmp-account.md).
* For manual workflows, `enrollment_type: manual` must be configured.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.verygoodsecurity.com/cmp/products-and-services/account-updater.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
