---
title: "Edit User Profile"
method: PATCH
path: "/v1/user/{distinct_id}/"
---

# Edit User Profile

`PATCH /v1/user/{distinct_id}/`

API to edit (add/remove) properties and communication-channels for a user.

## Path parameters

- `distinct_id` string, required

## Request body

- object
  - `operations` object[] — You can use the following operations to edit user profile. - `$set` to add/update a property - `$unset` to delete property/channel - `$append` to insert values in property/channel array - `$remove` to remove values from property/channel array - `$set_once` to remove immutable properties - `$increment` to increase/decrease integer values on further update
    - `$set` object — Use this to set user properties like name, location, locale, etc. Example: `{"name":"Marge Simpson","$locale":"en_GB","$timezone":"America/New_York"}`
    - `$unset` string[] — Use this to delete channels or properties from user profile. Channels: `$email`, `$sms`, `$whatsapp`, `$androidpush`, `$iospush`, `$slack`, `$webpush`, `$ms_teams` Example: `["$sms", "$whatsapp", "name"]`
    - `$append` object — Use this to add communication channels or update array properties in user profile. Available channel keys: `$email`, `$sms`, `$whatsapp`, `$androidpush`, `$iospush`, `$slack`, `$webpush`, `$ms_teams` Example: `{"$email":"user@example.com"}`
    - `$remove` object — Use this to remove communication channels or remove values from an array in user profile. Available channel keys: `$email`, `$sms`, `$whatsapp`, `$androidpush`, `$iospush`, `$slack`, `$webpush`, `$ms_teams` Example: `{"$email":"user@example.com"}`
    - `$set_once` object — Use this to set properties which are not set once and not changed on further updates. Example: `{"first_login_at":"2025-01-01T14:00:00Z"}`
    - `$increment` object — Use this to increase / decrease integer values on further updates Example: `{"login_count":1}`

## Response `202`

202

- object
  - `distinct_id` string — Unique identifier of the user.
  - `properties` object — all user properties in key-value pair. SuprSend reserved properties start with $
  - `created_at` string, date-time — Timestamp when the user was created.
  - `updated_at` string, date-time — Timestamp when the user was last updated.
  - `$<channel>` object[] — list of all active channels.
    - `value` string — channel value
    - `status` string — Current status of the channel (active or inactive).
    - `perma_status` string — active/disabled. Perma_status is marked disabled in case of hard bounce on the channel.

---

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