# List user plans

List plans to which the user belongs.

> Note: For pagination guidance, refer to Token-based pagination.

Endpoint: GET /users/{userId}/plans
Version: 2.0.0
Security: APIToken, OAuth2

## Header parameters:

  - `Authorization` (string)
    API Access Token used to authenticate requests to Smartsheet APIs.

  - `smartsheet-integration-source` (string)
    Uses the following metadata to distinguish between human-initiated API requests and third-party service-initiated calls by AI Connectors or ITSM:

- Integration source type
- Organization name
- Integration source name 

Format:


TYPE,OrgName,SourceName


Examples: 

AI,SampleOrg,My-AI-Connector-v2

SCRIPT,SampleOrg2,Accounting-updater-script

APPLICATION,SampleOrg3,SheetUpdater
    Example: "AI,SampleOrg,My-AI-Connector-v2"

## Path parameters:

  - `userId` (number, required)
    ID of the user being accessed.

## Query parameters:

  - `lastKey` (string)
    The lastKey token returned from the previous page of results. If not specified,
the first page of results is returned.
    Example: "abcDefGhIjKlMnOpQrStUvWxYz"

  - `maxItems` (integer)
    Request query parameter used in endpoints that support token based pagination.

The maximum amount of items to return in the response. The default and minimum are 100.
    Example: 100

  - `displayContributorSeatType` (boolean)
    When true, displays seatType as CONTRIBUTOR for all free-tier plans the user belongs to.
    Example: true

## Response 200 fields (application/json):

  - `lastKey` (string)
    The ID of the last item returned in the set. Use as lastKey (query parameter) in the request for the next page.
    Example: "48569348493401200"

  - `data` (array)
    List of user' plan objects.

  - `data.planId` (integer)
    Unique identifier for the plan.
    Example: 4843937635559300

  - `data.seatType` (string)
    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.
    Enum: "MEMBER", "PROVISIONAL_MEMBER", "CONTRIBUTOR", "GUEST", "VIEWER"

  - `data.seatTypeLastChangedAt` (string)
    Timestamp of the user's last seat type change.
    Example: "2025-06-14T09:55:30Z"

  - `data.isInternal` (boolean)
    Indicates whether the user is internal to the plan's domain.
    Example: true

  - `data.provisionalExpirationDate` (string,null)
    The expiration timestamp of the user's provisional seat type. It's null if the user doesn't have a PROVISIONAL_MEMBER seat type.
    Example: "2025-06-14T09:55:30Z"

## Response default fields (application/json):

  - `refId` (string)
    The ID of the specific error occurrence. Please include this information when contacting Smartsheet support.

  - `errorCode` (number)
    Custom error code from Smartsheet. See the complete [Error Code List](/api/smartsheet/error-codes).

  - `message` (string)
    Descriptive error message.


