---
title: "Switch an attribute for the calling user"
method: PUT
path: "/api/v1/user-attribute-selections"
tags: ["User Attributes"]
---

# Switch an attribute for the calling user

`PUT /api/v1/user-attribute-selections`

Switches an attribute for the calling user. Every value must already be provisioned for them unless an administrator allowed any value for that attribute, so this cannot grant access that an administrator has not granted. The switch then drives dynamic shared extensions, access filters and connection environment routing exactly as an assigned value would.

## Request body

- UserAttributeSelectionUpdateBody
  - `user_attribute_id` string, uuid, required — The attribute definition to switch
  - `values` string[], required — Values to switch to. Every value must be provisioned for the calling user unless the attribute allows any value for them, and a single-valued attribute accepts exactly one. At most 300 values.

## Response `200`

The caller's switchable attributes after the change

- UserAttributeSelectionsResponse
  - `records` object[], required — Attributes the calling user may switch. Empty when nothing is provisioned for them; an organization admin gets every attribute with allow_any_value true.
    - `allow_any_value` boolean, required — Whether the caller may switch to a value that is not listed; selectable_values are then suggestions
    - `label` string, required — Display name of the attribute
    - `multiple_values` boolean, required — Whether the attribute accepts an array of values
    - `name` string, required — Reference name used in model SQL
    - `selectable_values` string[], required — The listed values; when allow_any_value is true, up to 200 suggestions drawn from values assigned in the organization
    - `selected_values` string[], nullable, required — The active switch, or null when the assigned value applies
    - `user_attribute_id` string, uuid, required — The attribute definition id

## Other responses

- `400` — A value is not provisioned for the calling user, more than one value on a single-valued attribute, a value the attribute type rejects or over 512 characters under allow_any_value, no non-blank value, or more than 300 values
- `401` — Authentication required
- `404` — The attribute is not switchable for this user

## Changes

- **2026-09-30** `299eacbcab4d` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/omniapp/apis/omni-api/changes/api/v1/user-attribute-selections/put.md)

---

[API](https://skmtc.dev/omniapp/apis/omni-api.md) · [All operations](https://skmtc.dev/omniapp/apis/omni-api/llms.txt) · [OpenAPI document](https://skmtc.dev/omniapp/apis/omni-api/revisions/299eacbcab4d?raw)
