---
title: "Update customer profile"
method: PUT
path: "/customer-profile-updates/{id}"
tags: ["Customer"]
---

# Update customer profile

`PUT /customer-profile-updates/{id}`

## Request

- Base URL: `http://localhost:8000/api/shop`
- URL: `http://localhost:8000/api/shop/customer-profile-updates/{id}`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/bagisto/apis/bagisto-shop-api/docs/customer-profile-updates/:id/put.ts> (a function with typed inputs; its response is checked against the schema)

Update the authenticated customer's profile. Requires Bearer token. Fields isVerified, isSuspended, and status cannot be changed by the customer.

## Path parameters

- `id` string, required

## Headers

- `X-STOREFRONT-KEY` string, required
- `X-Locale` string
- `X-Channel` string
- `X-Currency` string

## Request body

- object
  - `firstName` string
  - `lastName` string
  - `email` string, email
  - `phone` string
  - `gender` 'Male' | 'Female' | 'Other'
  - `dateOfBirth` string, date
  - `currentPassword` string, password: Current password — required only when changing password
  - `password` string, password: New password (requires currentPassword and confirmPassword)
  - `confirmPassword` string, password: Must match password
  - `subscribedToNewsLetter` boolean
  - `image` string: Profile image as base64 encoded string
  - `deleteImage` boolean: Set true to remove existing profile image

## Response `200`

Customer profile updated successfully

## Other responses

- `400`: Invalid input
- `404`: Not found
- `422`: Validation Error

---

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