Amplitude · Schema

UserPropertyOperations

An object containing user property operations. Each key is an operation type and the value is an object of property names to values.

A/B TestingAnalyticsExperimentationFeature FlagsProduct AnalyticsUser Behavior

Properties

Name Type Description
$set object Set the value of a user property. If the property already exists, the value is overwritten.
$setOnce object Set the value of a user property only if it has not already been set. Useful for properties like initial_referrer.
$add object Increment a numeric user property by the specified value.
$append object Append a value or values to a list user property.
$prepend object Prepend a value or values to a list user property.
$unset object Remove a user property by setting its value to the string $unset.
$remove object Remove a value from a list user property.
View JSON Schema on GitHub

JSON Schema

identify-api-user-property-operations-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/amplitude/refs/heads/main/json-schema/identify-api-user-property-operations-schema.json",
  "title": "UserPropertyOperations",
  "description": "An object containing user property operations. Each key is an operation type and the value is an object of property names to values.",
  "type": "object",
  "properties": {
    "$set": {
      "type": "object",
      "description": "Set the value of a user property. If the property already exists, the value is overwritten.",
      "additionalProperties": true
    },
    "$setOnce": {
      "type": "object",
      "description": "Set the value of a user property only if it has not already been set. Useful for properties like initial_referrer.",
      "additionalProperties": true
    },
    "$add": {
      "type": "object",
      "description": "Increment a numeric user property by the specified value.",
      "additionalProperties": {
        "type": "number"
      }
    },
    "$append": {
      "type": "object",
      "description": "Append a value or values to a list user property.",
      "additionalProperties": true
    },
    "$prepend": {
      "type": "object",
      "description": "Prepend a value or values to a list user property.",
      "additionalProperties": true
    },
    "$unset": {
      "type": "object",
      "description": "Remove a user property by setting its value to the string $unset.",
      "additionalProperties": true
    },
    "$remove": {
      "type": "object",
      "description": "Remove a value from a list user property.",
      "additionalProperties": true
    }
  }
}