Skip to main content
Version: 2.0.0

SaveAddressMutation

Description

Creates or updates a customer address in address book storage. Operation name: saveAddress.

This mutation supports both storage modes used by the plugin:

  • native Craft Pro customer addresses
  • plugin-managed customer address book

If id is provided, the existing address is updated.
If id is omitted, a new address entry is created.

Endpoint

mutation saveAddress(
$id: Int
$type: String!
$name: String!
$firstname: String!
$lastname: String!
$telephone: String
$street: String!
$city: String!
$postcode: String!
$country_code: String!
) {
saveAddress(
id: $id
type: $type
name: $name
firstname: $firstname
lastname: $lastname
telephone: $telephone
street: $street
city: $city
postcode: $postcode
country_code: $country_code
) {
id
name
firstname
lastname
telephone
street
city
postcode
country_code
}
}

Arguments

ArgumentTypeRequiredDescription
idIntNoExisting address ID to update.
typeStringYesAllowed values: billing, shipping.
nameStringYesDisplay name (frontend/admin usage).
firstnameStringYesFirst name.
lastnameStringYesLast name.
telephoneStringNoPhone number.
streetStringYesStreet line.
cityStringYesCity.
postcodeStringYesPostal code.
country_codeStringYesCountry code.

Authentication

Requires authenticated GraphQL user context.

Return Values

Returns one YuiAddress object with saved values.

Usage Example

mutation {
saveAddress(
type: "shipping"
name: "John Doe"
firstname: "John"
lastname: "Doe"
telephone: "+421900000000"
street: "Main 12"
city: "Bratislava"
postcode: "81101"
country_code: "SK"
) {
id
firstname
lastname
street
city
postcode
country_code
}
}

Notes

  • Plugin validates required fields and rejects unsupported type values.
  • On success, use allCustomerAddresses query to refresh address list in UI.