---
title: "Downgrade user"
method: POST
path: "/users/{userId}/plans/{planId}/downgrade"
tags: ["users"]
---

# Downgrade user

`POST /users/{userId}/plans/{planId}/downgrade`

Downgrades the user associated with the specified Smartsheet plan. Downgrading a user does not affect their existing permissions on owned or shared items.

A user can be downgraded to the following seat types:
* GUEST - only external users can be downgraded to this seat type.
* CONTRIBUTOR 
* VIEWER (Deprecated, use CONTRIBUTOR instead)

> **Who can use this operation?**
>
> **Permissions:** System Admin

## Request body

- object
  - `seatType` 'GUEST' | 'CONTRIBUTOR' | 'VIEWER', required — User's seat type. **DEPRECATED - As early as the sunset date specified in this [changelog entry](/api/smartsheet/changelog#deprecated-viewer-seat-type-in-favor-of-contributor-new), `VIEWER` will be removed and replaced by `CONTRIBUTOR` for all free-tier plans users.** Commenting and attachments are free to the `CONTRIBUTOR` seat type.

## Response `200`

Returns the result object..

Downgrading a user to its current seat type returns 200 OK.

- GenericResult
  - `message` 'PARTIAL_SUCCESS' | 'SUCCESS' — Message that indicates the outcome of the request. (One of `SUCCESS` or `PARTIAL_SUCCESS`.)
  - `resultCode` 0 | 3 — * '0' Success * '3' Partial Success of Bulk Operation

## Other responses

- `400` — This can be caused by the following situations: - Downgrading a sysadmin. Example response: ```json { "errorCode": 1364, "message": "Seat type cannot be changed. User 48569348493401200 is a sysadmin.", "refId": "abcd1234" } ``` - Downgrading a user to an invalid seat type. Example response: ```json { "errorCode": 1365, "message": "Invalid seatType provided. Allowed values are 'VIEWER' or 'GUEST'.", "refId": "abcd1234" } ``` - Downgrading an inactive user. Example response: ```json { "errorCode": 1366, "message": "Seat type cannot be changed. User 48569348493401200 is inactive. Reactivate the user first.", "refId": "abcd1234" } ``` - Downgrading an internal user to `GUEST`. Example response: ```json { "errorCode": 1367, "message": "Internal user's seat type cannot be changed to GUEST.", "refId": "abcd1234" } ```
- `403` — This can be caused by the following situations: - Caller is not a System Admin. ```json { "errorCode": 1004, "message": "You are not authorized to perform this action.", "refId": "abcd1234" } ```
- `default` — Generic Error Payload

---

[API](https://skmtc.net/smartsheet/apis/smartsheet-openapi-reference.md) · [All operations](https://skmtc.net/smartsheet/apis/smartsheet-openapi-reference/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/smartsheet/smartsheet-openapi-reference/versions/b4afda95fb51/schema)
