---
title: "Update Billing Address"
method: PATCH
path: "/v5/customers/{customer_id}/billing/{billing_id}"
tags: ["Customers"]
---

# Update Billing Address

`PATCH /v5/customers/{customer_id}/billing/{billing_id}`

Update an existing billing address for a customer.

## Path parameters

- `customer_id` string, required
- `billing_id` string, required

## Request body

- BillingAddressRest — Billing address and information
  - `method` 'initial_recurring' | 'recurring' | 'installment' — Recurring or installment classification for the processor. - `initial_recurring`: First transaction in a recurring sequence only. - `recurring`: Later charges in that sequence. - `installment`: Installment transactions; use `number` and `total` on supported processors. Which values apply depends on the processor.
  - `number` integer — Specify installment billing number, on supported processors. For use when `billing.method` is set to "installment"
  - `total` number — Specify installment billing total on supported processors. For use when `billing.method` is set to "installment"
  - `first_name` string — Cardholder's first name
  - `last_name` string — Cardholder's last name
  - `company` string — Cardholder's company
  - `address1` string — Card billing address
  - `address2` string — Card billing address, line 2
  - `city` string — Card billing city
  - `state` string — Card billing state. Format: `CC`
  - `zip` string — Card billing zip code
  - `country` string — Card billing country. Country codes are as shown in ISO 3166-1 alpha-2. Format: `CC`
  - `phone` string — Billing phone number
  - `email` string, email — Billing email address
  - `fax` string — Billing fax number
  - `cell_phone` string — Billing cell phone number
  - `website` string — Website (invoice-specific field)
  - `drivers_license_number` string — Driver's license number
  - `drivers_license_dob` string — Driver's license date of birth. Format: `YYYY-MM-DD`
  - `drivers_license_state` string — Driver's license state. Format: `CC`
  - `payment_details` union — Payment method details. Exactly one variant: raw card data, ACH (check) data, **payment_token**, Apple Pay encrypted payload, or Google Pay encrypted payload. Do not combine fields from different variants.
    - object — Non-tokenized credit card data.
      - `card_number` string, required — Credit card number
      - `card_exp` string, required — Credit card expiration date. Format: `MMYY`
      - `card_cvv` string — The card security code.
    - object — Bank account (ACH) details for this transaction.
      - `check_name` string, required — The name on the customer's ACH account
      - `check_aba` number, required — The customer's bank routing number
      - `check_account` number, required — The customer's bank account number
      - `account_type` 'checking' | 'savings', required — The type of ACH account the customer has
      - `account_holder_type` 'personal' | 'business', required — The type of ACH account the customer has
      - `sec_code` 'PPD' | 'WEB' | 'TEL' | 'CCD' | 'POP' | 'RCK', required — The Standard Entry Class code of the ACH transaction
      - `check_number` string — Check number
    - object — Single-use or vault token from Payment Component or Collect.js (not Apple Pay / Google Pay).
      - `payment_token` string, required — The tokenized version of the customer's card or check information
    - object — Encrypted payment data from the Apple Pay SDK.
      - `applepay_payment_data` string, required — The encrypted token created when integration directly to the Apple Pay SDK
    - object — Encrypted payment data from the Google Pay SDK.
      - `googlepay_payment_data` string, required — The encrypted token created when integration directly to the Google Pay SDK
    - object — Merchant-decrypted Apple Pay payment data.
      - `decrypted_applepay_data` true, required — Merchant-decrypted Apple Pay flag.
      - `card_number` string, required — Credit card number
      - `card_exp` string, required — Credit card expiration date. Format: `MMYY`
    - object — Merchant-decrypted Google Pay payment data.
      - `decrypted_googlepay_data` true, required — Merchant-decrypted Google Pay flag.
      - `card_number` string, required — Credit card number
      - `card_exp` string, required — Credit card expiration date. Format: `MMYY`
  - `cardholder_auth` union — Cardholder authentication data. Use the 3-D Secure variant for EMV authentication results. Use the Decrypted wallet variant for merchant-decrypted Apple Pay or Google Pay, which relays the cryptogram and ECI to the 3-D Secure fields.
    - object — EMV 3-D Secure authentication result fields.
      - `status` 'verified' | 'attempted', required — Set 3D Secure condition. Value used to determine E-commerce indicator (ECI).
      - `cavv` string, required — Cardholder authentication verification value from the 3-D Secure authentication response. Format: base64 encoded.
      - `xid` string — Cardholder authentication transaction id. Format: base64 encoded.
      - `three_ds_version` string — 3DSecure version (for example `2.1.0` or `2.2.0`).
      - `directory_server_id` string — Directory Server Transaction ID from 3DSecure 2.0 authentication. Format: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
    - object — Wallet authentication for decrypted Apple Pay or Google Pay payments.
      - `cavv` string, required — Wallet payment cryptogram (submitted in the repurposed 3-D Secure `cavv` field).
      - `eci` string — Electronic Commerce Indicator from the wallet payment data (submitted in the repurposed 3-D Secure `eci` field).

