{ "info": { "_postman_id": "a6c463b5-31ad-4a03-8ceb-ac5fc983eb7c", "name": "ThingsBoard Admin admin-controller widgets-bundle-controller API", "description": "ThingsBoard Admin API \u2014 subset of the ThingsBoard REST API (open-source IoT platform). Covers: Admin, Audit Log, Event, Usage Info, Queue, Queue Stats, Mail Config Template, Qr Code Settings, Job.\n\nContact Support:\n Name: ThingsBoard team\n Email: info@thingsboard.io", "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", "createdAt": "2026-07-28T03:13:33.000Z", "updatedAt": "2026-07-28T03:13:33.000Z", "lastUpdatedBy": "35240", "uid": "35240-a6c463b5-31ad-4a03-8ceb-ac5fc983eb7c" }, "item": [ { "name": "api", "item": [ { "name": "widgetsBundle", "item": [ { "name": "{widgetsBundleId}", "item": [ { "name": "widgetTypes", "item": [ { "name": "Update Widgets Bundle Widgets Types List (updateWidgetsBundleWidgetTypes)", "id": "e7048a0d-386d-4205-90aa-5a4ee7c8cc0f", "protocolProfileBehavior": { "disableBodyPruning": true }, "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "[\n \"\",\n \"\"\n]", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/widgetsBundle/:widgetsBundleId/widgetTypes", "host": [ "{{baseUrl}}" ], "path": [ "api", "widgetsBundle", ":widgetsBundleId", "widgetTypes" ], "variable": [ { "id": "3e2972db-3fa3-454a-a03c-098a586fb74d", "key": "widgetsBundleId", "value": "", "description": "(Required) A string value representing the widget bundle id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'" } ] }, "description": "Updates widgets bundle widgets list.\n\nAvailable for users with 'SYS_ADMIN' or 'TENANT_ADMIN' authority." }, "response": [ { "id": "157d9b57-f56b-40b8-8d60-d92c8ce2bc36", "name": "OK", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "[\n \"\",\n \"\"\n]", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/widgetsBundle/:widgetsBundleId/widgetTypes", "host": [ "{{baseUrl}}" ], "path": [ "api", "widgetsBundle", ":widgetsBundleId", "widgetTypes" ], "variable": [ { "key": "widgetsBundleId" } ] } }, "status": "OK", "code": 200, "_postman_previewlanguage": "text", "header": [], "cookie": [], "responseTime": null, "body": null, "createdAt": "2026-07-28T03:13:34.000Z", "updatedAt": "2026-07-28T03:13:34.000Z", "uid": "35240-157d9b57-f56b-40b8-8d60-d92c8ce2bc36" } ], "createdAt": "2026-07-28T03:13:34.000Z", "updatedAt": "2026-07-28T03:13:34.000Z", "uid": "35240-e7048a0d-386d-4205-90aa-5a4ee7c8cc0f" } ], "id": "b01c41d9-5a70-489e-a8ed-2236c1fafee7", "createdAt": "2026-07-28T03:13:34.000Z", "updatedAt": "2026-07-28T03:13:34.000Z", "uid": "35240-b01c41d9-5a70-489e-a8ed-2236c1fafee7" }, { "name": "widgetTypeFqns", "item": [ { "name": "Update Widgets Bundle Widgets List from Widget Type FQNs List (updateWidgetsBundleWidgetFqns)", "id": "094de824-88b8-4526-a34c-64f39f09b0d6", "protocolProfileBehavior": { "disableBodyPruning": true }, "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "[\n \"\",\n \"\"\n]", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/widgetsBundle/:widgetsBundleId/widgetTypeFqns", "host": [ "{{baseUrl}}" ], "path": [ "api", "widgetsBundle", ":widgetsBundleId", "widgetTypeFqns" ], "variable": [ { "id": "f76eda56-8aa2-43dd-8247-1d1bf7d60b15", "key": "widgetsBundleId", "value": "", "description": "(Required) A string value representing the widget bundle id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'" } ] }, "description": "Updates widgets bundle widgets list from widget type FQNs list.\n\nAvailable for users with 'SYS_ADMIN' or 'TENANT_ADMIN' authority." }, "response": [ { "id": "00df0489-4fa1-40b7-acf5-ca3f05643ec9", "name": "OK", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "[\n \"\",\n \"\"\n]", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/widgetsBundle/:widgetsBundleId/widgetTypeFqns", "host": [ "{{baseUrl}}" ], "path": [ "api", "widgetsBundle", ":widgetsBundleId", "widgetTypeFqns" ], "variable": [ { "key": "widgetsBundleId" } ] } }, "status": "OK", "code": 200, "_postman_previewlanguage": "text", "header": [], "cookie": [], "responseTime": null, "body": null, "createdAt": "2026-07-28T03:13:34.000Z", "updatedAt": "2026-07-28T03:13:34.000Z", "uid": "35240-00df0489-4fa1-40b7-acf5-ca3f05643ec9" } ], "createdAt": "2026-07-28T03:13:34.000Z", "updatedAt": "2026-07-28T03:13:34.000Z", "uid": "35240-094de824-88b8-4526-a34c-64f39f09b0d6" } ], "id": "5d4ed8b3-894f-49d7-8ef4-c52c655a6b18", "createdAt": "2026-07-28T03:13:34.000Z", "updatedAt": "2026-07-28T03:13:34.000Z", "uid": "35240-5d4ed8b3-894f-49d7-8ef4-c52c655a6b18" }, { "name": "Get Widget Bundle (getWidgetsBundleById)", "id": "9d822649-056f-4a44-8a1a-bf2a0ab1ad0a", "protocolProfileBehavior": { "disableBodyPruning": true }, "request": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" } ], "url": { "raw": "{{baseUrl}}/api/widgetsBundle/:widgetsBundleId?inlineImages=", "host": [ "{{baseUrl}}" ], "path": [ "api", "widgetsBundle", ":widgetsBundleId" ], "query": [ { "description": "Inline images as a data URL (Base64)", "key": "inlineImages", "value": "" } ], "variable": [ { "id": "49e72310-6cd4-4e9f-ac4e-05816ab237c6", "key": "widgetsBundleId", "value": "", "description": "(Required) A string value representing the widget bundle id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'" } ] }, "description": "Get the Widget Bundle based on the provided Widget Bundle Id. Widget Bundle represents a group(bundle) of widgets. Widgets are grouped into bundle by type or use case. \n\nAvailable for any authorized user. " }, "response": [ { "id": "1f771fe9-57dc-4056-9992-f9ea754580b7", "name": "OK", "originalRequest": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" } ], "url": { "raw": "{{baseUrl}}/api/widgetsBundle/:widgetsBundleId?inlineImages=", "host": [ "{{baseUrl}}" ], "path": [ "api", "widgetsBundle", ":widgetsBundleId" ], "query": [ { "description": "Inline images as a data URL (Base64)", "key": "inlineImages", "value": "" } ], "variable": [ { "key": "widgetsBundleId" } ] } }, "status": "OK", "code": 200, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"id\": {\n \"entityType\": \"WIDGETS_BUNDLE\",\n \"id\": \"\"\n },\n \"createdTime\": \"\",\n \"tenantId\": {\n \"entityType\": \"TENANT\",\n \"id\": \"\"\n },\n \"alias\": \"\",\n \"title\": \"\",\n \"image\": \"\",\n \"scada\": \"\",\n \"description\": \"\",\n \"order\": \"\",\n \"version\": \"\",\n \"name\": \"\"\n}", "createdAt": "2026-07-28T03:13:34.000Z", "updatedAt": "2026-07-28T03:13:34.000Z", "uid": "35240-1f771fe9-57dc-4056-9992-f9ea754580b7" } ], "createdAt": "2026-07-28T03:13:34.000Z", "updatedAt": "2026-07-28T03:13:34.000Z", "uid": "35240-9d822649-056f-4a44-8a1a-bf2a0ab1ad0a" }, { "name": "Delete Widgets Bundle (deleteWidgetsBundle)", "id": "66333234-725b-438b-8514-7d6a7cb587c7", "protocolProfileBehavior": { "disableBodyPruning": true }, "request": { "method": "DELETE", "header": [], "url": { "raw": "{{baseUrl}}/api/widgetsBundle/:widgetsBundleId", "host": [ "{{baseUrl}}" ], "path": [ "api", "widgetsBundle", ":widgetsBundleId" ], "variable": [ { "id": "0ab2a1b7-6ea4-4adf-bf4e-7800dae43d5d", "key": "widgetsBundleId", "value": "", "description": "(Required) A string value representing the widget bundle id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'" } ] }, "description": "Deletes the widget bundle. Referencing non-existing Widget Bundle Id will cause an error.\n\nAvailable for users with 'SYS_ADMIN' or 'TENANT_ADMIN' authority." }, "response": [ { "id": "8b3fb5c0-5002-4876-b957-bba6b469cabb", "name": "OK", "originalRequest": { "method": "DELETE", "header": [], "url": { "raw": "{{baseUrl}}/api/widgetsBundle/:widgetsBundleId", "host": [ "{{baseUrl}}" ], "path": [ "api", "widgetsBundle", ":widgetsBundleId" ], "variable": [ { "key": "widgetsBundleId" } ] } }, "status": "OK", "code": 200, "_postman_previewlanguage": "text", "header": [], "cookie": [], "responseTime": null, "body": null, "createdAt": "2026-07-28T03:13:34.000Z", "updatedAt": "2026-07-28T03:13:34.000Z", "uid": "35240-8b3fb5c0-5002-4876-b957-bba6b469cabb" } ], "createdAt": "2026-07-28T03:13:34.000Z", "updatedAt": "2026-07-28T03:13:34.000Z", "uid": "35240-66333234-725b-438b-8514-7d6a7cb587c7" } ], "id": "1f3216a7-4a5d-4a31-8c6b-520a437729a1", "createdAt": "2026-07-28T03:13:34.000Z", "updatedAt": "2026-07-28T03:13:34.000Z", "uid": "35240-1f3216a7-4a5d-4a31-8c6b-520a437729a1" }, { "name": "Create or Update Widget Bundle (saveWidgetsBundle)", "id": "c76ae72e-5281-4622-b7da-d57d8c3b7032", "protocolProfileBehavior": { "disableBodyPruning": true }, "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n \"id\": {\n \"entityType\": \"WIDGETS_BUNDLE\",\n \"id\": \"\"\n },\n \"createdTime\": \"\",\n \"tenantId\": {\n \"entityType\": \"TENANT\",\n \"id\": \"\"\n },\n \"alias\": \"\",\n \"title\": \"\",\n \"image\": \"\",\n \"scada\": \"\",\n \"description\": \"\",\n \"order\": \"\",\n \"version\": \"\",\n \"name\": \"\"\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/widgetsBundle", "host": [ "{{baseUrl}}" ], "path": [ "api", "widgetsBundle" ] }, "description": "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.\n\nWidget 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.\n\nAvailable for users with 'SYS_ADMIN' or 'TENANT_ADMIN' authority." }, "response": [ { "id": "46148984-6b23-43a4-8970-b6d0468289f5", "name": "OK", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n \"id\": {\n \"entityType\": \"WIDGETS_BUNDLE\",\n \"id\": \"\"\n },\n \"createdTime\": \"\",\n \"tenantId\": {\n \"entityType\": \"TENANT\",\n \"id\": \"\"\n },\n \"alias\": \"\",\n \"title\": \"\",\n \"image\": \"\",\n \"scada\": \"\",\n \"description\": \"\",\n \"order\": \"\",\n \"version\": \"\",\n \"name\": \"\"\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/widgetsBundle", "host": [ "{{baseUrl}}" ], "path": [ "api", "widgetsBundle" ] } }, "status": "OK", "code": 200, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"id\": {\n \"entityType\": \"WIDGETS_BUNDLE\",\n \"id\": \"\"\n },\n \"createdTime\": \"\",\n \"tenantId\": {\n \"entityType\": \"TENANT\",\n \"id\": \"\"\n },\n \"alias\": \"\",\n \"title\": \"\",\n \"image\": \"\",\n \"scada\": \"\",\n \"description\": \"\",\n \"order\": \"\",\n \"version\": \"\",\n \"name\": \"\"\n}", "createdAt": "2026-07-28T03:13:34.000Z", "updatedAt": "2026-07-28T03:13:34.000Z", "uid": "35240-46148984-6b23-43a4-8970-b6d0468289f5" } ], "createdAt": "2026-07-28T03:13:34.000Z", "updatedAt": "2026-07-28T03:13:34.000Z", "uid": "35240-c76ae72e-5281-4622-b7da-d57d8c3b7032" } ], "id": "86bcd234-69a0-4f33-9a2f-70b25176507a", "createdAt": "2026-07-28T03:13:34.000Z", "updatedAt": "2026-07-28T03:13:34.000Z", "uid": "35240-86bcd234-69a0-4f33-9a2f-70b25176507a" }, { "name": "widgetsBundles", "item": [ { "name": "Get Widget Bundles (getWidgetsBundles)", "id": "f10871c0-5ff4-4bdb-a3e0-e6a591aa241f", "protocolProfileBehavior": { "disableBodyPruning": true }, "request": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" } ], "url": { "raw": "{{baseUrl}}/api/widgetsBundles?widgetsBundleIds=&widgetsBundleIds=&pageSize=&page=&textSearch=&sortProperty=tenantId&sortOrder=DESC&tenantOnly=&fullSearch=&scadaFirst=", "host": [ "{{baseUrl}}" ], "path": [ "api", "widgetsBundles" ], "query": [ { "description": "(Required) A list of widgets bundle ids, separated by comma ','", "key": "widgetsBundleIds", "value": "" }, { "description": "(Required) A list of widgets bundle ids, separated by comma ','", "key": "widgetsBundleIds", "value": "" }, { "description": "(Required) Maximum amount of entities in a one page", "key": "pageSize", "value": "" }, { "description": "(Required) Sequence number of page starting from 0", "key": "page", "value": "" }, { "description": "The case insensitive 'substring' filter based on the widget bundle title.", "key": "textSearch", "value": "" }, { "description": "Property of entity to sort by", "key": "sortProperty", "value": "tenantId" }, { "description": "Sort order. ASC (ASCENDING) or DESC (DESCENDING)", "key": "sortOrder", "value": "DESC" }, { "description": "Optional boolean parameter to include only tenant-level bundles without system", "key": "tenantOnly", "value": "" }, { "description": "Optional boolean parameter indicating extended search of widget bundles by description and by name / description of related widget types", "key": "fullSearch", "value": "" }, { "description": "Optional boolean parameter indicating whether to fetch widgets bundles with SCADA symbols first. Works only when fullSearch parameter is enabled", "key": "scadaFirst", "value": "" } ] }, "description": "Returns a page of Widget Bundle objects available for current user. Widget Bundle represents a group(bundle) of widgets. Widgets are grouped into bundle by type or use case. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. \n\nAvailable for any authorized user. " }, "response": [ { "id": "82a7a1b3-22fc-4173-95f3-789f757d7101", "name": "OK", "originalRequest": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" } ], "url": { "raw": "{{baseUrl}}/api/widgetsBundles?widgetsBundleIds=&pageSize=&page=&textSearch=&sortProperty=tenantId&sortOrder=DESC&tenantOnly=&fullSearch=&scadaFirst=", "host": [ "{{baseUrl}}" ], "path": [ "api", "widgetsBundles" ], "query": [ { "description": "(Required) A list of widgets bundle ids, separated by comma ','", "key": "widgetsBundleIds", "value": "" }, { "description": "(Required) Maximum amount of entities in a one page", "key": "pageSize", "value": "" }, { "description": "(Required) Sequence number of page starting from 0", "key": "page", "value": "" }, { "description": "The case insensitive 'substring' filter based on the widget bundle title.", "key": "textSearch", "value": "" }, { "description": "Property of entity to sort by", "key": "sortProperty", "value": "tenantId" }, { "description": "Sort order. ASC (ASCENDING) or DESC (DESCENDING)", "key": "sortOrder", "value": "DESC" }, { "description": "Optional boolean parameter to include only tenant-level bundles without system", "key": "tenantOnly", "value": "" }, { "description": "Optional boolean parameter indicating extended search of widget bundles by description and by name / description of related widget types", "key": "fullSearch", "value": "" }, { "description": "Optional boolean parameter indicating whether to fetch widgets bundles with SCADA symbols first. Works only when fullSearch parameter is enabled", "key": "scadaFirst", "value": "" } ] } }, "status": "OK", "code": 200, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"data\": [\n {\n \"id\": {\n \"entityType\": \"WIDGETS_BUNDLE\",\n \"id\": \"\"\n },\n \"createdTime\": \"\",\n \"tenantId\": {\n \"entityType\": \"TENANT\",\n \"id\": \"\"\n },\n \"alias\": \"\",\n \"title\": \"\",\n \"image\": \"\",\n \"scada\": \"\",\n \"description\": \"\",\n \"order\": \"\",\n \"version\": \"\",\n \"name\": \"\"\n },\n {\n \"id\": {\n \"entityType\": \"WIDGETS_BUNDLE\",\n \"id\": \"\"\n },\n \"createdTime\": \"\",\n \"tenantId\": {\n \"entityType\": \"TENANT\",\n \"id\": \"\"\n },\n \"alias\": \"\",\n \"title\": \"\",\n \"image\": \"\",\n \"scada\": \"\",\n \"description\": \"\",\n \"order\": \"\",\n \"version\": \"\",\n \"name\": \"\"\n }\n ],\n \"totalPages\": \"\",\n \"totalElements\": \"\",\n \"hasNext\": \"\"\n}", "createdAt": "2026-07-28T03:13:34.000Z", "updatedAt": "2026-07-28T03:13:34.000Z", "uid": "35240-82a7a1b3-22fc-4173-95f3-789f757d7101" } ], "createdAt": "2026-07-28T03:13:34.000Z", "updatedAt": "2026-07-28T03:13:34.000Z", "uid": "35240-f10871c0-5ff4-4bdb-a3e0-e6a591aa241f" } ], "id": "ebe894ab-68bc-419c-a903-7ff1930e5aa0", "createdAt": "2026-07-28T03:13:34.000Z", "updatedAt": "2026-07-28T03:13:34.000Z", "uid": "35240-ebe894ab-68bc-419c-a903-7ff1930e5aa0" } ], "id": "7e8b148e-e548-4bc2-84f9-0ca16793c303", "createdAt": "2026-07-28T03:13:34.000Z", "updatedAt": "2026-07-28T03:13:34.000Z", "uid": "35240-7e8b148e-e548-4bc2-84f9-0ca16793c303" } ], "variable": [ { "key": "baseUrl", "value": "https://demo.thingsboard.io" } ] }