{"id":27001,"date":"2025-06-19T13:20:50","date_gmt":"2025-06-19T13:20:50","guid":{"rendered":"https:\/\/helpdesk.gsmcloud.com\/?page_id=27001"},"modified":"2025-11-19T14:55:14","modified_gmt":"2025-11-19T14:55:14","slug":"api","status":"publish","type":"page","link":"https:\/\/helpdesk.gsmcloud.com\/en\/api\/","title":{"rendered":"API"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"27001\" class=\"elementor elementor-27001\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ecc0d16 e-flex e-con-boxed e-con e-parent\" data-id=\"ecc0d16\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-aa83f35 elementor-widget elementor-widget-heading\" data-id=\"aa83f35\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">GSMCloud API Documentation<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<section class=\"elementor-element elementor-element-bfea8a3 e-con-full e-flex e-con e-child\" data-id=\"bfea8a3\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-14e0fe4 elementor-widget elementor-widget-heading\" data-id=\"14e0fe4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Introduction<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4bba29a elementor-widget elementor-widget-text-editor\" data-id=\"4bba29a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>The GSMCloud API allows developers to interact with their GSMCloud devices programmatically.<\/p><ul><li>Retrieve device information<\/li><li>Read input sensor values<\/li><li>Control output ports such as <code>Relay<\/code>, <code>LED<\/code>, <code>Buzzer<\/code>, and <code>Interval<\/code><\/li><li>Update device names and port labels<\/li><\/ul><p><strong>Note:<\/strong> Input ports are read-only. Only output ports can be updated via the API.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/section>\n\t\t<section class=\"elementor-element elementor-element-d18823a e-con-full e-flex e-con e-child\" data-id=\"d18823a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-16a8d68 elementor-widget elementor-widget-heading\" data-id=\"16a8d68\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Authentication<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-bebcc1d elementor-widget elementor-widget-heading\" data-id=\"bebcc1d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Base URL<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-36778e3 elementor-widget elementor-widget-code-highlight\" data-id=\"36778e3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-tomorrow copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-javascript\">\n\t\t\t\t\t<xmp>https:\/\/api.gsmcloud.com<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0341ac1 elementor-widget elementor-widget-heading\" data-id=\"0341ac1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Format<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-fe69f55 elementor-widget elementor-widget-code-highlight\" data-id=\"fe69f55\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-tomorrow copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-javascript\">\n\t\t\t\t\t<xmp>Authorization: Basic BASE64(\"username:password\")<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5666960 elementor-widget elementor-widget-heading\" data-id=\"5666960\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Example<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-eee6a26 elementor-widget elementor-widget-code-highlight\" data-id=\"eee6a26\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-tomorrow copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-javascript\">\n\t\t\t\t\t<xmp>const BASE_URL = \"https:\/\/api.gsmcloud.com\";\nconst token = Buffer.from(`${USER}:${PASS}`).toString(\"base64\");\nconst baseHeaders = {\n  \"Authorization\": `Basic ${token}`,\n  \"Accept\": \"application\/json\"\n};<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/section>\n\t\t<section class=\"elementor-element elementor-element-05d4a94 e-con-full e-flex e-con e-child\" data-id=\"05d4a94\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e93ff80 elementor-widget elementor-widget-heading\" data-id=\"e93ff80\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Device model<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-52e136a elementor-widget elementor-widget-text-editor\" data-id=\"52e136a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Devices are retrieved through:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-95a5ad0 elementor-widget elementor-widget-code-highlight\" data-id=\"95a5ad0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-tomorrow copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-javascript\">\n\t\t\t\t\t<xmp>GET \/devices<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b44a82e elementor-widget elementor-widget-text-editor\" data-id=\"b44a82e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>The following is <strong>not supported<\/strong> by the API:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7bf9c71 elementor-widget elementor-widget-code-highlight\" data-id=\"7bf9c71\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-tomorrow copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-javascript\">\n\t\t\t\t\t<xmp>GET \/devices\/{id}<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1dbc49d elementor-widget elementor-widget-heading\" data-id=\"1dbc49d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Example Device Object<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a39b8f6 elementor-widget elementor-widget-text-editor\" data-id=\"a39b8f6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>You must select the correct device from the <code>\/devices<\/code> response.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-14e5bc0 elementor-widget elementor-widget-code-highlight\" data-id=\"14e5bc0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-tomorrow copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-javascript\">\n\t\t\t\t\t<xmp>{\n  \"id\": 0000,\n  \"name\": \"GT1000 PRO : V2\",\n  \"imei\": null,\n  \"last_package_at\": \"...\",\n  \"ports\": {\n    \"Power\": { ... },\n    \"Signal\": { ... },\n    \"LED\": { ... },\n    \"Relay\": { ... }\n  }\n}<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/section>\n\t\t<section class=\"elementor-element elementor-element-656ee67 e-con-full e-flex e-con e-child\" data-id=\"656ee67\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-dd3660a elementor-widget elementor-widget-heading\" data-id=\"dd3660a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Port Model<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-87e8be7 elementor-widget elementor-widget-code-highlight\" data-id=\"87e8be7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-tomorrow copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-javascript\">\n\t\t\t\t\t<xmp>{\n  \"name\": \"Relay\",\n  \"label\": null,\n  \"direction\": \"output\",\n  \"value\": null,\n  \"type\": \"boolean\"\n}<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c2349fd elementor-widget elementor-widget-shortcode\" data-id=\"c2349fd\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">\n<table id=\"tablepress-1\" class=\"tablepress tablepress-id-1\">\n<thead>\n<tr class=\"row-1\">\n\t<th class=\"column-1\">Field<\/th><th class=\"column-2\">Type<\/th><th class=\"column-3\">Description<\/th>\n<\/tr>\n<\/thead>\n<tbody class=\"row-striping row-hover\">\n<tr class=\"row-2\">\n\t<td class=\"column-1\">Name<\/td><td class=\"column-2\">String<\/td><td class=\"column-3\">Internal port name<\/td>\n<\/tr>\n<tr class=\"row-3\">\n\t<td class=\"column-1\">Label<\/td><td class=\"column-2\">String<\/td><td class=\"column-3\">Optional description\/name<\/td>\n<\/tr>\n<tr class=\"row-4\">\n\t<td class=\"column-1\">Direction<\/td><td class=\"column-2\">String<\/td><td class=\"column-3\">Input or Output<\/td>\n<\/tr>\n<tr class=\"row-5\">\n\t<td class=\"column-1\">Value<\/td><td class=\"column-2\">any<\/td><td class=\"column-3\">Current Port value<\/td>\n<\/tr>\n<tr class=\"row-6\">\n\t<td class=\"column-1\">Type<\/td><td class=\"column-2\">String<\/td><td class=\"column-3\">Boolean, Integer, temperature<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<!-- #tablepress-1 from cache --><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7a92963 elementor-widget elementor-widget-heading\" data-id=\"7a92963\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Output Ports (GT1000 PRO : V2)<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6eb0207 elementor-widget elementor-widget-shortcode\" data-id=\"6eb0207\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">\n<table id=\"tablepress-2\" class=\"tablepress tablepress-id-2\">\n<thead>\n<tr class=\"row-1\">\n\t<th class=\"column-1\">Port<\/th><th class=\"column-2\">Type<\/th><th class=\"column-3\">Description<\/th>\n<\/tr>\n<\/thead>\n<tbody class=\"row-striping row-hover\">\n<tr class=\"row-2\">\n\t<td class=\"column-1\">Relay<\/td><td class=\"column-2\">boolean<\/td><td class=\"column-3\">Relay on\/off<\/td>\n<\/tr>\n<tr class=\"row-3\">\n\t<td class=\"column-1\">LED<\/td><td class=\"column-2\">boolean<\/td><td class=\"column-3\">Status LED<\/td>\n<\/tr>\n<tr class=\"row-4\">\n\t<td class=\"column-1\">Buzzer<\/td><td class=\"column-2\">boolean<\/td><td class=\"column-3\">Buzzer output<\/td>\n<\/tr>\n<tr class=\"row-5\">\n\t<td class=\"column-1\">Buzzer FX<\/td><td class=\"column-2\">integer<\/td><td class=\"column-3\">Tone pattern<\/td>\n<\/tr>\n<tr class=\"row-6\">\n\t<td class=\"column-1\">Interval<\/td><td class=\"column-2\">integer<\/td><td class=\"column-3\">Update interval<\/td>\n<\/tr>\n<tr class=\"row-7\">\n\t<td class=\"column-1\">Relay Pulse<\/td><td class=\"column-2\">integer<\/td><td class=\"column-3\">Pulse duration<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<!-- #tablepress-2 from cache --><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/section>\n\t\t<section class=\"elementor-element elementor-element-16a4ddd e-con-full e-flex e-con e-child\" data-id=\"16a4ddd\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-94baa95 elementor-widget elementor-widget-heading\" data-id=\"94baa95\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Endpoints<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b2306f5 elementor-widget elementor-widget-heading\" data-id=\"b2306f5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">GET \/devices<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-334172b elementor-widget elementor-widget-text-editor\" data-id=\"334172b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Returns all devices with ports.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8919771 elementor-widget elementor-widget-code-highlight\" data-id=\"8919771\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-tomorrow copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-javascript\">\n\t\t\t\t\t<xmp>async function listDevices() {\n  const res = await fetch(`${BASE_URL}\/devices`, {\n    headers: baseHeaders\n  });\n  return res.json();\n}<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-980f1a5 elementor-widget elementor-widget-heading\" data-id=\"980f1a5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">PATCH \/devices\/{id}<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-037e26c elementor-widget elementor-widget-text-editor\" data-id=\"037e26c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Used to update output values, labels, or device name.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9e16380 elementor-widget elementor-widget-code-highlight\" data-id=\"9e16380\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-tomorrow copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-javascript\">\n\t\t\t\t\t<xmp>{\n  \"ports\": {\n    \"Relay\": true,\n    \"LED\": true\n  }\n}<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/section>\n\t\t<section class=\"elementor-element elementor-element-17d1f89 e-con-full e-flex e-con e-child\" data-id=\"17d1f89\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b95282f elementor-widget elementor-widget-heading\" data-id=\"b95282f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">JavaScript Example<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-36ec8ba elementor-widget elementor-widget-text-editor\" data-id=\"36ec8ba\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Examples for interacting with device outputs.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-40dee49 elementor-widget elementor-widget-code-highlight\" data-id=\"40dee49\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-tomorrow copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-javascript\">\n\t\t\t\t\t<xmp>const BASE_URL = \"https:\/\/api.gsmcloud.com\";\n\nconst token = Buffer.from(`${USER}:${PASS}`).toString(\"base64\");\nconst baseHeaders = {\n  \"Authorization\": `Basic ${token}`,\n  \"Accept\": \"application\/json\"\n};\n\nasync function listDevices() {\n  const res = await fetch(`${BASE_URL}\/devices`, {\n    headers: baseHeaders\n  });\n  return res.json();\n}<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-345baa7 elementor-widget elementor-widget-heading\" data-id=\"345baa7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Update Multiple Outputs<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-400f373 elementor-widget elementor-widget-text-editor\" data-id=\"400f373\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Recommended method to update one or more output ports.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-522964a elementor-widget elementor-widget-heading\" data-id=\"522964a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Toggle a Port<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1011ef1 elementor-widget elementor-widget-text-editor\" data-id=\"1011ef1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Reads current value and flips it.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-50a5502 elementor-widget elementor-widget-code-highlight\" data-id=\"50a5502\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-tomorrow copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-javascript\">\n\t\t\t\t\t<xmp>async function updateOutputs(deviceId, ports) {\n  await fetch(`${BASE_URL}\/devices\/${deviceId}`, {\n    method: \"PATCH\",\n    headers: {\n      ...baseHeaders,\n      \"Content-Type\": \"application\/json\"\n    },\n    body: JSON.stringify({ ports })\n  });\n}\n\n\/\/ Example:\nupdateOutputs(0000, { Relay: true, LED: true });<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c150925 elementor-widget elementor-widget-code-highlight\" data-id=\"c150925\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-tomorrow copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-javascript\">\n\t\t\t\t\t<xmp>async function togglePort(deviceId, portName) {\n  const devices = await listDevices();\n  const dev = devices.find(d => d.id === deviceId);\n\n  const current = dev.ports[portName].value;\n  const next = !current;\n\n  await updateOutputs(deviceId, { [portName]: next });\n}<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d478cd7 elementor-widget elementor-widget-heading\" data-id=\"d478cd7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Update Multiple Outputs<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6e90833 elementor-widget elementor-widget-code-highlight\" data-id=\"6e90833\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-tomorrow copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-javascript\">\n\t\t\t\t\t<xmp>async function printPorts(deviceId) {\n  const devices = await listDevices();\n  const dev = devices.find(d => d.id === deviceId);\n\n  for (const [name, port] of Object.entries(dev.ports)) {\n    console.log(name, port.direction, port.type, port.value);\n  }\n}<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/section>\n\t\t<section class=\"elementor-element elementor-element-5b072c2 e-con-full e-flex e-con e-child\" data-id=\"5b072c2\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3b042e4 elementor-widget elementor-widget-heading\" data-id=\"3b042e4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Error Handling &amp; Status Code<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7b6d204 elementor-widget elementor-widget-shortcode\" data-id=\"7b6d204\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">\n<table id=\"tablepress-3\" class=\"tablepress tablepress-id-3\">\n<thead>\n<tr class=\"row-1\">\n\t<th class=\"column-1\">Code<\/th><th class=\"column-2\">Description<\/th>\n<\/tr>\n<\/thead>\n<tbody class=\"row-striping row-hover\">\n<tr class=\"row-2\">\n\t<td class=\"column-1\">200<\/td><td class=\"column-2\">OK<\/td>\n<\/tr>\n<tr class=\"row-3\">\n\t<td class=\"column-1\">204<\/td><td class=\"column-2\">Update Succeeded(no body)<\/td>\n<\/tr>\n<tr class=\"row-4\">\n\t<td class=\"column-1\">401<\/td><td class=\"column-2\">Authentication failed<\/td>\n<\/tr>\n<tr class=\"row-5\">\n\t<td class=\"column-1\">422<\/td><td class=\"column-2\">Validation error<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<!-- #tablepress-3 from cache --><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4ee5d04 note elementor-widget elementor-widget-text-editor\" data-id=\"4ee5d04\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Most PATCH operations return <code>204 No Content<\/code> to indicate success.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/section>\n\t\t<section class=\"elementor-element elementor-element-5f45575 e-con-full e-flex e-con e-child\" data-id=\"5f45575\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2381d5d elementor-widget elementor-widget-heading\" data-id=\"2381d5d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Notes \/ FAQ<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-27ff5c7 elementor-widget elementor-widget-text-editor\" data-id=\"27ff5c7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<ul><li>Input ports cannot be modified.<\/li><li>Output values depend on type (boolean\/integer).<\/li><li>Port names are case-sensitive.<\/li><li><code>\/devices\/{id}<\/code> GET is not supported.<\/li><li>All device lookups must use\u00a0 \u00a0<code>GET \/devices<\/code>.<\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-70b2548 elementor-widget elementor-widget-text-editor\" data-id=\"70b2548\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>End of Documentation<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/section>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>GSMCloud publc API documentation<\/p>","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"class_list":["post-27001","page","type-page","status-publish","hentry"],"acf":[],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.9 - aioseo.com -->\n\t<meta name=\"description\" content=\"GSMCloud API Documentation Introduction The GSMCloud API allows developers to interact with their GSMCloud devices programmatically.Retrieve device informationRead input sensor valuesControl output ports such as Relay, LED, Buzzer, and IntervalUpdate device names and port labelsNote: Input ports are read-only. Only output ports can be updated via the API. Authentication Base URL https:\/\/api.gsmcloud.com Format Authorization: Basic\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"google-site-verification\" content=\"WuS7PGZ433NOIL0L5sywd1Uy2LQM0nLNeEThv9ThyII\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/helpdesk.gsmcloud.com\/en\/api\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.9\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_GB\" \/>\n\t\t<meta property=\"og:site_name\" content=\"GSM Cloud - Helpdesk - Guidance and help with GSMCloud and our BMS solutions\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"API - GSM Cloud - Helpdesk\" \/>\n\t\t<meta property=\"og:description\" content=\"GSMCloud API Documentation Introduction The GSMCloud API allows developers to interact with their GSMCloud devices programmatically.Retrieve device informationRead input sensor valuesControl output ports such as Relay, LED, Buzzer, and IntervalUpdate device names and port labelsNote: Input ports are read-only. Only output ports can be updated via the API. Authentication Base URL https:\/\/api.gsmcloud.com Format Authorization: Basic\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/helpdesk.gsmcloud.com\/en\/api\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/helpdesk.gsmcloud.com\/wp-content\/uploads\/2025\/09\/Base-feature-image.png\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/helpdesk.gsmcloud.com\/wp-content\/uploads\/2025\/09\/Base-feature-image.png\" \/>\n\t\t<meta property=\"og:image:width\" content=\"1600\" \/>\n\t\t<meta property=\"og:image:height\" content=\"900\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2025-06-19T13:20:50+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2025-11-19T14:55:14+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:title\" content=\"API - GSM Cloud - Helpdesk\" \/>\n\t\t<meta name=\"twitter:description\" content=\"GSMCloud API Documentation Introduction The GSMCloud API allows developers to interact with their GSMCloud devices programmatically.Retrieve device informationRead input sensor valuesControl output ports such as Relay, LED, Buzzer, and IntervalUpdate device names and port labelsNote: Input ports are read-only. Only output ports can be updated via the API. Authentication Base URL https:\/\/api.gsmcloud.com Format Authorization: Basic\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/helpdesk.gsmcloud.com\/wp-content\/uploads\/2025\/06\/GSMCloud-social-med-thumnbails.png\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/helpdesk.gsmcloud.com\\\/en\\\/api\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/helpdesk.gsmcloud.com\\\/en#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/helpdesk.gsmcloud.com\\\/en\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/helpdesk.gsmcloud.com\\\/en\\\/api\\\/#listItem\",\"name\":\"API\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/helpdesk.gsmcloud.com\\\/en\\\/api\\\/#listItem\",\"position\":2,\"name\":\"API\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/helpdesk.gsmcloud.com\\\/en#listItem\",\"name\":\"Home\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/helpdesk.gsmcloud.com\\\/en\\\/#organization\",\"name\":\"GSM Cloud - Helpdesk\",\"description\":\"Guidance and help with GSMCloud and our BMS solutions\",\"url\":\"https:\\\/\\\/helpdesk.gsmcloud.com\\\/en\\\/\",\"telephone\":\"+4593102434\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/helpdesk.gsmcloud.com\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/GSMCloud-social-med-thumnbails.png\",\"@id\":\"https:\\\/\\\/helpdesk.gsmcloud.com\\\/en\\\/api\\\/#organizationLogo\"},\"image\":{\"@id\":\"https:\\\/\\\/helpdesk.gsmcloud.com\\\/en\\\/api\\\/#organizationLogo\"},\"sameAs\":[\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UCcwc5PVpXe8m8tR8tAEVrpg\",\"https:\\\/\\\/linkedin.com\\\/company\\\/gsm-teknik\"]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/helpdesk.gsmcloud.com\\\/en\\\/api\\\/#webpage\",\"url\":\"https:\\\/\\\/helpdesk.gsmcloud.com\\\/en\\\/api\\\/\",\"name\":\"API - GSM Cloud - Helpdesk\",\"description\":\"GSMCloud API Documentation Introduction The GSMCloud API allows developers to interact with their GSMCloud devices programmatically.Retrieve device informationRead input sensor valuesControl output ports such as Relay, LED, Buzzer, and IntervalUpdate device names and port labelsNote: Input ports are read-only. Only output ports can be updated via the API. Authentication Base URL https:\\\/\\\/api.gsmcloud.com Format Authorization: Basic\",\"inLanguage\":\"en-GB\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/helpdesk.gsmcloud.com\\\/en\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/helpdesk.gsmcloud.com\\\/en\\\/api\\\/#breadcrumblist\"},\"datePublished\":\"2025-06-19T13:20:50+00:00\",\"dateModified\":\"2025-11-19T14:55:14+00:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/helpdesk.gsmcloud.com\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/helpdesk.gsmcloud.com\\\/en\\\/\",\"name\":\"GSM Cloud - Helpdesk\",\"description\":\"Guidance and help with GSMCloud and our BMS solutions\",\"inLanguage\":\"en-GB\",\"publisher\":{\"@id\":\"https:\\\/\\\/helpdesk.gsmcloud.com\\\/en\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"API - GSM Cloud - Helpdesk","description":"GSMCloud API Documentation Introduction The GSMCloud API allows developers to interact with their GSMCloud devices programmatically.Retrieve device informationRead input sensor valuesControl output ports such as Relay, LED, Buzzer, and IntervalUpdate device names and port labelsNote: Input ports are read-only. Only output ports can be updated via the API. Authentication Base URL https:\/\/api.gsmcloud.com Format Authorisation: Basic","canonical_url":"https:\/\/helpdesk.gsmcloud.com\/en\/api\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"google-site-verification":"WuS7PGZ433NOIL0L5sywd1Uy2LQM0nLNeEThv9ThyII","miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BreadcrumbList","@id":"https:\/\/helpdesk.gsmcloud.com\/en\/api\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/helpdesk.gsmcloud.com\/en#listItem","position":1,"name":"Home","item":"https:\/\/helpdesk.gsmcloud.com\/en","nextItem":{"@type":"ListItem","@id":"https:\/\/helpdesk.gsmcloud.com\/en\/api\/#listItem","name":"API"}},{"@type":"ListItem","@id":"https:\/\/helpdesk.gsmcloud.com\/en\/api\/#listItem","position":2,"name":"API","previousItem":{"@type":"ListItem","@id":"https:\/\/helpdesk.gsmcloud.com\/en#listItem","name":"Home"}}]},{"@type":"Organization","@id":"https:\/\/helpdesk.gsmcloud.com\/en\/#organization","name":"GSM Cloud - Helpdesk","description":"Guidance and help with GSMCloud and our BMS solutions","url":"https:\/\/helpdesk.gsmcloud.com\/en\/","telephone":"+4593102434","logo":{"@type":"ImageObject","url":"https:\/\/helpdesk.gsmcloud.com\/wp-content\/uploads\/2025\/06\/GSMCloud-social-med-thumnbails.png","@id":"https:\/\/helpdesk.gsmcloud.com\/en\/api\/#organizationLogo"},"image":{"@id":"https:\/\/helpdesk.gsmcloud.com\/en\/api\/#organizationLogo"},"sameAs":["https:\/\/www.youtube.com\/channel\/UCcwc5PVpXe8m8tR8tAEVrpg","https:\/\/linkedin.com\/company\/gsm-teknik"]},{"@type":"WebPage","@id":"https:\/\/helpdesk.gsmcloud.com\/en\/api\/#webpage","url":"https:\/\/helpdesk.gsmcloud.com\/en\/api\/","name":"API - GSM Cloud - Helpdesk","description":"GSMCloud API Documentation Introduction The GSMCloud API allows developers to interact with their GSMCloud devices programmatically.Retrieve device informationRead input sensor valuesControl output ports such as Relay, LED, Buzzer, and IntervalUpdate device names and port labelsNote: Input ports are read-only. Only output ports can be updated via the API. Authentication Base URL https:\/\/api.gsmcloud.com Format Authorization: Basic","inLanguage":"en-GB","isPartOf":{"@id":"https:\/\/helpdesk.gsmcloud.com\/en\/#website"},"breadcrumb":{"@id":"https:\/\/helpdesk.gsmcloud.com\/en\/api\/#breadcrumblist"},"datePublished":"2025-06-19T13:20:50+00:00","dateModified":"2025-11-19T14:55:14+00:00"},{"@type":"WebSite","@id":"https:\/\/helpdesk.gsmcloud.com\/en\/#website","url":"https:\/\/helpdesk.gsmcloud.com\/en\/","name":"GSM Cloud - Helpdesk","description":"Guidance and help with GSMCloud and our BMS solutions","inLanguage":"en-GB","publisher":{"@id":"https:\/\/helpdesk.gsmcloud.com\/en\/#organization"}}]},"og:locale":"en_GB","og:site_name":"GSM Cloud - Helpdesk - Guidance and help with GSMCloud and our BMS solutions","og:type":"article","og:title":"API - GSM Cloud - Helpdesk","og:description":"GSMCloud API Documentation Introduction The GSMCloud API allows developers to interact with their GSMCloud devices programmatically.Retrieve device informationRead input sensor valuesControl output ports such as Relay, LED, Buzzer, and IntervalUpdate device names and port labelsNote: Input ports are read-only. Only output ports can be updated via the API. Authentication Base URL https:\/\/api.gsmcloud.com Format Authorization: Basic","og:url":"https:\/\/helpdesk.gsmcloud.com\/en\/api\/","og:image":"https:\/\/helpdesk.gsmcloud.com\/wp-content\/uploads\/2025\/09\/Base-feature-image.png","og:image:secure_url":"https:\/\/helpdesk.gsmcloud.com\/wp-content\/uploads\/2025\/09\/Base-feature-image.png","og:image:width":1600,"og:image:height":900,"article:published_time":"2025-06-19T13:20:50+00:00","article:modified_time":"2025-11-19T14:55:14+00:00","twitter:card":"summary_large_image","twitter:title":"API - GSM Cloud - Helpdesk","twitter:description":"GSMCloud API Documentation Introduction The GSMCloud API allows developers to interact with their GSMCloud devices programmatically.Retrieve device informationRead input sensor valuesControl output ports such as Relay, LED, Buzzer, and IntervalUpdate device names and port labelsNote: Input ports are read-only. Only output ports can be updated via the API. Authentication Base URL https:\/\/api.gsmcloud.com Format Authorization: Basic","twitter:image":"https:\/\/helpdesk.gsmcloud.com\/wp-content\/uploads\/2025\/06\/GSMCloud-social-med-thumnbails.png"},"aioseo_meta_data":{"post_id":"27001","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2025-09-04 10:37:38","updated":"2025-11-19 15:10:59","seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/helpdesk.gsmcloud.com\/en\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tAPI\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/helpdesk.gsmcloud.com\/en"},{"label":"API","link":"https:\/\/helpdesk.gsmcloud.com\/en\/api\/"}],"_links":{"self":[{"href":"https:\/\/helpdesk.gsmcloud.com\/en\/wp-json\/wp\/v2\/pages\/27001","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/helpdesk.gsmcloud.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/helpdesk.gsmcloud.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/helpdesk.gsmcloud.com\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/helpdesk.gsmcloud.com\/en\/wp-json\/wp\/v2\/comments?post=27001"}],"version-history":[{"count":16,"href":"https:\/\/helpdesk.gsmcloud.com\/en\/wp-json\/wp\/v2\/pages\/27001\/revisions"}],"predecessor-version":[{"id":28970,"href":"https:\/\/helpdesk.gsmcloud.com\/en\/wp-json\/wp\/v2\/pages\/27001\/revisions\/28970"}],"wp:attachment":[{"href":"https:\/\/helpdesk.gsmcloud.com\/en\/wp-json\/wp\/v2\/media?parent=27001"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}