## Response `200`

Billing address updated successfully

- CustomerResponse — Customer response matching CustomerRestSerializer structure
  - `object` 'customer', required — Resource type identifier
  - `id` string, required — Customer vault ID
  - `created` string, date-time, nullable — Customer creation date in UTC ISO 8601 format
  - `billing` object[] — Array of billing addresses
    - `object` 'billing', required — Resource type identifier
    - `id` string, required — Billing address ID (address_name)
    - `first_name` string — First name
    - `last_name` string — Last name
    - `company` string — Company name
    - `address1` string — Address line 1
    - `address2` string — Address line 2
    - `city` string — City
    - `state` string — State or province
    - `zip` string — ZIP or postal code
    - `country` string — Country code (ISO 3166-1 alpha-2)
    - `phone` string — Phone number
    - `email` string, email — Email address
    - `fax` string — Fax number
    - `priority` integer, nullable — Priority of the billing address
    - `payment_details` union — Payment method details. Exactly one variant: raw card data, ACH (check) data, **payment_token**, Apple Pay encrypted payload, or Google Pay encrypted payload. Do not combine fields from different variants.
      - object — Non-tokenized credit card data.
        - `card_number` string, required — Credit card number
        - `card_exp` string, required — Credit card expiration date. Format: `MMYY`
        - `card_cvv` string — The card security code.
      - object — Bank account (ACH) details for this transaction.
        - `check_name` string, required — The name on the customer's ACH account
        - `check_aba` number, required — The customer's bank routing number
        - `check_account` number, required — The customer's bank account number
        - `account_type` 'checking' | 'savings', required — The type of ACH account the customer has
        - `account_holder_type` 'personal' | 'business', required — The type of ACH account the customer has
        - `sec_code` 'PPD' | 'WEB' | 'TEL' | 'CCD' | 'POP' | 'RCK', required — The Standard Entry Class code of the ACH transaction
        - `check_number` string — Check number
      - object — Single-use or vault token from Payment Component or Collect.js (not Apple Pay / Google Pay).
        - `payment_token` string, required — The tokenized version of the customer's card or check information
      - object — Encrypted payment data from the Apple Pay SDK.
        - `applepay_payment_data` string, required — The encrypted token created when integration directly to the Apple Pay SDK
      - object — Encrypted payment data from the Google Pay SDK.
        - `googlepay_payment_data` string, required — The encrypted token created when integration directly to the Google Pay SDK
      - object — Merchant-decrypted Apple Pay payment data.
        - `decrypted_applepay_data` true, required — Merchant-decrypted Apple Pay flag.
        - `card_number` string, required — Credit card number
        - `card_exp` string, required — Credit card expiration date. Format: `MMYY`
      - object — Merchant-decrypted Google Pay payment data.
        - `decrypted_googlepay_data` true, required — Merchant-decrypted Google Pay flag.
        - `card_number` string, required — Credit card number
        - `card_exp` string, required — Credit card expiration date. Format: `MMYY`
  - `shipping` object[] — Array of shipping addresses
    - `object` 'shipping', required — Resource type identifier
    - `id` string, required — Shipping address ID (shipping_address_name)
    - `first_name` string — First name
    - `last_name` string — Last name
    - `company` string — Company name
    - `address1` string — Address line 1
    - `address2` string — Address line 2
    - `city` string — City
    - `state` string — State or province
    - `zip` string — ZIP or postal code
    - `country` string — Country code (ISO 3166-1 alpha-2)
    - `phone` string — Phone number
    - `email` string, email — Email address
    - `fax` string — Fax number
    - `priority` integer, nullable — Priority of the shipping address

## Other responses

- `400` — Bad Request - Validation Error
- `401` — Unauthorized
- `404` — Customer or billing address not found

---

[API](https://skmtc.net/nmi/apis/embedded-components-api.md) · [All operations](https://skmtc.net/nmi/apis/embedded-components-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/nmi/embedded-components-api/versions/45c2ecda3685/schema)
