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
| Argument | Type | Required | Description |
|---|---|---|---|
| id | Int | No | Existing address ID to update. |
| type | String | Yes | Allowed values: billing, shipping. |
| name | String | Yes | Display name (frontend/admin usage). |
| firstname | String | Yes | First name. |
| lastname | String | Yes | Last name. |
| telephone | String | No | Phone number. |
| street | String | Yes | Street line. |
| city | String | Yes | City. |
| postcode | String | Yes | Postal code. |
| country_code | String | Yes | Country 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
typevalues. - On success, use
allCustomerAddressesquery to refresh address list in UI.