Skip to main content

Request card account updates

You can request real-time account updates for cards by making a POST request to the /account-updates endpoint. This provides an immediate response with old and new card account information for Visa and Mastercard. For Discover cards, the account updates are available the next day. 

The following table describes important optional fields included in a request.

Important optional request fields
Field name                                   Description
cardAccountAction

This field is used to register or unregister the card account for recieving subsequent account update notifications.

  • REGISTER: Use this value to register the card account.
  • UNREGISTER: If the card account is registered, use this value to unregister the card account.
merchantRecordIdentifier This field allows you to include your own internal identifier to associate to the inquiry. This value is included in future notifications.
subMerchantId This field is required when you submit an inquiry for your sub-merchant. It contains the value used to register your sub-merchant with the payment networks.
Note

 If you submit an inquiry on behalf of a sub-merchant, include subMerchantId field in the request body.

The following table describes important response fields.

Important response fields
Field name      Descriptions
expectedRecordUpdateTimestamp This field shows the date and time when account updates are available. Run the GET call to retrieve the latest card account updates. For more information, see retrieve latest card account updates.

responseId

The response ID is generated by the Account Updater system and can be used for GET calls to retrieve the response information at a later time.
requestStatus Indicates current card registration status such as REGISTEREDUNREGISTEREDREGISTRATION_FAILED, and  REGISTRATION_PENDING

Request account updates using PAN

Request an account updater inquiry using a PAN in the cardNumber field.

HTTP method: POST

Endpoint: /account-updates

Json
{
    "accountInformation": {
        "accountNumberType": "PAN",
        "cardNumber" : "4111111111111113",
        "expiry" : {
            "month" : "12",
            "year" : "2027"
        }
    }
}

Response:

Json
{
  "requestCreateTimestamp": "2025-09-05T18:53:04.059Z",
  "responseId": "7893bf1f-3caf-44ea-88f7-ba685fcdba94",
  "requestId": "c533548a-ad62-486e-abbd-42d1141e8836",
  "response": "SUCCESS",
  "accountUpdaterResult": {
    "oldAccountInformation": {
      "cardNumber": "4111111111111113",
      "expiry": {
        "month": 12,
        "year": 2027
      },
      "cardTypeName": "VISA",
      "accountNumberType": "PAN"
    },
    "newAccountInformation": {
      "cardNumber": "4111111122819424",
      "expiry": {
        "month": 12,
        "year": 2032
      },
      "cardTypeName": "VISA",
      "paymentMethodChanged": false,
      "accountNumberType": "PAN"
    },
    "networkResponse": {
      "networkResponseCode": "A"
    },
    "reasonMessage": "NEW_ACCOUNT_AND_EXPIRY",
    "responseMessage": "Account Update provided for both account number and expiry"
  }
}

Request account updates using Safetech token

HTTP method: POST

Endpoint: /account-updates

When sending a safetech token in the cardNumber field, you must include the accountNumberType field with the value SAFETECH_TOKEN. If you omit this field, the value in the cardNumber field is treated as a PAN (Primary Account Number) by default.

Json
{
  "accountInformation" : {
    "accountNumberType": "SAFETECH_TOKEN",
    "cardNumber" : "4111111557381113",
    "expiry" : {
      "month" : 7,
      "year" : 2026
    }
  }
}

Response:

Json
{
    "requestCreateTimestamp": "2024-11-18T16:47:40.768Z",
    "responseId": "113194fc-2f07-4ff5-a3c3-85895652c629",
    "requestId": "da887c4b-68b5-4346-b390-2e81afb75223",
    "response": "SUCCESS",
    "accountUpdaterResult": {
        "oldAccountInformation": {
            "cardNumber": "4111111557381113",
            "expiry": {
                "month": 7,
                "year": 2026
            },
            "cardTypeName": "VISA",
            "accountNumberType": "SAFETECH_TOKEN"
        },
        "newAccountInformation": {
            "cardNumber": "4111117039188641",
            "expiry": {
                "month": 7,
                "year": 2031
            },
            "cardTypeName": "VISA",
            "paymentMethodChanged": false,
            "accountNumberType": "SAFETECH_TOKEN"
        },
        "networkResponse": {
            "networkResponseCode": "A"
        },
        "reasonMessage": "NEW_ACCOUNT_AND_EXPIRY",
        "responseMessage": "Account Update provided for both account number and expiry"
    }
}

Request account updates for Discover

Request an account updater inquiry for Discover cards using a PAN in the cardNumber field. 

HTTP method: POST

Endpoint: /account-updates

Json
{
    "accountInformation": {
        "cardNumber": "6011970200000006",
        "expiry": {
            "month": "12",
            "year": "2020"
        }
    } 
}

Response:

