---
title: "Update user preferences, this version of API can take 'trackEmailAnalytics' property in the payload."
method: PUT
path: "/v2/user/preferences/{identifyId}"
tags: ["UserPreferences V2"]
---

# Update user preferences, this version of API can take 'trackEmailAnalytics' property in the payload.

`PUT /v2/user/preferences/{identifyId}`

## Request

- Base URL: `https://app.aptrinsic.com`
- URL: `https://app.aptrinsic.com/v2/user/preferences/{identifyId}`
- Auth: none declared
- TypeScript: <https://skmtc.dev/gainsight/apis/gainsight-px-rest-api/docs/v2/user/preferences/:identifyId/put.ts> (a function with typed inputs; its response is checked against the schema)

The fields are optional so it’s possible to provide only those that need to be updated.

If the user had preferences - override only the provided fields.

Valid field values: true, false, null.

Note: null value won’t override any other.

## Path parameters

- `identifyId` string, required

## Request body

- UserPreferencesV2: User preferences V2
  - `guidedTours` boolean
  - `onboardingBot` boolean
  - `productUpdates` boolean
  - `surveys` boolean
  - `trackEmailAnalytics` boolean
  - `trackUsage` boolean

## Response `204`

Updated

## Other responses

- `400`: Bad request
- `401`: Unauthorized or bad API Key
- `403`: Access denied
- `404`: User not found by id
- `429`: Rate limit exceeded

---

[API](https://skmtc.dev/gainsight/apis/gainsight-px-rest-api.md) - [All operations](https://skmtc.dev/gainsight/apis/gainsight-px-rest-api/llms.txt) - [OpenAPI document](https://skmtc.dev/gainsight/apis/gainsight-px-rest-api/revisions/e7b197b373d8?raw)
