---
title: "Update workspace details"
method: PATCH
path: "/support/workspaces/{workspace_id}"
tags: ["Workspaces Support"]
---

# Update workspace details

`PATCH /support/workspaces/{workspace_id}`

## Request

- Base URL: `https://app.mammoth.io/api/v2`
- URL: `https://app.mammoth.io/api/v2/support/workspaces/{workspace_id}`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-API-KEY` and API key in header `X-API-SECRET` and API key in header `X-WORKSPACE-ID`

Update details for the specified workspace.

## Path parameters

- `workspace_id` integer, required: Id of the workspace to work with

## Request body

- SupportSchemaWorkspaceUpdate: Update workspace schema details
  - `name` string, required: Name of the workspace to be created
  - `plan_id` integer, required: Plan ID
  - `payment_frequency` string, required: Payment frequency of the workspace
  - `plan_create` CreatePlanRequestSchema
    - `name` string, required: Plan name
    - `display_name` string, nullable: Plan display name
    - `monthly_price` number, required: Monthly price in USD
    - `description` string, nullable: Plan description
    - `annual_price` number, nullable: Annual price in USD
    - `annual_only` boolean: Whether plan is annual only
    - `is_self_serve` boolean, required: Whether users can self-subscribe
    - `trial_days` integer, nullable: Trial period in days
    - `storage_amount` integer: Included storage in GB
    - `max_storage` integer, nullable: Maximum storage in GB
    - `max_users` integer, nullable: Maximum number of users
    - `no_of_users` integer, nullable: Number of included users
    - `seat_price` number, nullable: Price per additional user seat
    - `number_of_tiers` integer: Number of storage tiers
    - `storage_block_size` integer, nullable: Storage block size in GB
    - `tiers` SubscriptionSchemasStorageTierSchema[], nullable: Storage pricing tiers
      - `gb` integer, required: Storage amount in GB
      - `price_per_gb` number, required: Price per GB in USD
    - `uses_inline_pricing` boolean: Bill this plan with composed price_data (plan price plus the chosen storage option) instead of stored Stripe prices
    - `storage_options` StorageOptionRequestSchema[], nullable: Purchasable storage sizes for inline-pricing plans
      - `storage_gb` integer, required: Total storage the option grants, in GB
      - `monthly_price` number, required: Monthly add in USD on top of the plan price
      - `annual_price` number, required: Annual add in USD on top of the plan price
    - `connector_profile_id` integer, nullable: Connector profile ID
    - `feature_profile_id` integer, nullable: Feature profile ID
    - `source_plan_id` integer, nullable: Copy entitlements from this plan: the new plan gets its own copies of the source's feature and connector profiles, and its trial and storage ladder unless the payload states them
  - `plan_update` UpdatePlanRequestSchema
    - `name` string, nullable: Plan name
    - `display_name` string, nullable: Plan display name
    - `description` string, nullable: Plan description
    - `monthly_price` number, nullable: Monthly price in USD
    - `annual_price` number, nullable: Annual price in USD
    - `annual_only` boolean, nullable: Whether plan is annual only
    - `is_self_serve` boolean, nullable: Whether users can self-subscribe
    - `trial_days` integer, nullable: Trial period in days
    - `storage_amount` integer, nullable: Included storage in GB
    - `max_storage` integer, nullable: Maximum storage in GB
    - `max_users` integer, nullable: Maximum number of users
    - `no_of_users` integer, nullable: Number of included users
    - `seat_price` number, nullable: Price per additional user seat
    - `number_of_tiers` integer, nullable: Number of storage tiers
    - `storage_block_size` integer, nullable: Storage block size in GB
    - `tiers` SubscriptionSchemasStorageTierSchema[], nullable: Storage pricing tiers
      - `gb` integer, required: Storage amount in GB
      - `price_per_gb` number, required: Price per GB in USD
    - `uses_inline_pricing` boolean, nullable: Bill this plan with composed price_data (plan price plus the chosen storage option) instead of stored Stripe prices
    - `storage_options` StorageOptionRequestSchema[], nullable: Replaces the plan's active storage sizes; sizes left out are archived. Omit to leave the catalog alone.
      - `storage_gb` integer, required: Total storage the option grants, in GB
      - `monthly_price` number, required: Monthly add in USD on top of the plan price
      - `annual_price` number, required: Annual add in USD on top of the plan price
    - `connector_profile_id` integer, nullable: Connector profile ID
    - `feature_profile_id` integer, nullable: Feature profile ID
    - `is_purchasable` boolean, nullable: Whether a new customer may pick this plan
    - `lifecycle` 'current' | 'legacy' | 'system' | 'null', nullable: Catalog population: current, legacy or system

## Response `200`

Successful patch

- UserList
  - `users` union[], required
    - union
      - UserFieldSchema
        - `id` integer, nullable: ID of the user
        - `email` string, email, nullable: Email of the customer
        - `user_name` string, nullable: Name of the user
        - `first_name` string, nullable: First name of the user
        - `last_name` string, nullable: Sample Last Name
        - `last_login_date` string, date-time, nullable: Last Login of the user
        - `last_app_activity_at` string, date-time, nullable: Last Active of the user
        - `user_roles` object, nullable: User Roles of the user
        - `last_login_from_ip` union: Last Login From IP of the user
          - string, ipv4: IPv4 address
          - string, ipv6: IPv6 address
        - `created_at` string, date-time, nullable: Created At
        - `last_updated_at` string, date-time, nullable: Last Updated At of the user
      - UserMinSchema
        - `id` integer, required: ID of the user
        - `email` string, email, required: Email of the customer
        - `first_name` string, required: First name of the user
        - `last_updated_at` string, date-time, nullable: Last Updated At of the user
      - UserStdSchema
        - `id` integer, required: ID of the user
        - `email` string, email, required: Email of the customer
        - `first_name` string, required: First name of the user
        - `last_updated_at` string, date-time, nullable: Last Updated At of the user
        - `user_name` string, nullable: Name of the user
        - `last_name` string, nullable: Sample Last Name
        - `user_roles` object, required: User Roles of the user
      - UserFullSchema
        - `id` integer, required: ID of the user
        - `email` string, email, required: Email of the customer
        - `first_name` string, required: First name of the user
        - `last_updated_at` string, date-time, nullable: Last Updated At of the user
        - `user_name` string, nullable: Name of the user
        - `last_name` string, nullable: Sample Last Name
        - `user_roles` object, required: User Roles of the user
        - `last_login_date` string, date-time, nullable: Last Login of the user
        - `last_app_activity_at` string, date-time, nullable: Last Active of the user
        - `last_login_from_ip` union: Last Login From IP of the user
          - string, ipv4: IPv4 address
          - string, ipv6: IPv6 address
        - `created_at` string, date-time, required: Created At
  - `offset` integer
  - `limit` integer
  - `next` string, required: URI for next page of data

## Other responses

- `400`: Bad Request
- `401`: Authorization error

---

[API](https://skmtc.dev/mammoth/apis/mammoth-analytics.md) · [All operations](https://skmtc.dev/mammoth/apis/mammoth-analytics/llms.txt) · [OpenAPI document](https://skmtc.dev/mammoth/apis/mammoth-analytics/revisions/5dfd1c296ded?raw)
