---
title: "Set User Synced Attributes"
method: POST
path: "/v3/users/{app_user_id}/attributes"
tags: ["Users V3"]
---

# Set User Synced Attributes

`POST /v3/users/{app_user_id}/attributes`

Sets attributes on the user via the events pipeline — the same path SDK user_attributes events take — so values land in both the subscriptions store and analytics. Propagation is asynchronous (typically seconds). The `accepted` field in the response means the request passed validation and was handed to the pipeline — it is not a read-back of the stored snapshot; use GET /v3/users/{app_user_id}/attributes to observe persisted values. Requires users:write scope.

## Path parameters

- `app_user_id` string, required — App user identifier

## Query parameters

- `application_id` string, required — Application ID

## Request body

- object
  - `attributes` object, required — Attribute key/value pairs to set on the user. Values must be scalars.

## Response `200`

Success

- object
  - `object` 'user_synced_attributes', required
  - `app_user_id` string, required
  - `accepted` object, required

## Other responses

- `400` — The request did not match the expected schema
- `401` — No API key was provided in the request
- `403` — The API key does not have permission to perform this action
- `404` — The requested resource was not found
- `429` — Too many requests have been made in a short period
- `500` — An unexpected error occurred on the server

---

[API](https://skmtc.dev/superwall/apis/superwall-api-v2.md) · [All operations](https://skmtc.dev/superwall/apis/superwall-api-v2/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/superwall/superwall-api-v2/revisions/e04f76c478af/schema)
