---
title: "Update Shipping Address"
method: PATCH
path: "/v5/customers/{customer_id}/shipping/{shipping_id}"
tags: ["Customers"]
---

# Update Shipping Address

`PATCH /v5/customers/{customer_id}/shipping/{shipping_id}`

## Request

- Base URL: `https://sandbox.nmi.com/api`
- URL: `https://sandbox.nmi.com/api/v5/customers/{customer_id}/shipping/{shipping_id}`
- Auth: API key in header `Authorization`

Update an existing shipping address for a customer.

## Path parameters

- `customer_id` string, required
- `shipping_id` string, required

## Request body

- ShippingAddressRest: Shipping address and information
  - `id` string: Shipping address ID (max 32 characters). Generated if omitted on create.
  - `first_name` string: Shipping first name
  - `last_name` string: Shipping last name
  - `company` string: Shipping company
  - `address1` string: Shipping address
  - `address2` string: Shipping address, line 2
  - `city` string: Shipping city
  - `state` string: Shipping state.
  - `zip` string: Shipping zip code
  - `country` string: ISO 3166-1 alpha-2 country code. Example: `US`
  - `email` string, email: Shipping email address
  - `carrier` 'ups' | 'fedex' | 'dhl' | 'usps': Shipping carrier

## Response `200`

Shipping 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: Masked payment method on a customer vault billing record response.
      - object
        - `card_number` string, required: Masked card number
        - `card_exp` string, required: Card expiration date. Format: `MMYY`
      - object
        - `check_account` string: Masked bank account number
        - `check_aba` string: Bank routing number
        - `check_name` string: Name on the ACH account
        - `account_type` 'checking' | 'savings': ACH account type
        - `account_holder_type` 'personal' | 'business': ACH account holder type
        - `sec_code` string: Standard Entry Class code
  - `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
  - `merchant_defined_fields` MerchantDefinedFields: Custom fields configured in the merchant control panel under Settings → Merchant Defined Fields (`field_1` through `field_20`).
    - `field_1` string: Merchant defined field 1
    - `field_2` string: Merchant defined field 2
    - `field_3` string: Merchant defined field 3
    - `field_4` string: Merchant defined field 4
    - `field_5` string: Merchant defined field 5
    - `field_6` string: Merchant defined field 6
    - `field_7` string: Merchant defined field 7
    - `field_8` string: Merchant defined field 8
    - `field_9` string: Merchant defined field 9
    - `field_10` string: Merchant defined field 10
    - `field_11` string: Merchant defined field 11
    - `field_12` string: Merchant defined field 12
    - `field_13` string: Merchant defined field 13
    - `field_14` string: Merchant defined field 14
    - `field_15` string: Merchant defined field 15
    - `field_16` string: Merchant defined field 16
    - `field_17` string: Merchant defined field 17
    - `field_18` string: Merchant defined field 18
    - `field_19` string: Merchant defined field 19
    - `field_20` string: Merchant defined field 20

## Other responses

- `400`: Bad Request - Validation Error
- `401`: Unauthorized
- `404`: Customer or shipping address not found

---

[API](https://skmtc.dev/nmi/apis/payments-api.md) - [All operations](https://skmtc.dev/nmi/apis/payments-api/llms.txt) - [OpenAPI document](https://skmtc.dev/nmi/apis/payments-api/revisions/c03727f27e27?raw)
