> ## Documentation Index
> Fetch the complete documentation index at: https://docs.qash.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Update user profile

> Update one or more fields of a user's personal profile.

<Note>
  Requires `X-Api-Key` and `X-Api-Secret` headers. Pass `userId` in the request body — no JWT required.
</Note>

Partially updates the user's personal profile. All fields are optional — only the fields included in the request body are changed.

<Warning>
  Updating profile fields after KYC has been approved does **not** automatically re-trigger verification. If the user's legal name, government ID, or address changes, contact Qash support to initiate a re-verification.
</Warning>

## Request

```http theme={null}
PATCH /api/v1/user/profile
X-Api-Key: <your-api-key>
X-Api-Secret: <your-api-secret>
Content-Type: application/json
```

All fields are optional except `userId`. See [Create user profile](/api-reference/users/create-profile#body) for the full field list and their formats.

```json theme={null}
{
  "userId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "gender": "male",
  "stateProvince": "CDMX",
  "postalCode": "06600",
  "occupation": "engineer",
  "annualSalary": "50000-100000",
  "accountPurpose": "personal_savings",
  "expectedMonthlyVolume": "5000-10000"
}
```

## Response

**200 OK** — returns the updated profile object.

```json theme={null}
{
  "success": true,
  "data": {
    "profile": {
      "id": "bfc7083b-75a2-11f1-86bf-42010a400007",
      "userId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "firstName": "Juan",
      "lastName": "García",
      "gender": "male",
      "stateProvince": "CDMX",
      "postalCode": "06600",
      "occupation": "engineer",
      "updatedAt": "2026-06-15T10:00:00.000Z"
    }
  }
}
```

## Errors

| HTTP status | Error                                            | Cause                                                                                          |
| ----------- | ------------------------------------------------ | ---------------------------------------------------------------------------------------------- |
| `400`       | Validation message                               | Invalid field format                                                                           |
| `400`       | `Missing userId in request body or query params` | `userId` not included in the body                                                              |
| `401`       | `Invalid partner credentials`                    | Wrong or missing `X-Api-Key` / `X-Api-Secret`                                                  |
| `403`       | `User does not belong to this partner`           | `userId` belongs to a different partner                                                        |
| `404`       | `PersonalProfile not found: <userId>`            | No profile exists yet — call [`POST /user/profile`](/api-reference/users/create-profile) first |
