---
title: "Update a customer profile within Flow workflows"
method: PUT
path: "/entities/{entityDID}/flow/customers/{customerDID}"
tags: ["Flow"]
---

# Update a customer profile within Flow workflows

`PUT /entities/{entityDID}/flow/customers/{customerDID}`

Updates an existing customer profile within a Flow workflow context. Customer PII
is automatically encrypted before storage when profile data is updated. Only
specified fields are updated, maintaining data integrity.

**IVMS101 Validation Requirements (when profileData is provided):**
- Same validation rules as POST apply when updating profileData
- For natural persons: `name` object is **required**
- For legal persons: `name` and `nationalIdentification` objects are **required**
- When `nameIdentifier` array is provided, its fields are **required**
- Unknown fields are rejected (strict validation)

## Path parameters

- `entityDID` string, did, required — Decentralized Identifier (DID)
- `customerDID` string, required

## Request body

- object
  - `customerType` 'natural_person' | 'legal_person' — Type of customer (must match profileData if provided)
  - `profileData` object — IVMS101-compliant customer profile data (will be encrypted). When provided, must follow same structure as POST endpoint with required fields. See POST /entities/{entityDID}/flow/customers for full schema.
  - `verificationStatus` 'pending' | 'verified' | 'rejected' | 'expired' — Customer verification status
  - `verificationLevel` 'basic' | 'enhanced' | 'premium' — Level of customer verification
  - `verifiedAt` string, date-time — When customer was verified
  - `verificationExpiresAt` string, date-time — When verification expires

## Response `204`

Customer updated successfully

## Other responses

- `400` — Bad Request - The server could not process the request due to a client error.
- `401` — Unauthorized - Authentication information is missing or invalid.
- `403` — Forbidden - The server understood the request but refuses to authorize it.
- `404` — Not Found - The requested resource could not be found.
- `500` — Could not update customer

---

[API](https://skmtc.net/notabene/apis/notabene-api.md) · [All operations](https://skmtc.net/notabene/apis/notabene-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/notabene/notabene-api/versions/70056745a433/schema)
