---
title: "Update user"
method: PUT
path: "/users/{id}"
tags: ["Users"]
---

# Update user

`PUT /users/{id}`

Update an existing user.

**gigstack Connect:** Update other teams' users using the `team` parameter.

## Path parameters

- `id` string, required

## Query parameters

- `team` string

## Request body

- UserInput
  - `email` string, email, nullable
  - `first_name` string, nullable
  - `last_name` string, nullable
  - `phone` string, nullable
  - `company_role` string, nullable
  - `address` object, nullable — User address information. Note: municipality field is accepted in requests but not returned in responses.
    - `country` string, nullable
    - `street` string, nullable
    - `zip` string, nullable
    - `city` string, nullable
    - `state` string, nullable
    - `exterior` string, nullable
    - `municipality` string, nullable — Municipality name (accepted in requests, stored in database, but not returned in responses)
    - `neighborhood` string, nullable
  - `auto_join` boolean, nullable — If true, automatically adds the user to the team associated with the API key. Defaults to false if not specified. When true and role is specified, the user will be added with that role.
  - `role` 'editor' | 'admin' | 'viewer', nullable — Role to assign to the user when auto_join is true. Can be "editor", "admin", or "viewer". Defaults to "viewer" if not specified. This parameter works in conjunction with auto_join - when auto_join is true, the user will be added to the team with the specified role.

## Response `200`

User updated successfully

- StandardSuccessResponse
  - `message` string, required
  - `data` object, required

---

[API](https://skmtc.net/disruptive-learning/apis/gigstack-api-v2.md) · [All operations](https://skmtc.net/disruptive-learning/apis/gigstack-api-v2/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/disruptive-learning/gigstack-api-v2/versions/5cf53ffd7580/schema)
