# customerUpdate Updates an existing customer account. Requires a valid customer access token via the @storeContext directive. ## Authentication > **Authentication Required**: Secret API key with scope `customer:write` ## Mutation Structure ```graphql mutation { customerUpdate(input: CustomerUpdateInput!) { customer: Customer customerUserErrors: [CustomerUserError]! } } ``` ## Input Arguments | Argument | Type | Required | Description | |----------|------|----------|-------------| | input | CustomerUpdateInput | Yes | The input for updating a customer | ## Return Type [CustomerUpdatePayload](/reference/storefront/v1/objects/customer-update-payload) - Payload returned by the customerUpdate mutation. Contains the updated customer object and any errors that occurred during the operation. ## Example ```graphql mutation { customerUpdate(input: { firstName: "John" lastName: "Doe" email: "john.doe@example.com" phone: "+1234567890" }) { customer { id firstName lastName email phone } customerUserErrors { field message } } } ``` ## Related Types - [CustomerUpdatePayload](/reference/storefront/v1/objects/customer-update-payload) - [CustomerUpdateInput](/reference/storefront/v1/inputs/customer-update-input)