{ "info": { "_postman_id": "9167e7d2-a68d-4195-87ad-7317db17ff73", "name": "ThingsBoard Admin admin-controller api-key-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:11:58.000Z", "updatedAt": "2026-07-28T03:11:59.000Z", "lastUpdatedBy": "35240", "uid": "35240-9167e7d2-a68d-4195-87ad-7317db17ff73" }, "item": [ { "name": "api", "item": [ { "name": "apiKey", "item": [ { "name": "{id}", "item": [ { "name": "enabled", "item": [ { "name": "{enabledValue}", "item": [ { "name": "Enable or Disable API Key (enableApiKey)", "id": "c6ae51f2-ccef-4629-8211-f1136c0783b1", "protocolProfileBehavior": { "disableBodyPruning": true }, "request": { "method": "PUT", "header": [ { "key": "Accept", "value": "application/json" } ], "url": { "raw": "{{baseUrl}}/api/apiKey/:id/enabled/:enabledValue", "host": [ "{{baseUrl}}" ], "path": [ "api", "apiKey", ":id", "enabled", ":enabledValue" ], "variable": [ { "id": "75c2c5c8-f386-4b58-822c-5c3a0ea6baa5", "key": "id", "value": "", "description": "(Required) Unique identifier of the API key to enable/disable" }, { "id": "e02335b4-cedd-48f1-ac46-9f1ac8204fc1", "key": "enabledValue", "value": "", "description": "(Required) Enabled or disabled api key" } ] }, "description": "Updates api key with enabled = true/false. \n\nAvailable for any authorized user. " }, "response": [ { "id": "44fae1df-4747-4341-8c59-88dfd0eaacde", "name": "OK", "originalRequest": { "method": "PUT", "header": [ { "key": "Accept", "value": "application/json" } ], "url": { "raw": "{{baseUrl}}/api/apiKey/:id/enabled/:enabledValue", "host": [ "{{baseUrl}}" ], "path": [ "api", "apiKey", ":id", "enabled", ":enabledValue" ], "variable": [ { "key": "id" }, { "key": "enabledValue" } ] } }, "status": "OK", "code": 200, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"description\": \"\",\n \"id\": {\n \"entityType\": \"API_KEY\",\n \"id\": \"\"\n },\n \"createdTime\": \"\",\n \"tenantId\": {\n \"entityType\": \"TENANT\",\n \"id\": \"\"\n },\n \"userId\": {\n \"entityType\": \"USER\",\n \"id\": \"\"\n },\n \"expirationTime\": \"\",\n \"enabled\": \"\",\n \"expired\": \"\"\n}", "createdAt": "2026-07-28T03:11:59.000Z", "updatedAt": "2026-07-28T03:11:59.000Z", "uid": "35240-44fae1df-4747-4341-8c59-88dfd0eaacde" } ], "createdAt": "2026-07-28T03:11:59.000Z", "updatedAt": "2026-07-28T03:11:59.000Z", "uid": "35240-c6ae51f2-ccef-4629-8211-f1136c0783b1" } ], "id": "139d63e8-35ae-4004-9dd8-8ec2a579bd53", "createdAt": "2026-07-28T03:11:59.000Z", "updatedAt": "2026-07-28T03:11:59.000Z", "uid": "35240-139d63e8-35ae-4004-9dd8-8ec2a579bd53" } ], "id": "f0d6b564-4bb5-48a3-8ff5-b832505c94cc", "createdAt": "2026-07-28T03:11:59.000Z", "updatedAt": "2026-07-28T03:11:59.000Z", "uid": "35240-f0d6b564-4bb5-48a3-8ff5-b832505c94cc" }, { "name": "description", "item": [ { "name": "Update API Key Description", "id": "d21aed9f-173c-4002-bb7d-d51f9d825ebc", "protocolProfileBehavior": { "disableBodyPruning": true }, "request": { "method": "PUT", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" } ], "body": { "mode": "raw", "raw": "", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/apiKey/:id/description", "host": [ "{{baseUrl}}" ], "path": [ "api", "apiKey", ":id", "description" ], "variable": [ { "id": "cc7a1253-5239-403d-8c87-efad9ad7a910", "key": "id", "value": "", "description": "(Required) A string value representing the api key id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'" } ] }, "description": "Updates the description of the existing API key by apiKeyId. Only the description can be updated. Referencing a non-existing ApiKey Id will cause a 'Not Found' error.\n\nAvailable for any authorized user. " }, "response": [ { "id": "6d8fd6dc-ab6c-4123-ba09-af79a0b774cc", "name": "OK", "originalRequest": { "method": "PUT", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" } ], "body": { "mode": "raw", "raw": "", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/apiKey/:id/description", "host": [ "{{baseUrl}}" ], "path": [ "api", "apiKey", ":id", "description" ], "variable": [ { "key": "id" } ] } }, "status": "OK", "code": 200, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"description\": \"\",\n \"id\": {\n \"entityType\": \"API_KEY\",\n \"id\": \"\"\n },\n \"createdTime\": \"\",\n \"tenantId\": {\n \"entityType\": \"TENANT\",\n \"id\": \"\"\n },\n \"userId\": {\n \"entityType\": \"USER\",\n \"id\": \"\"\n },\n \"expirationTime\": \"\",\n \"enabled\": \"\",\n \"expired\": \"\"\n}", "createdAt": "2026-07-28T03:11:59.000Z", "updatedAt": "2026-07-28T03:11:59.000Z", "uid": "35240-6d8fd6dc-ab6c-4123-ba09-af79a0b774cc" } ], "createdAt": "2026-07-28T03:11:59.000Z", "updatedAt": "2026-07-28T03:11:59.000Z", "uid": "35240-d21aed9f-173c-4002-bb7d-d51f9d825ebc" } ], "id": "4a1316f9-3c2a-48fd-9228-b1a3b5c8ea76", "createdAt": "2026-07-28T03:11:59.000Z", "updatedAt": "2026-07-28T03:11:59.000Z", "uid": "35240-4a1316f9-3c2a-48fd-9228-b1a3b5c8ea76" }, { "name": "Delete API Key by ID (deleteApiKey)", "id": "aec439fe-6d24-4698-b89d-98156493d1d7", "protocolProfileBehavior": { "disableBodyPruning": true }, "request": { "method": "DELETE", "header": [], "url": { "raw": "{{baseUrl}}/api/apiKey/:id", "host": [ "{{baseUrl}}" ], "path": [ "api", "apiKey", ":id" ], "variable": [ { "id": "1e45572b-aec0-43e6-a3d2-af2d43d5437c", "key": "id", "value": "", "description": "(Required) " } ] }, "description": "Deletes the API key. Referencing non-existing ApiKey Id will cause an error.\n\nAvailable for any authorized user. " }, "response": [ { "id": "41fbe29f-4159-4392-be17-7f6bb3f97dcf", "name": "OK", "originalRequest": { "method": "DELETE", "header": [], "url": { "raw": "{{baseUrl}}/api/apiKey/:id", "host": [ "{{baseUrl}}" ], "path": [ "api", "apiKey", ":id" ], "variable": [ { "key": "id" } ] } }, "status": "OK", "code": 200, "_postman_previewlanguage": "text", "header": [], "cookie": [], "responseTime": null, "body": null, "createdAt": "2026-07-28T03:11:59.000Z", "updatedAt": "2026-07-28T03:11:59.000Z", "uid": "35240-41fbe29f-4159-4392-be17-7f6bb3f97dcf" } ], "createdAt": "2026-07-28T03:11:59.000Z", "updatedAt": "2026-07-28T03:11:59.000Z", "uid": "35240-aec439fe-6d24-4698-b89d-98156493d1d7" } ], "id": "c17727fe-7d84-4731-ba87-16d2b27851e6", "createdAt": "2026-07-28T03:11:59.000Z", "updatedAt": "2026-07-28T03:11:59.000Z", "uid": "35240-c17727fe-7d84-4731-ba87-16d2b27851e6" }, { "name": "Save API Key for User (saveApiKey)", "id": "0f0e7ccf-3c8e-40c9-9035-29a07104e122", "protocolProfileBehavior": { "disableBodyPruning": true }, "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n \"description\": \"\",\n \"id\": {\n \"entityType\": \"API_KEY\",\n \"id\": \"\"\n },\n \"createdTime\": \"\",\n \"tenantId\": {\n \"entityType\": \"TENANT\",\n \"id\": \"\"\n },\n \"userId\": {\n \"entityType\": \"USER\",\n \"id\": \"\"\n },\n \"expirationTime\": \"\",\n \"enabled\": \"\",\n \"expired\": \"\"\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/apiKey", "host": [ "{{baseUrl}}" ], "path": [ "api", "apiKey" ] }, "description": "Creates an API key for the given user and returns the token ONCE as 'ApiKey '.\n\nAvailable for any authorized user. " }, "response": [ { "id": "b61b6948-84d0-4300-bffa-c9e5d116f6b8", "name": "OK", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n \"description\": \"\",\n \"id\": {\n \"entityType\": \"API_KEY\",\n \"id\": \"\"\n },\n \"createdTime\": \"\",\n \"tenantId\": {\n \"entityType\": \"TENANT\",\n \"id\": \"\"\n },\n \"userId\": {\n \"entityType\": \"USER\",\n \"id\": \"\"\n },\n \"expirationTime\": \"\",\n \"enabled\": \"\",\n \"expired\": \"\"\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/apiKey", "host": [ "{{baseUrl}}" ], "path": [ "api", "apiKey" ] } }, "status": "OK", "code": 200, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"description\": \"\",\n \"value\": \"\",\n \"id\": {\n \"entityType\": \"API_KEY\",\n \"id\": \"\"\n },\n \"createdTime\": \"\",\n \"tenantId\": {\n \"entityType\": \"TENANT\",\n \"id\": \"\"\n },\n \"userId\": {\n \"entityType\": \"USER\",\n \"id\": \"\"\n },\n \"expirationTime\": \"\",\n \"enabled\": \"\",\n \"expired\": \"\"\n}", "createdAt": "2026-07-28T03:11:59.000Z", "updatedAt": "2026-07-28T03:11:59.000Z", "uid": "35240-b61b6948-84d0-4300-bffa-c9e5d116f6b8" } ], "createdAt": "2026-07-28T03:11:59.000Z", "updatedAt": "2026-07-28T03:11:59.000Z", "uid": "35240-0f0e7ccf-3c8e-40c9-9035-29a07104e122" } ], "id": "23038601-ee6f-4e31-be17-bc9e4effb155", "createdAt": "2026-07-28T03:11:59.000Z", "updatedAt": "2026-07-28T03:11:59.000Z", "uid": "35240-23038601-ee6f-4e31-be17-bc9e4effb155" }, { "name": "apiKeys", "item": [ { "name": "{userId}", "item": [ { "name": "Get User Api Keys (getUserApiKeys)", "id": "e202d0f1-5890-41f8-9295-bac3e5b45e93", "protocolProfileBehavior": { "disableBodyPruning": true }, "request": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" } ], "url": { "raw": "{{baseUrl}}/api/apiKeys/:userId?pageSize=&page=&textSearch=&sortProperty=description&sortOrder=ASC", "host": [ "{{baseUrl}}" ], "path": [ "api", "apiKeys", ":userId" ], "query": [ { "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 description.", "key": "textSearch", "value": "" }, { "description": "Property of entity to sort by", "key": "sortProperty", "value": "description" }, { "description": "Sort order. ASC (ASCENDING) or DESC (DESCENDING)", "key": "sortOrder", "value": "ASC" } ], "variable": [ { "id": "769ef696-5fb3-4231-bf42-f6f6fbd68195", "key": "userId", "value": "", "description": "(Required) A string value representing the user id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'" } ] }, "description": "Returns a page of api keys owned by user. 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": "f5de9916-5dd8-4189-9f35-6aa630b72bdd", "name": "OK", "originalRequest": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" } ], "url": { "raw": "{{baseUrl}}/api/apiKeys/:userId?pageSize=&page=&textSearch=&sortProperty=description&sortOrder=ASC", "host": [ "{{baseUrl}}" ], "path": [ "api", "apiKeys", ":userId" ], "query": [ { "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 description.", "key": "textSearch", "value": "" }, { "description": "Property of entity to sort by", "key": "sortProperty", "value": "description" }, { "description": "Sort order. ASC (ASCENDING) or DESC (DESCENDING)", "key": "sortOrder", "value": "ASC" } ], "variable": [ { "key": "userId" } ] } }, "status": "OK", "code": 200, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"data\": [\n {\n \"description\": \"\",\n \"id\": {\n \"entityType\": \"API_KEY\",\n \"id\": \"\"\n },\n \"createdTime\": \"\",\n \"tenantId\": {\n \"entityType\": \"TENANT\",\n \"id\": \"\"\n },\n \"userId\": {\n \"entityType\": \"USER\",\n \"id\": \"\"\n },\n \"expirationTime\": \"\",\n \"enabled\": \"\",\n \"expired\": \"\"\n },\n {\n \"description\": \"\",\n \"id\": {\n \"entityType\": \"API_KEY\",\n \"id\": \"\"\n },\n \"createdTime\": \"\",\n \"tenantId\": {\n \"entityType\": \"TENANT\",\n \"id\": \"\"\n },\n \"userId\": {\n \"entityType\": \"USER\",\n \"id\": \"\"\n },\n \"expirationTime\": \"\",\n \"enabled\": \"\",\n \"expired\": \"\"\n }\n ],\n \"totalPages\": \"\",\n \"totalElements\": \"\",\n \"hasNext\": \"\"\n}", "createdAt": "2026-07-28T03:11:59.000Z", "updatedAt": "2026-07-28T03:11:59.000Z", "uid": "35240-f5de9916-5dd8-4189-9f35-6aa630b72bdd" } ], "createdAt": "2026-07-28T03:11:59.000Z", "updatedAt": "2026-07-28T03:11:59.000Z", "uid": "35240-e202d0f1-5890-41f8-9295-bac3e5b45e93" } ], "id": "8f791b36-f391-40d2-af7f-91cdf071add7", "createdAt": "2026-07-28T03:11:59.000Z", "updatedAt": "2026-07-28T03:11:59.000Z", "uid": "35240-8f791b36-f391-40d2-af7f-91cdf071add7" } ], "id": "778848f7-d0bd-40be-ba9f-f6aab853b3d7", "createdAt": "2026-07-28T03:11:59.000Z", "updatedAt": "2026-07-28T03:11:59.000Z", "uid": "35240-778848f7-d0bd-40be-ba9f-f6aab853b3d7" } ], "id": "a6168529-67d3-4337-8261-8f34ddcfa025", "createdAt": "2026-07-28T03:11:59.000Z", "updatedAt": "2026-07-28T03:11:59.000Z", "uid": "35240-a6168529-67d3-4337-8261-8f34ddcfa025" } ], "variable": [ { "key": "baseUrl", "value": "https://demo.thingsboard.io" } ] }