---
title: "Create Or Update Widget Bundle (saveWidgetsBundle)"
method: POST
path: "/api/widgetsBundle"
tags: ["widgets-bundle-controller"]
---

# Create Or Update Widget Bundle (saveWidgetsBundle)

`POST /api/widgetsBundle`

Create or update the Widget Bundle. Widget Bundle represents a group(bundle) of widgets. Widgets are grouped into bundle by type or use case.  When creating the bundle, platform generates Widget Bundle Id as [time-based UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier#Version_1_(date-time_and_MAC_address)). The newly created Widget Bundle Id will be present in the response. Specify existing Widget Bundle id to update the Widget Bundle. Referencing non-existing Widget Bundle Id will cause 'Not Found' error.

Widget Bundle alias is unique in the scope of tenant. Special Tenant Id '13814000-1dd2-11b2-8080-808080808080' is automatically used if the create bundle request is sent by user with 'SYS_ADMIN' authority.Remove 'id', 'tenantId' from the request body example (below) to create new Widgets Bundle entity.

Available for users with 'SYS_ADMIN' or 'TENANT_ADMIN' authority.

## Request body

- WidgetsBundle — A JSON value representing the Widget Bundle.
  - `id` WidgetsBundleId
    - `id` string, uuid, required — ID of the entity, time-based UUID v1
    - `entityType` 'WIDGETS_BUNDLE', required — string
  - `createdTime` integer — Timestamp of the Widget Bundle creation, in milliseconds
  - `tenantId` TenantId
    - `id` string, uuid, required — ID of the entity, time-based UUID v1
    - `entityType` 'TENANT', required — string
  - `alias` string — Unique alias that is used in widget types as a reference widget bundle
  - `title` string — Title used in search and UI
  - `image` string — Relative or external image URL. Replaced with image data URL (Base64) in case of relative URL and 'inlineImages' option enabled.
  - `scada` boolean — Whether widgets bundle contains SCADA symbol widget types.
  - `description` string — Description
  - `order` integer — Order
  - `version` integer
  - `name` string — Same as title of the Widget Bundle. Read-only field. Update the 'title' to change the 'name' of the Widget Bundle.

## Response `200`

OK

- WidgetsBundle — A JSON value representing the Widget Bundle.
  - `id` WidgetsBundleId
    - `id` string, uuid, required — ID of the entity, time-based UUID v1
    - `entityType` 'WIDGETS_BUNDLE', required — string
  - `createdTime` integer — Timestamp of the Widget Bundle creation, in milliseconds
  - `tenantId` TenantId
    - `id` string, uuid, required — ID of the entity, time-based UUID v1
    - `entityType` 'TENANT', required — string
  - `alias` string — Unique alias that is used in widget types as a reference widget bundle
  - `title` string — Title used in search and UI
  - `image` string — Relative or external image URL. Replaced with image data URL (Base64) in case of relative URL and 'inlineImages' option enabled.
  - `scada` boolean — Whether widgets bundle contains SCADA symbol widget types.
  - `description` string — Description
  - `order` integer — Order
  - `version` integer
  - `name` string — Same as title of the Widget Bundle. Read-only field. Update the 'title' to change the 'name' of the Widget Bundle.

---

[API](https://skmtc.net/thingsboard/apis/thingsboard-rest-api.md) · [All operations](https://skmtc.net/thingsboard/apis/thingsboard-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/thingsboard/thingsboard-rest-api/revisions/40169ccdec5c/schema)