Json
{
  "requestCreateTimestamp": "2025-09-05T18:56:36.284Z",
  "responseId": "9ff165ca-91fc-4565-995b-c49bfc144420",
  "requestId": "b3bf9b73-e573-43a8-80b7-a3ae3bbd4d19",
  "response": "SUCCESS",
  "accountUpdaterResult": {
    "oldAccountInformation": {
      "cardNumber": "6011970200000006",
      "expiry": {
        "month": 12,
        "year": 2020
      },
      "accountNumberType": "PAN"
    },
    "responseMessage": "Checking For Update",
    "expectedRecordUpdateTimestamp": "2025-09-06T14:00:00.000Z"
  }
}

Request card registration

Register your card accounts for automated account update inquiries and set up webhook notifications.  API behavior is consistent irrespective of method of payments.

HTTP method: POST

Endpoint: /account-updates

Json
{
    "accountInformation": {
        "accountNumberType": "PAN",
        "cardNumber" : "4011111111111113",
        "expiry" : {
            "month" : "12",
            "year" : "2027"
        }
    },
  "cardAccountAction": "REGISTER"
}

Response:

Json
{
  "requestCreateTimestamp": "2025-09-05T18:59:30.106Z",
  "responseId": "f6e8b0b6-7206-4826-8609-b736b4d124ea",
  "requestId": "c533548a-ad62-486e-abbd-42d1141e8836",
  "requestStatus": "REGISTRATION_PENDING",
  "response": "SUCCESS",
  "accountUpdaterResult": {
    "oldAccountInformation": {
      "cardNumber": "4011111111111113",
      "expiry": {
        "month": 12,
        "year": 2027
      },
      "cardTypeName": "VISA",
      "accountNumberType": "PAN"
    },
    "responseMessage": "Checking For Update",
    "expectedRecordUpdateTimestamp": "2025-09-06T14:00:00.000Z"
  },
  "cardAccountAction": "REGISTER"
}
Note

When you request card registration with cardAccountAction as REGISTER, and the API response contains reasonMessage values of CLOSED_ACCOUNT  or  CONTACT_CARDHOLDER, contact the cardholder to obtain a new card. Unregister the old card with cardAccountAction set to UNREGISTER.

Request registration for registered card

Request card registration for a card that is already registered. You will get the responseMessage with the value Card already registered for Account Updater.

HTTP method: POST

Endpoint: /account-updates

Json
{
    "accountInformation": {
        "accountNumberType": "PAN",
        "cardNumber" : "4111111111111113",
        "expiry" : {
            "month" : "12",
            "year" : "2027"
        }
    },
  "cardAccountAction": "REGISTER"
}

Response:

Json
{
  "requestCreateTimestamp": "2025-09-05T19:02:22.129Z",
  "responseId": "abeab7b4-1a08-4ec8-8f2a-e0e40501e111",
  "requestId": "c533548a-ad62-486e-abbd-42d1141e8836",
  "requestStatus": "REGISTERED",
  "response": "SUCCESS",
  "accountUpdaterResult": {
    "oldAccountInformation": {
      "cardNumber": "4111111111111113",
      "expiry": {
        "month": 12,
        "year": 2027
      },
      "cardTypeName": "VISA",
      "accountNumberType": "PAN"
    },
    "responseMessage": "Card already registered for Account Updater",
    "expectedRecordUpdateTimestamp": "2025-09-06T14:00:00.000Z"
  },
  "cardAccountAction": "REGISTER"
}

The following table summarizes the possible response field values for card account update requests, the corresponding network response codes, recommended actions, and whether the update is billable.

Response field values and recommended action

reasonMessage

responseMessage

networkResponseCode

Visa /  Mastercard / Discover

Action recommended

Billable Update

NEW_ACCOUNT

Account Update provided for account number

A / (not applicable) A

Update account number or token in your system

Yes

NEW_ACCOUNT_AND_EXPIRY

Account Update provided for both account number and expiry

A / ACCOUNT_UPDATE / or O

Update account number or token in your system and expiration date.

Yes

NEW_EXPIRY

Account Update provided for account expiry

E / EXPIRY / E or O

Update expiration date in your system

Yes

CLOSED_ACCOUNT

Account has been closed

C / (not applicable) / C

Contact cardholder to obtain updated card information

Yes

CONTACT_CARDHOLDER

Contact Cardholder

Q / CONTACT / Q

Contact cardholder to obtain updated card information

Yes

MATCH_NO_UPDATE

Valid card no update available

V / VALID / (not applicable)

No action needed

No

NO_MATCH_NON_PARTICIPATING_BIN

BIN range does not participate in Account Updater

N / NON_PARTICIPATING /  (not applicable)

No action needed

No

NO_MATCH_PARTICIPATING_BIN Participating BIN range card not found P / UNKNOWN / (not applicable) No action needed No
Note

For Discover, the networkResponseCode as O indicates that the issuer corrected a previous account update.