{"info":{"_postman_id":"8d850a6e-7535-4e95-b81d-91ca31f0a1d5","name":"Ctrl for iPad","description":"<html><head></head><body><p>The HTTP API for Ctrl for iPad allows users to read and write to workspaces using external applications.</p>\n<p>Current version for API is <code>v1</code></p>\n<p>For more on Ctrl for iPad visit <a href=\"https://labs.onlx.ltd/ctrl-for-ipad\">https://labs.onlx.ltd/ctrl-for-ipad</a> or for documentation visit <a href=\"https://docs.onlx.ltd/ctrl-for-ipad\">https://docs.onlx.ltd/ctrl-for-ipad</a>.</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"1818973","collectionId":"8d850a6e-7535-4e95-b81d-91ca31f0a1d5","publishedId":"SzYUZMCS","public":true,"customColor":{"top-bar":"313131","right-sidebar":"303030","highlight":"00669E"},"publishDate":"2020-03-26T12:09:31.000Z"},"item":[{"name":"Info","item":[{"name":"OpenAVI - Version","id":"3242242c-67c5-48e3-9e9a-87917e54b785","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost/api/version","description":"<p>Get the version spec for OpenAVI standard</p>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"f6ca33c5-8298-4c13-84b2-1407a838c34f","id":"f6ca33c5-8298-4c13-84b2-1407a838c34f","name":"Info","type":"folder"}},"urlObject":{"path":["version"],"host":["http://localhost/api"],"query":[],"variable":[]}},"response":[{"id":"66c9bb48-3abc-4612-b760-4f1b4909d4e8","name":"OpenAVI - Version","originalRequest":{"method":"GET","header":[],"url":"http://localhost/api/version"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"Http.swift"},{"key":"Content-Length","value":"41"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"version\": \"v1\",\n    \"spec\": \"oavi\"\n}"}],"_postman_id":"3242242c-67c5-48e3-9e9a-87917e54b785"},{"name":"OpenAVI - Device","id":"07dd3098-936c-45aa-81e6-83baa04d1015","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost/api/device","description":"<p>Get the version spec for OpenAVI standard</p>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"f6ca33c5-8298-4c13-84b2-1407a838c34f","id":"f6ca33c5-8298-4c13-84b2-1407a838c34f","name":"Info","type":"folder"}},"urlObject":{"path":["device"],"host":["http://localhost/api"],"query":[],"variable":[]}},"response":[{"id":"1cc63c3a-4fd6-4d50-a92b-61cac21c6d7b","name":"OpenAVI - Device","originalRequest":{"method":"GET","header":[],"url":"http://localhost/api/device"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"162"},{"key":"Server","value":"Http.swift"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"type\": \"Ctrl for iPad\",\n    \"version\": \"2.1.0\",\n    \"name\": \"iPad Air (3rd generation)\",\n    \"id\": \"com.onlx.ctrl-mobile\",\n    \"manufacturer\": \"ON LX Limited\"\n}"}],"_postman_id":"07dd3098-936c-45aa-81e6-83baa04d1015"},{"name":"OpenAVI - Network","id":"eb90764f-a90c-4e6d-adfa-e36ebe222511","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost/api/network","description":"<p>Get the network information for OpenAVI standard</p>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"f6ca33c5-8298-4c13-84b2-1407a838c34f","id":"f6ca33c5-8298-4c13-84b2-1407a838c34f","name":"Info","type":"folder"}},"urlObject":{"path":["network"],"host":["http://localhost/api"],"query":[],"variable":[]}},"response":[{"id":"d667c3b6-a6b5-41dd-9de0-7fa7f4f05d6e","name":"OpenAVI - Network","originalRequest":{"method":"GET","header":[],"url":"http://localhost/api/network"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"Http.swift"},{"key":"Content-Length","value":"909"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"netmask\": \"255.0.0.0\",\n        \"address\": \"127.0.0.1\",\n        \"mac_address\": null,\n        \"name\": \"lo0\"\n    },\n    {\n        \"netmask\": \"ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff\",\n        \"address\": \"::1\",\n        \"mac_address\": null,\n        \"name\": \"lo0\"\n    },\n    {\n        \"netmask\": \"ffff:ffff:ffff:ffff::\",\n        \"name\": \"lo0\",\n        \"mac_address\": null,\n        \"address\": \"fe80::1\"\n    },\n    {\n        \"address\": \"fe80::c3c:801d:9d0:3f45\",\n        \"netmask\": \"ffff:ffff:ffff:ffff::\",\n        \"mac_address\": null,\n        \"name\": \"en0\"\n    },\n    {\n        \"netmask\": \"255.255.255.0\",\n        \"name\": \"en0\",\n        \"address\": \"10.0.5.21\",\n        \"mac_address\": null\n    },\n    {\n        \"address\": \"fe80::c8fb:f3fb:f93:10f6\",\n        \"name\": \"utun0\",\n        \"netmask\": \"ffff:ffff:ffff:ffff::\",\n        \"mac_address\": null\n    },\n    {\n        \"address\": \"fe80::403e:6a44:53d9:3695\",\n        \"mac_address\": null,\n        \"name\": \"utun1\",\n        \"netmask\": \"ffff:ffff:ffff:ffff::\"\n    }\n]"}],"_postman_id":"eb90764f-a90c-4e6d-adfa-e36ebe222511"}],"id":"f6ca33c5-8298-4c13-84b2-1407a838c34f","description":"<p>The HTTP API is OpenAVI Tier 1 compliant meaning it follows a standardised method for structure and data sets. It also allows for discovery using the OpenAVI Discovery Platform. For more info see <a href=\"https://openavi.bitbucket.io\">https://openavi.bitbucket.io</a></p>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"id":"f14f4800-ea7d-455c-a051-e230acc03fb7","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"6670cbcf-6884-484f-ac69-9d1da1ee942b","type":"text/javascript","exec":[""]}}],"_postman_id":"f6ca33c5-8298-4c13-84b2-1407a838c34f"},{"name":"Authentication","item":[{"name":"Obtain an Access Token","id":"1c3523cd-291e-4da7-bf12-deb18d44b1e0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n\t\"grant_type\": \"password\",\n\t\"username\": \"User\",\n\t\"password\": \"0000\",\n\t\"scope\": \"read-api write-api refresh_token\"\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost/api/authorise","description":"<p>Access tokens are used to authenticate requests when using the API. The <code>password</code> grant type is used and the user must pass the Username and Password set in the app settings. You can pass the <code>refresh_token</code> value in the scope field to allow token to be refreshed. Access Tokens expire after 4 hours from issuing.\n<br /><br />\n<strong>Body Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>grant_type</code></td>\n<td>Must be <code>password</code> for access token</td>\n</tr>\n<tr>\n<td><code>username</code></td>\n<td>The username provided in Settings &gt; User</td>\n</tr>\n<tr>\n<td><code>password</code></td>\n<td>The password provided in Settings &gt; User</td>\n</tr>\n<tr>\n<td><code>scope</code></td>\n<td>The permission to grant the user. Allowed <code>read-api</code> and <code>write-api</code> (space separated). Use <code>refresh_token</code> to allow token to be refreshed</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["authorise"],"host":["http://localhost/api"],"query":[],"variable":[]}},"response":[{"id":"450892fa-353c-49d5-9a47-867e9eafac94","name":"Obtain an Access Token","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n\t\"grant_type\": \"password\",\n\t\"username\": \"User\",\n\t\"password\": \"0000\",\n\t\"scope\": \"read-api write-api\"\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost/api/authorise"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"Http.swift"},{"key":"Content-Length","value":"368"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"scope\": \"read-api write-api\",\n    \"expires\": 14400,\n    \"access_token\": \"eyJhbGciOiJIUzI1NiIsImtpZCI6InFZN2dKSjJwbFpFbTlZY....\"\n}"}],"_postman_id":"1c3523cd-291e-4da7-bf12-deb18d44b1e0"},{"name":"Refresh an Access Token","id":"10bce602-60e9-48fb-88b0-0da5581f6df2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n\t\"grant_type\": \"refresh_token\",\n\t\"refresh_token\": \"jCfSKxa6KqLxA7iA9S7DbHgI....\"\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost/api/authorise","description":"<p>Access tokens can be refreshed when access token expires. To obtain a refresh token you must pass the <code>refresh_token</code> value in the scope of the initial access token required. Refresh Tokens expire after 90 days of inactive.\n<br /><br />\n<strong>Body Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>grant_type</code></td>\n<td>Must be <code>refresh_token</code> for refresh token</td>\n</tr>\n<tr>\n<td><code>refresh_token</code></td>\n<td>The refresh token value from the initial access token request</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["authorise"],"host":["http://localhost/api"],"query":[],"variable":[]}},"response":[{"id":"78cb0b52-911b-4235-b594-7311c28bbeff","name":"Refresh an Access Token","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n\t\"grant_type\": \"refresh_token\",\n\t\"refresh_token\": \"jCfSKxa6KqLxA7iA9S7DbHgIOk2ToFtAhXgqytbzYAI6euCL9sSdK0WEEUE90BNE\"\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost/api/authorise"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"Http.swift"},{"key":"Content-Length","value":"368"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"scope\": \"read-api write-api\",\n    \"expires\": 14400,\n    \"access_token\": \"eyJhbGciOiJIUzI1NiIsImtpZCI6I....\"\n}"},{"id":"f70c5984-ac1c-48ac-ab7a-fd37bddbca42","name":"Obtain an Access Token","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n\t\"grant_type\": \"password\",\n\t\"username\": \"User\",\n\t\"password\": \"0000\",\n\t\"scope\": \"read-api write-api\"\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost/api/authorise"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"Http.swift"},{"key":"Content-Length","value":"368"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"scope\": \"read-api write-api\",\n    \"expires\": 14400,\n    \"access_token\": \"eyJhbGciOiJIUzI1NiIsImtpZCI6InFZN2dKSjJwbFpFbTlZY....\"\n}"}],"_postman_id":"10bce602-60e9-48fb-88b0-0da5581f6df2"}],"id":"ce722b82-34c7-4890-aa64-c5d149679cd0","description":"<p>Authentication is required to access all endpoints (excluding OpenAVI Info)</p>\n<br />\nAuthentication must be supplied in the request header as Bearer Token.<br />\n\n<p><code>Authorization: Bearer eyJhbGciOiJIUzI1NiIsImtpZCI6InFZN2dKSjJwbFpFbTlZY</code></p>\n","event":[{"listen":"prerequest","script":{"id":"4630aea1-2dbb-4936-9248-42f4cd3a0008","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"5c0c340c-f5ae-4b5e-9884-9c6b9cc6206e","type":"text/javascript","exec":[""]}}],"_postman_id":"ce722b82-34c7-4890-aa64-c5d149679cd0","auth":{"type":"oauth2","oauth2":{"basicConfig":[{"key":"accessToken","value":"<access-token>"}]},"isInherited":true,"source":{"_postman_id":"8d850a6e-7535-4e95-b81d-91ca31f0a1d5","id":"8d850a6e-7535-4e95-b81d-91ca31f0a1d5","name":"Ctrl for iPad","type":"collection"}}},{"name":"Interfaces","item":[{"name":"Get Interfaces","id":"3310f79b-ebc2-46b9-90fa-7dfe26e9c40c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost/api/v1/interfaces","description":"<p>Get all interfaces for the workspace with full properties</p>\n","auth":{"type":"oauth2","oauth2":{"basicConfig":[{"key":"accessToken","value":"<access-token>"}]},"isInherited":true,"source":{"_postman_id":"8d850a6e-7535-4e95-b81d-91ca31f0a1d5","id":"8d850a6e-7535-4e95-b81d-91ca31f0a1d5","name":"Ctrl for iPad","type":"collection"}},"urlObject":{"path":["v1","interfaces"],"host":["http://localhost/api"],"query":[],"variable":[]}},"response":[{"id":"8a43cca3-cc48-4587-974a-f7b1be6046ca","name":"Get Interfaces","originalRequest":{"method":"GET","header":[],"url":"http://localhost/api/v1/interfaces"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"349"},{"key":"Server","value":"Http.swift"}],"cookie":[],"responseTime":null,"body":"{\n    \"count\": 1,\n    \"data\": [\n        {\n            \"uid\": \"324F8F80\",\n            \"position\": 0,\n            \"theme\": {\n                \"palette\": \"default-colors\",\n                \"theme\": 1\n            },\n            \"props\": {\n                \"interface_width\": 905,\n                \"interface_height\": 814\n            },\n            \"type\": \"free\",\n            \"label\": \"Interface One\"\n        }\n    ],\n    \"_type\": \"array\"\n}"}],"_postman_id":"3310f79b-ebc2-46b9-90fa-7dfe26e9c40c"},{"name":"Get Interface by UID","id":"04bb3305-16e3-4dd5-882f-ad7ef1095544","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost/api/v1/interfaces/:uid","description":"<p>Get a single interface with all properties by UID</p>\n","auth":{"type":"oauth2","oauth2":{"basicConfig":[{"key":"accessToken","value":"<access-token>"}]},"isInherited":true,"source":{"_postman_id":"8d850a6e-7535-4e95-b81d-91ca31f0a1d5","id":"8d850a6e-7535-4e95-b81d-91ca31f0a1d5","name":"Ctrl for iPad","type":"collection"}},"urlObject":{"path":["v1","interfaces",":uid"],"host":["http://localhost/api"],"query":[],"variable":[{"description":{"content":"<p>The UID of the interface to target</p>\n","type":"text/plain"},"type":"string","value":"324F8F80","key":"uid"}]}},"response":[{"id":"3f0e4651-5857-483d-bd3e-96f0cab4f0db","name":"Get Interfaces by UID","originalRequest":{"method":"GET","header":[],"url":{"raw":"http://localhost/api/v1/interfaces/:uid","host":["http://localhost/api"],"path":["v1","interfaces",":uid"],"variable":[{"key":"uid","value":"324F8F80","type":"string"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Server","value":"Http.swift"},{"key":"Content-Length","value":"299"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"position\": 0,\n        \"label\": \"Interface One\",\n        \"uid\": \"324F8F80\",\n        \"theme\": {\n            \"theme\": 1,\n            \"palette\": \"default-colors\"\n        },\n        \"type\": \"free\",\n        \"props\": {\n            \"interface_width\": 905,\n            \"interface_height\": 814\n        }\n    },\n    \"_type\": \"object\"\n}"}],"_postman_id":"04bb3305-16e3-4dd5-882f-ad7ef1095544"},{"name":"Get Controls for Interfaces by UID","id":"c12ff6d4-bad2-4487-b769-fa10c98e727b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost/api/v1/interfaces/:uid/controls","description":"<p>Get all controls in the requested interface by UID with basic control properties. (Methods and module settings are omitted)</p>\n","auth":{"type":"oauth2","oauth2":{"basicConfig":[{"key":"accessToken","value":"<access-token>"}]},"isInherited":true,"source":{"_postman_id":"8d850a6e-7535-4e95-b81d-91ca31f0a1d5","id":"8d850a6e-7535-4e95-b81d-91ca31f0a1d5","name":"Ctrl for iPad","type":"collection"}},"urlObject":{"path":["v1","interfaces",":uid","controls"],"host":["http://localhost/api"],"query":[],"variable":[{"description":{"content":"<p>The UID of the interface to target</p>\n","type":"text/plain"},"type":"string","value":"324F8F80","key":"uid"}]}},"response":[{"id":"3f4037df-18ff-4988-a74e-2d5b46ac99d1","name":"Get Controls for Interfaces by UID","originalRequest":{"method":"GET","header":[],"url":{"raw":"http://localhost/api/v1/interfaces/:uid/controls","host":["http://localhost/api"],"path":["v1","interfaces",":uid","controls"],"variable":[{"key":"uid","value":"324F8F80","type":"string"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Server","value":"Http.swift"},{"key":"Content-Length","value":"377"}],"cookie":[],"responseTime":null,"body":"{\n    \"count\": 1,\n    \"data\": [\n        {\n            \"page_uid\": \"324F8F80\",\n            \"uid\": \"E19F3F24\",\n            \"size\": {\n                \"width\": 100,\n                \"height\": 100\n            },\n            \"theme\": {\n                \"theme\": \"1\",\n                \"palette\": \"flat-colors\"\n            },\n            \"position\": {\n                \"y\": 340,\n                \"x\": 190\n            },\n            \"type\": \"button-push\"\n        }\n    ],\n    \"_type\": \"array\"\n}"}],"_postman_id":"c12ff6d4-bad2-4487-b769-fa10c98e727b"},{"name":"Create an Interface","id":"384d5a5b-084a-411a-a2c3-2f13692ff0d8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n\t\"label\": \"Interface Two\",\n\t\"type\": \"free\"\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost/api/v1/interfaces?reload=true","description":"<p>Create an interface for the workspace. Requires the write-api permission.</p>\n<p><br /><br />\n<strong>Body Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>label</code></td>\n<td>The name of the interface. Must be unique</td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td>The interface type. See <strong>Get Interface Types</strong></td>\n</tr>\n<tr>\n<td><code>theme</code> (optional)</td>\n<td>The palette and theme value <code>{\"palette\": \"flat-colors\", \"theme\": 5 }</code></td>\n</tr>\n<tr>\n<td><code>position</code> (optional)</td>\n<td>The position in the sidebar</td>\n</tr>\n<tr>\n<td><code>props</code> (optional)</td>\n<td>Additional properties for customisation. See <strong>Get Interface Properties</strong></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"oauth2","oauth2":{"basicConfig":[{"key":"accessToken","value":"<access-token>"}]},"isInherited":true,"source":{"_postman_id":"8d850a6e-7535-4e95-b81d-91ca31f0a1d5","id":"8d850a6e-7535-4e95-b81d-91ca31f0a1d5","name":"Ctrl for iPad","type":"collection"}},"urlObject":{"path":["v1","interfaces"],"host":["http://localhost/api"],"query":[{"description":{"content":"<p>Optional value set as false to disable workspace reload (Default: true)</p>\n","type":"text/plain"},"key":"reload","value":"true"}],"variable":[]}},"response":[{"id":"ff143ed2-b3c8-48d5-b2c7-fb2ded895f20","name":"Create Interface","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n\t\"label\": \"Interface Two\",\n\t\"type\": \"free\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"http://localhost/api/v1/interfaces?reload=false","host":["http://localhost/api"],"path":["v1","interfaces"],"query":[{"key":"reload","value":"false"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Server","value":"Http.swift"},{"key":"Content-Length","value":"424"}],"cookie":[],"responseTime":null,"body":"{\n    \"_type\": \"object\",\n    \"data\": {\n        \"uid\": \"4CB046BA\",\n        \"action\": \"create\",\n        \"object\": {\n            \"label\": \"Interface Two\",\n            \"position\": 1,\n            \"uid\": \"4CB046BA\",\n            \"props\": {\n                \"interface_height\": 814,\n                \"interface_width\": 905\n            },\n            \"type\": \"free\",\n            \"theme\": {\n                \"palette\": \"flat-colors\",\n                \"theme\": \"1\"\n            }\n        },\n        \"instance\": \"interface\"\n    }\n}"}],"_postman_id":"384d5a5b-084a-411a-a2c3-2f13692ff0d8"},{"name":"Update an Interface by UID","id":"70eb47e4-b835-4c92-a433-dea62b382067","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\n    \"label\": \"Interface Two (Edited)\",\n    \"type\": \"free\",\n    \"theme\": {\n        \"palette\": \"material-colors-bordered\",\n        \"theme\": 2\n    }\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost/api/v1/interfaces/:uid?reload=true","description":"<p>Update an interface for the workspace by UID. Only provide the properties that you wish to update. Requires the write-api permission.</p>\n<p><br /><br />\n<strong>Body Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>label</code></td>\n<td>The name of the interface. Must be unique</td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td>The interface type. See <strong>Get Interface Types</strong></td>\n</tr>\n<tr>\n<td><code>theme</code></td>\n<td>The palette and theme value <code>{\"palette\": \"flat-colors\", \"theme\": 5 }</code></td>\n</tr>\n<tr>\n<td><code>position</code></td>\n<td>The position in the sidebar</td>\n</tr>\n<tr>\n<td><code>props</code></td>\n<td>Additional properties for customisation. See <strong>Get Interface Properties</strong></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"oauth2","oauth2":{"basicConfig":[{"key":"accessToken","value":"<access-token>"}]},"isInherited":true,"source":{"_postman_id":"8d850a6e-7535-4e95-b81d-91ca31f0a1d5","id":"8d850a6e-7535-4e95-b81d-91ca31f0a1d5","name":"Ctrl for iPad","type":"collection"}},"urlObject":{"path":["v1","interfaces",":uid"],"host":["http://localhost/api"],"query":[{"description":{"content":"<p>Optional value set as false to disable workspace reload (Default: true)</p>\n","type":"text/plain"},"key":"reload","value":"true"}],"variable":[{"description":{"content":"<p>The UID for the interface to target</p>\n","type":"text/plain"},"type":"string","value":"4CB046BA","key":"uid"}]}},"response":[{"id":"3cc2abed-8442-4860-a302-c7deb0f44221","name":"Update an Interface by UID","originalRequest":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\n    \"label\": \"Interface Two (Edited)\",\n    \"type\": \"free\",\n    \"theme\": {\n        \"palette\": \"material-colors-bordered\",\n        \"theme\": 2\n    }\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"http://localhost/api/v1/interfaces/:uid?reload=true","host":["http://localhost/api"],"path":["v1","interfaces",":uid"],"query":[{"key":"reload","value":"true","description":"Optional value set as false to disable workspace reload (Default: true)"}],"variable":[{"key":"uid","value":"4CB046BA","description":"The UID for the interface to target"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"303"},{"key":"Content-Type","value":"application/json"},{"key":"Server","value":"Http.swift"}],"cookie":[],"responseTime":null,"body":"{\n    \"_type\": \"object\",\n    \"data\": {\n        \"instance\": \"interface\",\n        \"action\": \"update\",\n        \"uid\": \"4CB046BA\",\n        \"object\": {\n            \"type\": \"free\",\n            \"label\": \"Interface Two (Edited)\",\n            \"theme\": {\n                \"theme\": 2,\n                \"palette\": \"material-colors-bordered\"\n            }\n        }\n    }\n}"}],"_postman_id":"70eb47e4-b835-4c92-a433-dea62b382067"},{"name":"Delete an Interface by UID","id":"e7f204dc-c7f3-44d3-affd-d5505c47118c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"http://localhost/api/v1/interfaces/:uid?reload=true","description":"<p>Delete the interface by UID. Requires the write-api permission</p>\n","auth":{"type":"oauth2","oauth2":{"basicConfig":[{"key":"accessToken","value":"<access-token>"}]},"isInherited":true,"source":{"_postman_id":"8d850a6e-7535-4e95-b81d-91ca31f0a1d5","id":"8d850a6e-7535-4e95-b81d-91ca31f0a1d5","name":"Ctrl for iPad","type":"collection"}},"urlObject":{"path":["v1","interfaces",":uid"],"host":["http://localhost/api"],"query":[{"description":{"content":"<p>Optional value set as false to disable workspace reload (Default: true)</p>\n","type":"text/plain"},"key":"reload","value":"true"}],"variable":[{"description":{"content":"<p>The UID for the interface to target</p>\n","type":"text/plain"},"type":"string","value":"4CB046BA","key":"uid"}]}},"response":[{"id":"51c25b28-3f25-43bb-9e80-6d472ba46c86","name":"Delete an Interface by UID","originalRequest":{"method":"DELETE","header":[],"url":{"raw":"http://localhost/api/v1/interfaces/:uid?reload=true","host":["http://localhost/api"],"path":["v1","interfaces",":uid"],"query":[{"key":"reload","value":"true","description":"Optional value set as false to disable workspace reload (Default: true)"}],"variable":[{"key":"uid","value":"4CB046BA","description":"The UID for the interface to target"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"120"},{"key":"Server","value":"Http.swift"}],"cookie":[],"responseTime":null,"body":"{\n    \"_type\": \"object\",\n    \"data\": {\n        \"uid\": \"4CB046BA\",\n        \"instance\": \"interface\",\n        \"action\": \"delete\"\n    }\n}"}],"_postman_id":"e7f204dc-c7f3-44d3-affd-d5505c47118c"},{"name":"Activate an Interface by UID","id":"17fb2296-0187-4c43-badf-9223c63a55b3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"http://localhost/api/v1/interfaces/:uid/activate?fade=0.2","description":"<p>Set an interface as active (visible) for the workspace by UID for the current user. Current user must be able to view the selected interface and API user requires the write-api permission.</p>\n","auth":{"type":"oauth2","oauth2":{"basicConfig":[{"key":"accessToken","value":"<access-token>"}]},"isInherited":true,"source":{"_postman_id":"8d850a6e-7535-4e95-b81d-91ca31f0a1d5","id":"8d850a6e-7535-4e95-b81d-91ca31f0a1d5","name":"Ctrl for iPad","type":"collection"}},"urlObject":{"path":["v1","interfaces",":uid","activate"],"host":["http://localhost/api"],"query":[{"description":{"content":"<p>Optional value set as greater than 0 to fade between interfaces (Default: null)</p>\n","type":"text/plain"},"key":"fade","value":"0.2"}],"variable":[{"description":{"content":"<p>The UID for the interface to target</p>\n","type":"text/plain"},"type":"string","value":"4CB046BA","key":"uid"}]}},"response":[{"id":"d44b6f83-6a3c-4275-ac5c-d92cfa3c34d0","name":"Activate an Interface by UID","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":{"raw":"http://localhost/api/v1/interfaces/:uid/activate?fade=0.2","host":["http://localhost/api"],"path":["v1","interfaces",":uid","activate"],"query":[{"key":"fade","value":"0.2","description":"Optional value set as greater than 0 to fade between interfaces (Default: null)"}],"variable":[{"description":"The UID for the interface to target","key":"uid","value":"4CB046BA"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"122"},{"key":"Server","value":"Http.swift"}],"cookie":[],"responseTime":null,"body":"{\n    \"_type\": \"object\",\n    \"data\": {\n        \"instance\": \"interface\",\n        \"uid\": \"4CB046BA\",\n        \"action\": \"activate\"\n    }\n}"}],"_postman_id":"17fb2296-0187-4c43-badf-9223c63a55b3"}],"id":"e34ad187-8901-4f09-bf12-47bb5ef81087","description":"<p>Use the interface endpoints to create, read, update and delete interfaces and obtain associated controls.</p>\n","event":[{"listen":"prerequest","script":{"id":"e86f20ae-f3a3-4ee7-9fb4-f01d85121a16","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"51fc71e4-a776-4ac5-af95-326afa1e09a6","type":"text/javascript","exec":[""]}}],"_postman_id":"e34ad187-8901-4f09-bf12-47bb5ef81087","auth":{"type":"oauth2","oauth2":{"basicConfig":[{"key":"accessToken","value":"<access-token>"}]},"isInherited":true,"source":{"_postman_id":"8d850a6e-7535-4e95-b81d-91ca31f0a1d5","id":"8d850a6e-7535-4e95-b81d-91ca31f0a1d5","name":"Ctrl for iPad","type":"collection"}}},{"name":"Controls","item":[{"name":"Get Controls","id":"986f55bd-a7d4-4c8a-b314-a1279787f88c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost/api/v1/controls","description":"<p>Get all controls in the workspace with basic control properties. (Methods and module settings are omitted)</p>\n","auth":{"type":"oauth2","oauth2":{"basicConfig":[{"key":"accessToken","value":"<access-token>"}]},"isInherited":true,"source":{"_postman_id":"8d850a6e-7535-4e95-b81d-91ca31f0a1d5","id":"8d850a6e-7535-4e95-b81d-91ca31f0a1d5","name":"Ctrl for iPad","type":"collection"}},"urlObject":{"path":["v1","controls"],"host":["http://localhost/api"],"query":[],"variable":[]}},"response":[{"id":"33f3cfd7-fd11-40d1-9e5f-4f047175e4b4","name":"Get Controls","originalRequest":{"method":"GET","header":[],"url":"http://localhost/api/v1/controls"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"Http.swift"},{"key":"Content-Length","value":"377"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"_type\": \"array\",\n    \"data\": [\n        {\n            \"theme\": {\n                \"theme\": \"1\",\n                \"palette\": \"flat-colors\"\n            },\n            \"position\": {\n                \"y\": 340,\n                \"x\": 190\n            },\n            \"page_uid\": \"324F8F80\",\n            \"type\": \"button-push\",\n            \"size\": {\n                \"height\": 100,\n                \"width\": 100\n            },\n            \"uid\": \"E19F3F24\"\n        }\n    ],\n    \"count\": 1\n}"}],"_postman_id":"986f55bd-a7d4-4c8a-b314-a1279787f88c"},{"name":"Get Controls by UID","id":"25c120b2-d90b-4393-823f-06a9e54b9546","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost/api/v1/controls/:uid","description":"<p>Get a single control with basic control properties. (Methods and module settings are omitted)</p>\n","auth":{"type":"oauth2","oauth2":{"basicConfig":[{"key":"accessToken","value":"<access-token>"}]},"isInherited":true,"source":{"_postman_id":"8d850a6e-7535-4e95-b81d-91ca31f0a1d5","id":"8d850a6e-7535-4e95-b81d-91ca31f0a1d5","name":"Ctrl for iPad","type":"collection"}},"urlObject":{"path":["v1","controls",":uid"],"host":["http://localhost/api"],"query":[],"variable":[{"description":{"content":"<p>The UID of the control to target</p>\n","type":"text/plain"},"type":"string","value":"E19F3F24","key":"uid"}]}},"response":[{"id":"058873ac-9c3b-419c-ac80-1eed6fbf9ef8","name":"Get Controls by UID","originalRequest":{"method":"GET","header":[],"url":{"raw":"http://localhost/api/v1/controls/:uid","host":["http://localhost/api"],"path":["v1","controls",":uid"],"variable":[{"key":"uid","value":"E19F3F24","type":"string"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"Http.swift"},{"key":"Content-Length","value":"321"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"position\": {\n            \"y\": 340,\n            \"x\": 190\n        },\n        \"uid\": \"E19F3F24\",\n        \"size\": {\n            \"width\": 100,\n            \"height\": 100\n        },\n        \"theme\": {\n            \"palette\": \"flat-colors\",\n            \"theme\": \"1\"\n        },\n        \"page_uid\": \"324F8F80\",\n        \"type\": \"button-push\"\n    },\n    \"_type\": \"object\"\n}"}],"_postman_id":"25c120b2-d90b-4393-823f-06a9e54b9546"},{"name":"Create a Control","id":"dfc8c673-37ca-401e-9828-98a579a4c6e0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[{"key":"accessToken","value":"<access-token>"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"size\": {\n        \"height\": 190,\n        \"width\": 200\n    },\n    \"type\": \"button-push\",\n    \"theme\": {\n        \"palette\": \"flat-colors\",\n        \"theme\": \"1\"\n    },\n    \"page_uid\": \"324F8F80\",\n    \"position\": {\n        \"x\": 90,\n        \"y\": 380\n    }\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost/api/v1/controls?reload=true","description":"<p>Create a control for the workspace. Requires the write-api permission.</p>\n<p><br /><br />\n<strong>Body Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>page_uid</code></td>\n<td>The interface which the control will be added to by UID</td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td>The control type. See <strong>Get Control Types</strong></td>\n</tr>\n<tr>\n<td><code>position</code></td>\n<td>The position in the interface. For <code>free</code> type use <code>{\"x\": 100, \"y\": 100 }</code>, for <code>grid</code> type use <code>{\"col\": 1, \"row\": 1 }</code>, for <code>linear</code> type use integer <code>1</code></td>\n</tr>\n<tr>\n<td><code>size</code></td>\n<td>The size in the interface. For <code>free</code> type use <code>{\"width\": 100, \"height\": 100 }</code>, for <code>grid</code> type use <code>{\"width\": 1, \"height\": 1 }</code>, not required for <code>linear</code> type</td>\n</tr>\n<tr>\n<td><code>label</code> (optional)</td>\n<td>The name of the interface. Must be unique</td>\n</tr>\n<tr>\n<td><code>theme</code> (optional)</td>\n<td>The palette and theme value <code>{\"palette\": \"flat-colors\", \"theme\": 5 }</code></td>\n</tr>\n<tr>\n<td><code>props</code> (optional)</td>\n<td>Additional properties for customisation. See <strong>Get Control Properties</strong></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["v1","controls"],"host":["http://localhost/api"],"query":[{"description":{"content":"<p>Optional value set as false to disable workspace reload (Default: true)</p>\n","type":"text/plain"},"key":"reload","value":"true"}],"variable":[]}},"response":[{"id":"b1902337-0353-48db-8f82-d1c3636a1029","name":"Create a Control","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"size\": {\n        \"height\": 190,\n        \"width\": 200\n    },\n    \"type\": \"button-push\",\n    \"theme\": {\n        \"palette\": \"flat-colors\",\n        \"theme\": \"1\"\n    },\n    \"page_uid\": \"324F8F80\",\n    \"position\": {\n        \"x\": 90,\n        \"y\": 380\n    }\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost/api/v1/controls"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Server","value":"Http.swift"},{"key":"Content-Length","value":"366"}],"cookie":[],"responseTime":null,"body":"{\n    \"_type\": \"object\",\n    \"data\": {\n        \"instance\": \"control\",\n        \"uid\": \"A56396F7\",\n        \"action\": \"create\",\n        \"object\": {\n            \"size\": {\n                \"width\": 200,\n                \"height\": 190\n            },\n            \"page_uid\": \"324F8F80\",\n            \"uid\": \"A56396F7\",\n            \"type\": \"button-push\",\n            \"position\": {\n                \"x\": 90,\n                \"y\": 380\n            }\n        }\n    }\n}"}],"_postman_id":"dfc8c673-37ca-401e-9828-98a579a4c6e0"},{"name":"Update a Control by UID","id":"399e2c04-5dd3-47cf-bde6-1aac501400ee","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[{"key":"accessToken","value":"<access-token>"}]},"isInherited":false},"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\n    \n    \"position\": {\n        \"x\": 190,\n        \"y\": 280\n    }\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost/api/v1/controls/:uid?reload=true","description":"<p>Update a control for the workspace by UID. Only provide the properties that you wish to update. Requires the write-api permission.</p>\n<p><br /><br />\n<strong>Body Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>page_uid</code></td>\n<td>The interface which the control will be added to by UID</td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td>The control type. See <strong>Get Control Types</strong></td>\n</tr>\n<tr>\n<td><code>position</code></td>\n<td>The position in the interface. For <code>free</code> type use <code>{\"x\": 100, \"y\": 100 }</code>, for <code>grid</code> type use <code>{\"col\": 1, \"row\": 1 }</code>, for <code>linear</code> type use integer <code>1</code></td>\n</tr>\n<tr>\n<td><code>size</code></td>\n<td>The size in the interface. For <code>free</code> type use <code>{\"width\": 100, \"height\": 100 }</code>, for <code>grid</code> type use <code>{\"width\": 1, \"height\": 1 }</code>, not required for <code>linear</code> type</td>\n</tr>\n<tr>\n<td><code>label</code></td>\n<td>The name of the interface. Must be unique</td>\n</tr>\n<tr>\n<td><code>theme</code></td>\n<td>The palette and theme value <code>{\"palette\": \"flat-colors\", \"theme\": 5 }</code></td>\n</tr>\n<tr>\n<td><code>props</code></td>\n<td>Additional properties for customisation. See <strong>Get Control Properties</strong></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["v1","controls",":uid"],"host":["http://localhost/api"],"query":[{"description":{"content":"<p>Optional value set as false to disable workspace reload (Default: true)</p>\n","type":"text/plain"},"key":"reload","value":"true"}],"variable":[{"description":{"content":"<p>The UID for the control to target</p>\n","type":"text/plain"},"type":"string","value":"A56396F7","key":"uid"}]}},"response":[{"id":"db51965a-c93c-41dc-8da8-9f0a0f1624aa","name":"Update a Control by UID","originalRequest":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\n    \n    \"position\": {\n        \"x\": 190,\n        \"y\": 280\n    }\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"http://localhost/api/v1/controls/:uid","host":["http://localhost/api"],"path":["v1","controls",":uid"],"query":[{"key":"reload","type":"text","value":"false","disabled":true}],"variable":[{"key":"uid","value":"A56396F7"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Server","value":"Http.swift"},{"key":"Content-Length","value":"341"}],"cookie":[],"responseTime":null,"body":"{\n    \"_type\": \"object\",\n    \"data\": {\n        \"uid\": \"A56396F7\",\n        \"instance\": \"control\",\n        \"action\": \"update\",\n        \"object\": {\n            \"page_uid\": \"324F8F80\",\n            \"position\": {\n                \"x\": 190,\n                \"y\": 280\n            },\n            \"type\": \"button-push\",\n            \"size\": {\n                \"width\": 200,\n                \"height\": 190\n            }\n        }\n    }\n}"}],"_postman_id":"399e2c04-5dd3-47cf-bde6-1aac501400ee"},{"name":"Delete a Control by UID","id":"b6fe9d42-096e-4eb5-a648-3d1a35751dc7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[{"key":"accessToken","value":"<access-token>"}]},"isInherited":false},"method":"DELETE","header":[],"body":{"mode":"raw","raw":"{\n    \n    \"position\": {\n        \"x\": 190,\n        \"y\": 280\n    }\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost/api/v1/controls/:uid?reload=true","description":"<p>Delete the control by UID. Requires the write-api permission</p>\n","urlObject":{"path":["v1","controls",":uid"],"host":["http://localhost/api"],"query":[{"description":{"content":"<p>Optional value set as false to disable workspace reload (Default: true)</p>\n","type":"text/plain"},"key":"reload","value":"true"}],"variable":[{"description":{"content":"<p>The UID for the control to target</p>\n","type":"text/plain"},"type":"string","value":"A56396F7","key":"uid"}]}},"response":[{"id":"6d09c6de-4788-436e-a33c-385503f2c9a6","name":"Delete a Control by UID","originalRequest":{"method":"DELETE","header":[],"body":{"mode":"raw","raw":"{\n    \n    \"position\": {\n        \"x\": 190,\n        \"y\": 280\n    }\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"http://localhost/api/v1/controls/:uid?reload=true","host":["http://localhost/api"],"path":["v1","controls",":uid"],"query":[{"key":"reload","value":"true","description":"Optional value set as false to disable workspace reload (Default: true)"}],"variable":[{"key":"uid","value":"A56396F7"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Server","value":"Http.swift"},{"key":"Content-Length","value":"120"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"uid\": \"A56396F7\",\n        \"action\": \"delete\",\n        \"instance\": \"interface\"\n    },\n    \"_type\": \"object\"\n}"}],"_postman_id":"b6fe9d42-096e-4eb5-a648-3d1a35751dc7"},{"name":"Get Methods for a Control by UID","id":"da307333-a508-4400-80ef-758addb6f61c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost/api/v1/controls/:uid/methods","description":"<p>Get the protocol methods for a control by UID</p>\n","auth":{"type":"oauth2","oauth2":{"basicConfig":[{"key":"accessToken","value":"<access-token>"}]},"isInherited":true,"source":{"_postman_id":"8d850a6e-7535-4e95-b81d-91ca31f0a1d5","id":"8d850a6e-7535-4e95-b81d-91ca31f0a1d5","name":"Ctrl for iPad","type":"collection"}},"urlObject":{"path":["v1","controls",":uid","methods"],"host":["http://localhost/api"],"query":[],"variable":[{"description":{"content":"<p>The UID of the control to target</p>\n","type":"text/plain"},"type":"string","value":"E19F3F24","key":"uid"}]}},"response":[{"id":"1ee920c7-bbca-4c0f-bf53-955b83b69df3","name":"Get Methods for Controls by UID","originalRequest":{"method":"GET","header":[],"url":{"raw":"http://localhost/api/v1/controls/:uid/methods","host":["http://localhost/api"],"path":["v1","controls",":uid","methods"],"variable":[{"key":"uid","type":"string","value":"E19F3F24"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Server","value":"Http.swift"},{"key":"Content-Length","value":"347"}],"cookie":[],"responseTime":null,"body":"{\n    \"_type\": \"object\",\n    \"data\": {\n        \"http\": [\n            {\n                \"patch\": \"853C2781\",\n                \"uid\": \"48787B78\",\n                \"mode\": 0,\n                \"address\": \"/http\"\n            }\n        ],\n        \"midi\": [\n            {\n                \"patch\": \"5038D294\",\n                \"uid\": \"A0C6D964\",\n                \"velocity\": 127,\n                \"mode\": 0,\n                \"note\": 0\n            }\n        ]\n    }\n}"}],"_postman_id":"da307333-a508-4400-80ef-758addb6f61c"},{"name":"Get a Method for a Control by UID for a Protocol","id":"90be91d2-0c22-4336-a952-0cc0eef58d66","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost/api/v1/controls/:uid/methods/:protocol","description":"<p>Get the protocol methods for a control by UID for a single protocol</p>\n","auth":{"type":"oauth2","oauth2":{"basicConfig":[{"key":"accessToken","value":"<access-token>"}]},"isInherited":true,"source":{"_postman_id":"8d850a6e-7535-4e95-b81d-91ca31f0a1d5","id":"8d850a6e-7535-4e95-b81d-91ca31f0a1d5","name":"Ctrl for iPad","type":"collection"}},"urlObject":{"path":["v1","controls",":uid","methods",":protocol"],"host":["http://localhost/api"],"query":[],"variable":[{"description":{"content":"<p>The UID of the control to target</p>\n","type":"text/plain"},"type":"string","value":"E19F3F24","key":"uid"},{"description":{"content":"<p>The protocol type to target</p>\n","type":"text/plain"},"type":"string","value":"http","key":"protocol"}]}},"response":[{"id":"8cf6de1f-142a-4757-9b26-82218c595904","name":"Get Methods for Controls by UID for a Protocol","originalRequest":{"method":"GET","header":[],"url":{"raw":"http://localhost/api/v1/controls/:uid/methods/:protocol","host":["http://localhost/api"],"path":["v1","controls",":uid","methods",":protocol"],"variable":[{"key":"uid","type":"string","value":"E19F3F24"},{"key":"protocol","value":"http"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"167"},{"key":"Server","value":"Http.swift"}],"cookie":[],"responseTime":null,"body":"{\n    \"_type\": \"array\",\n    \"count\": 1,\n    \"data\": [\n        {\n            \"uid\": \"48787B78\",\n            \"address\": \"/http\",\n            \"patch\": \"853C2781\",\n            \"mode\": 0\n        }\n    ]\n}"}],"_postman_id":"90be91d2-0c22-4336-a952-0cc0eef58d66"},{"name":"Create a Method for a Control by UID for a Protocol","id":"0bb35403-7830-433b-9f1e-c921c8083ddc","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n\t\"address\": \"/http\",\n\t\"patch\": \"853C2781\"\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost/api/v1/controls/:uid/methods/:protocol","description":"<p>Create a output method for a control by UID for a protocol. Body parameters differ depending on protocol.</p>\n<p><br /><br />\n<strong>Body Parameters</strong>\n<br /><br />\n<strong>MIDI</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>patch</code></td>\n<td>The patch UID. List patches using <strong>Get Patches for Protocol</strong></td>\n</tr>\n<tr>\n<td><code>note</code></td>\n<td>The MIDI note</td>\n</tr>\n<tr>\n<td><code>velocity</code></td>\n<td>The MIDI velocity. (Set to <code>0</code> where not applicable)</td>\n</tr>\n<tr>\n<td><code>mode</code> (optional)</td>\n<td>Defaults to <code>0</code>, only applicable for buttons with two states</td>\n</tr>\n</tbody>\n</table>\n</div><br />\n\n<p><strong>OSC</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>patch</code></td>\n<td>The patch UID. List patches using <strong>Get Patches for Protocol</strong></td>\n</tr>\n<tr>\n<td><code>string</code></td>\n<td>The OSC string to send. Supports variable for dynamic controls</td>\n</tr>\n<tr>\n<td><code>mode</code> (optional)</td>\n<td>Defaults to <code>0</code>, only applicable for buttons with two states</td>\n</tr>\n</tbody>\n</table>\n</div><br />\n\n<p><strong>HTTP</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>patch</code></td>\n<td>The patch UID. List patches using <strong>Get Patches for Protocol</strong></td>\n</tr>\n<tr>\n<td><code>address</code></td>\n<td>The HTTP request address exclude the patch address</td>\n</tr>\n<tr>\n<td><code>method</code> (optional)</td>\n<td>The request method, defaults to GET</td>\n</tr>\n<tr>\n<td><code>headers</code> (optional)</td>\n<td>The request headers</td>\n</tr>\n<tr>\n<td><code>body</code> (optional)</td>\n<td>The request body for POST, PUT, DELETE and PATCH requests</td>\n</tr>\n<tr>\n<td><code>mode</code> (optional)</td>\n<td>Defaults to <code>0</code>, only applicable for buttons with two states</td>\n</tr>\n</tbody>\n</table>\n</div><br />\n\n<p><strong>TCP</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>patch</code></td>\n<td>The patch UID. List patches using <strong>Get Patches for Protocol</strong></td>\n</tr>\n<tr>\n<td><code>string</code></td>\n<td>The TCP string to send. Supports variable for dynamic controls</td>\n</tr>\n<tr>\n<td><code>mode</code> (optional)</td>\n<td>Defaults to <code>0</code>, only applicable for buttons with two states</td>\n</tr>\n</tbody>\n</table>\n</div><br />\n\n<p><strong>UDP</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>patch</code></td>\n<td>The patch UID. List patches using <strong>Get Patches for Protocol</strong></td>\n</tr>\n<tr>\n<td><code>string</code></td>\n<td>The UDP string to send. Supports variable for dynamic controls</td>\n</tr>\n<tr>\n<td><code>mode</code> (optional)</td>\n<td>Defaults to <code>0</code>, only applicable for buttons with two states</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"oauth2","oauth2":{"basicConfig":[{"key":"accessToken","value":"<access-token>"}]},"isInherited":true,"source":{"_postman_id":"8d850a6e-7535-4e95-b81d-91ca31f0a1d5","id":"8d850a6e-7535-4e95-b81d-91ca31f0a1d5","name":"Ctrl for iPad","type":"collection"}},"urlObject":{"path":["v1","controls",":uid","methods",":protocol"],"host":["http://localhost/api"],"query":[],"variable":[{"description":{"content":"<p>The UID of the control to target</p>\n","type":"text/plain"},"type":"string","value":"E19F3F24","key":"uid"},{"description":{"content":"<p>The protocol type to target</p>\n","type":"text/plain"},"type":"string","value":"http","key":"protocol"}]}},"response":[{"id":"02c526af-53fb-4d7c-a01e-44125051eac3","name":"Create Method for Controls by UID for a Protocol","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n\t\"address\": \"/http\",\n\t\"patch\": \"853C2781\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"http://localhost/api/v1/controls/:uid/methods/:protocol","host":["http://localhost/api"],"path":["v1","controls",":uid","methods",":protocol"],"variable":[{"description":"The UID of the control to target","key":"uid","type":"string","value":"E19F3F24"},{"description":"The protocol type to target","key":"protocol","value":"http"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"267"},{"key":"Content-Type","value":"application/json"},{"key":"Server","value":"Http.swift"}],"cookie":[],"responseTime":null,"body":"{\n    \"_type\": \"object\",\n    \"data\": {\n        \"uid\": \"EF9183E6\",\n        \"instance\": \"method\",\n        \"object\": {\n            \"patch\": \"853C2781\",\n            \"mode\": 0,\n            \"uid\": \"EF9183E6\",\n            \"address\": \"/http\"\n        },\n        \"parent\": \"E19F3F24\",\n        \"action\": \"create\"\n    }\n}"}],"_postman_id":"0bb35403-7830-433b-9f1e-c921c8083ddc"},{"name":"Update a Method for a Control by UID for a Protocol","id":"ad73b360-d499-49b9-80c7-bceaf88067d7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\n\t\"address\": \"/http_local\"\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost/api/v1/controls/:uid/methods/:protocol/:method","description":"<p>Update a output method for a control and method by UID for a protocol. Only provide the properties that you wish to update. Body parameters differ depending on protocol.</p>\n<p><br /><br />\n<strong>Body Parameters</strong>\n<br /><br />\n<strong>MIDI</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>patch</code></td>\n<td>The patch UID. List patches using <strong>Get Patches for Protocol</strong></td>\n</tr>\n<tr>\n<td><code>note</code></td>\n<td>The MIDI note</td>\n</tr>\n<tr>\n<td><code>velocity</code></td>\n<td>The MIDI velocity. (Set to <code>0</code> where not applicable)</td>\n</tr>\n<tr>\n<td><code>mode</code></td>\n<td>Defaults to <code>0</code>, only applicable for buttons with two states</td>\n</tr>\n</tbody>\n</table>\n</div><br />\n\n<p><strong>OSC</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>patch</code></td>\n<td>The patch UID. List patches using <strong>Get Patches for Protocol</strong></td>\n</tr>\n<tr>\n<td><code>string</code></td>\n<td>The OSC string to send. Supports variable for dynamic controls</td>\n</tr>\n<tr>\n<td><code>mode</code></td>\n<td>Defaults to <code>0</code>, only applicable for buttons with two states</td>\n</tr>\n</tbody>\n</table>\n</div><br />\n\n<p><strong>HTTP</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>patch</code></td>\n<td>The patch UID. List patches using <strong>Get Patches for Protocol</strong></td>\n</tr>\n<tr>\n<td><code>address</code></td>\n<td>The HTTP request address exclude the patch address</td>\n</tr>\n<tr>\n<td><code>method</code></td>\n<td>The request method, defaults to GET</td>\n</tr>\n<tr>\n<td><code>headers</code></td>\n<td>The request headers</td>\n</tr>\n<tr>\n<td><code>body</code></td>\n<td>The request body for POST, PUT, DELETE and PATCH requests</td>\n</tr>\n<tr>\n<td><code>mode</code></td>\n<td>Defaults to <code>0</code>, only applicable for buttons with two states</td>\n</tr>\n</tbody>\n</table>\n</div><br />\n\n<p><strong>TCP</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>patch</code></td>\n<td>The patch UID. List patches using <strong>Get Patches for Protocol</strong></td>\n</tr>\n<tr>\n<td><code>string</code></td>\n<td>The TCP string to send. Supports variable for dynamic controls</td>\n</tr>\n<tr>\n<td><code>mode</code></td>\n<td>Defaults to <code>0</code>, only applicable for buttons with two states</td>\n</tr>\n</tbody>\n</table>\n</div><br />\n\n<p><strong>UDP</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>patch</code></td>\n<td>The patch UID. List patches using <strong>Get Patches for Protocol</strong></td>\n</tr>\n<tr>\n<td><code>string</code></td>\n<td>The UDP string to send. Supports variable for dynamic controls</td>\n</tr>\n<tr>\n<td><code>mode</code></td>\n<td>Defaults to <code>0</code>, only applicable for buttons with two states</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"oauth2","oauth2":{"basicConfig":[{"key":"accessToken","value":"<access-token>"}]},"isInherited":true,"source":{"_postman_id":"8d850a6e-7535-4e95-b81d-91ca31f0a1d5","id":"8d850a6e-7535-4e95-b81d-91ca31f0a1d5","name":"Ctrl for iPad","type":"collection"}},"urlObject":{"path":["v1","controls",":uid","methods",":protocol",":method"],"host":["http://localhost/api"],"query":[],"variable":[{"description":{"content":"<p>The UID for the control to target</p>\n","type":"text/plain"},"type":"string","value":"E19F3F24","key":"uid"},{"description":{"content":"<p>The protocol type to target</p>\n","type":"text/plain"},"type":"string","value":"http","key":"protocol"},{"description":{"content":"<p>The UID for the method to target</p>\n","type":"text/plain"},"type":"string","value":"EF9183E6","key":"method"}]}},"response":[{"id":"c1b71268-7477-4be7-9ea1-1adc8190180f","name":"Update Method for Controls by UID for a Protocol","originalRequest":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\n\t\"address\": \"/http_local\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"http://localhost/api/v1/controls/:uid/methods/:protocol/:method","host":["http://localhost/api"],"path":["v1","controls",":uid","methods",":protocol",":method"],"variable":[{"key":"uid","type":"string","value":"E19F3F24"},{"key":"protocol","value":"http"},{"key":"method","value":"EF9183E6"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"Http.swift"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"201"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"object\": {\n            \"address\": \"/http_local\"\n        },\n        \"parent\": \"E19F3F24\",\n        \"uid\": \"EF9183E6\",\n        \"instance\": \"method\",\n        \"action\": \"update\"\n    },\n    \"_type\": \"object\"\n}"}],"_postman_id":"ad73b360-d499-49b9-80c7-bceaf88067d7"},{"name":"Delete a Method for a Control by UID for a Protocol","id":"601a84c1-60bf-4b74-bde2-f0ade4d68f8e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"body":{"mode":"raw","raw":"{\n\t\"address\": \"/http_test\"\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost/api/v1/controls/:uid/methods/:protocol/:method","description":"<p>Delete an output method for a control by UID for a protocol</p>\n","auth":{"type":"oauth2","oauth2":{"basicConfig":[{"key":"accessToken","value":"<access-token>"}]},"isInherited":true,"source":{"_postman_id":"8d850a6e-7535-4e95-b81d-91ca31f0a1d5","id":"8d850a6e-7535-4e95-b81d-91ca31f0a1d5","name":"Ctrl for iPad","type":"collection"}},"urlObject":{"path":["v1","controls",":uid","methods",":protocol",":method"],"host":["http://localhost/api"],"query":[],"variable":[{"description":{"content":"<p>The UID for the control to target</p>\n","type":"text/plain"},"type":"string","value":"E19F3F24","key":"uid"},{"description":{"content":"<p>The protocol type to target</p>\n","type":"text/plain"},"type":"string","value":"http","key":"protocol"},{"description":{"content":"<p>The UID for the method to target</p>\n","type":"text/plain"},"type":"string","value":"EF9183E6","key":"method"}]}},"response":[{"id":"2921369a-be60-4c2d-b825-fbad454938d8","name":"Update Method for Controls by UID for a Protocol","originalRequest":{"method":"DELETE","header":[],"body":{"mode":"raw","raw":"{\n\t\"address\": \"/http_test\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"http://localhost/api/v1/controls/:uid/methods/:protocol/:method","host":["http://localhost/api"],"path":["v1","controls",":uid","methods",":protocol",":method"],"variable":[{"key":"uid","type":"string","value":"E19F3F24"},{"key":"protocol","value":"http"},{"key":"method","value":"EF9183E6"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Server","value":"Http.swift"},{"key":"Content-Length","value":"144"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"action\": \"delete\",\n        \"uid\": \"EF9183E6\",\n        \"instance\": \"method\",\n        \"parent\": \"E19F3F24\"\n    },\n    \"_type\": \"object\"\n}"}],"_postman_id":"601a84c1-60bf-4b74-bde2-f0ade4d68f8e"}],"id":"12e19f78-f596-4ff8-9d4a-fc54837d8486","_postman_id":"12e19f78-f596-4ff8-9d4a-fc54837d8486","description":"","auth":{"type":"oauth2","oauth2":{"basicConfig":[{"key":"accessToken","value":"<access-token>"}]},"isInherited":true,"source":{"_postman_id":"8d850a6e-7535-4e95-b81d-91ca31f0a1d5","id":"8d850a6e-7535-4e95-b81d-91ca31f0a1d5","name":"Ctrl for iPad","type":"collection"}}},{"name":"Connectivity","item":[{"name":"Get Protocols","id":"ad34d98c-2015-4019-83fa-49f320b7d5af","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost/api/v1/connectivity","description":"<p>Get all protocol types available to be patches for workspace</p>\n","auth":{"type":"oauth2","oauth2":{"basicConfig":[{"key":"accessToken","value":"<access-token>"}]},"isInherited":true,"source":{"_postman_id":"8d850a6e-7535-4e95-b81d-91ca31f0a1d5","id":"8d850a6e-7535-4e95-b81d-91ca31f0a1d5","name":"Ctrl for iPad","type":"collection"}},"urlObject":{"path":["v1","connectivity"],"host":["http://localhost/api"],"query":[],"variable":[]}},"response":[{"id":"9b40209f-9185-4a40-9693-29b74c55bdf7","name":"Get Protocols","originalRequest":{"method":"GET","header":[],"url":"http://localhost/api/v1/connectivity"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"771"},{"key":"Server","value":"Http.swift"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": [\n        {\n            \"description\": \"Provides connectivity settings for MIDI\",\n            \"id\": \"midi\",\n            \"url\": \"/api/v1/connectivity/midi\"\n        },\n        {\n            \"description\": \"Provides connectivity settings for OSC\",\n            \"id\": \"osc\",\n            \"url\": \"/api/v1/connectivity/osc\"\n        },\n        {\n            \"description\": \"Provides connectivity settings for HTTP\",\n            \"id\": \"http\",\n            \"url\": \"/api/v1/connectivity/http\"\n        },\n        {\n            \"description\": \"Provides connectivity settings for TCP\",\n            \"id\": \"tcp\",\n            \"url\": \"/api/v1/connectivity/tcp\"\n        },\n        {\n            \"description\": \"Provides connectivity settings for UDP\",\n            \"id\": \"udp\",\n            \"url\": \"/api/v1/connectivity/udp\"\n        }\n    ],\n    \"_type\": \"array\",\n    \"count\": 5\n}"}],"_postman_id":"ad34d98c-2015-4019-83fa-49f320b7d5af"},{"name":"Get Patches for Protocol","id":"ac3cea7e-1760-4e1f-8ce5-2665357a6918","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost/api/v1/connectivity/:protocol","description":"<p>Get all patches in the workspace for a protocol type</p>\n","auth":{"type":"oauth2","oauth2":{"basicConfig":[{"key":"accessToken","value":"<access-token>"}]},"isInherited":true,"source":{"_postman_id":"8d850a6e-7535-4e95-b81d-91ca31f0a1d5","id":"8d850a6e-7535-4e95-b81d-91ca31f0a1d5","name":"Ctrl for iPad","type":"collection"}},"urlObject":{"path":["v1","connectivity",":protocol"],"host":["http://localhost/api"],"query":[],"variable":[{"description":{"content":"<p>The protocol type to target</p>\n","type":"text/plain"},"type":"string","value":"http","key":"protocol"}]}},"response":[{"id":"6ec97160-39e8-41c7-9cde-140fa2a19655","name":"Get Patches for Protocol","originalRequest":{"method":"GET","header":[],"url":{"raw":"http://localhost/api/v1/connectivity/:protocol","host":["http://localhost/api"],"path":["v1","connectivity",":protocol"],"variable":[{"description":"The protocol type to target","key":"protocol","value":"http"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"Http.swift"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"203"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"patches\": [\n            {\n                \"url\": \"http://127.0.0.1:8081\",\n                \"uid\": \"853C2781\",\n                \"name\": \"Local\"\n            }\n        ],\n        \"protocol\": \"http\"\n    },\n    \"_type\": \"object\"\n}"}],"_postman_id":"ac3cea7e-1760-4e1f-8ce5-2665357a6918"},{"name":"Get a Patch for Protocol by UID","id":"b10b244b-5f5f-4e16-bf11-4493b5ba39b1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost/api/v1/connectivity/:protocol/:uid","auth":{"type":"oauth2","oauth2":{"basicConfig":[{"key":"accessToken","value":"<access-token>"}]},"isInherited":true,"source":{"_postman_id":"8d850a6e-7535-4e95-b81d-91ca31f0a1d5","id":"8d850a6e-7535-4e95-b81d-91ca31f0a1d5","name":"Ctrl for iPad","type":"collection"}},"urlObject":{"path":["v1","connectivity",":protocol",":uid"],"host":["http://localhost/api"],"query":[],"variable":[{"description":{"content":"<p>The protocol type to target</p>\n","type":"text/plain"},"type":"string","value":"http","key":"protocol"},{"description":{"content":"<p>The patch UID to target</p>\n","type":"text/plain"},"type":"string","value":"853C2781","key":"uid"}]}},"response":[{"id":"1bd1f608-bba8-4527-a414-1915efae7399","name":"Get a Patch for Protocol by UID","originalRequest":{"method":"GET","header":[],"url":{"raw":"http://localhost/api/v1/connectivity/:protocol/:uid","host":["http://localhost/api"],"path":["v1","connectivity",":protocol",":uid"],"variable":[{"key":"protocol","value":"http","description":"The protocol type to target"},{"key":"uid","value":"853C2781","description":"The patch UID to target"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"179"},{"key":"Content-Type","value":"application/json"},{"key":"Server","value":"Http.swift"}],"cookie":[],"responseTime":null,"body":"{\n    \"_type\": \"object\",\n    \"data\": {\n        \"protocol\": \"http\",\n        \"patch\": {\n            \"url\": \"http://127.0.0.1:8081\",\n            \"name\": \"Local\",\n            \"uid\": \"853C2781\"\n        }\n    }\n}"}],"_postman_id":"b10b244b-5f5f-4e16-bf11-4493b5ba39b1"},{"name":"Create Patch for Protocol","id":"9c9ad243-6ba9-4bb5-9b0d-ad9c7440e528","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n\t\"url\": \"http://127.0.0.1:8085\",\n\t\"name\": \"Patch 2\"\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost/api/v1/connectivity/:protocol","description":"<p>Create a patch for a protocol. Body parameters differ depending on protocol.</p>\n<p><br /><br />\n<strong>Body Parameters</strong>\n<br /><br />\n<strong>MIDI</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>channel</code></td>\n<td>The MIDI Channel. Number in the range from 0 to 15</td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td>The MIDI message type. List types using <strong>Get MIDI Types</strong></td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>The name or label for the patch</td>\n</tr>\n</tbody>\n</table>\n</div><br />\n\n<p><strong>OSC</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>host</code></td>\n<td>The target address or IP</td>\n</tr>\n<tr>\n<td><code>port</code></td>\n<td>The target port number in the range from 0 to 56000</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>The name or label for the patch</td>\n</tr>\n</tbody>\n</table>\n</div><br />\n\n<p><strong>HTTP</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>url</code></td>\n<td>The root target address or IP</td>\n</tr>\n<tr>\n<td><code>username</code> (optional)</td>\n<td>The username where basic authentication is required</td>\n</tr>\n<tr>\n<td><code>password</code> (optional)</td>\n<td>The password where basic authentication is required</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>The name or label for the patch</td>\n</tr>\n</tbody>\n</table>\n</div><br />\n\n<p><strong>TCP</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>host</code></td>\n<td>The target address or IP</td>\n</tr>\n<tr>\n<td><code>port</code></td>\n<td>The target port number in the range from 0 to 56000</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>The name or label for the patch</td>\n</tr>\n</tbody>\n</table>\n</div><br />\n\n<p><strong>UDP</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>host</code></td>\n<td>The target address or IP</td>\n</tr>\n<tr>\n<td><code>port</code></td>\n<td>The target port number in the range from 0 to 56000</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>The name or label for the patch</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"oauth2","oauth2":{"basicConfig":[{"key":"accessToken","value":"<access-token>"}]},"isInherited":true,"source":{"_postman_id":"8d850a6e-7535-4e95-b81d-91ca31f0a1d5","id":"8d850a6e-7535-4e95-b81d-91ca31f0a1d5","name":"Ctrl for iPad","type":"collection"}},"urlObject":{"path":["v1","connectivity",":protocol"],"host":["http://localhost/api"],"query":[],"variable":[{"description":{"content":"<p>The protocol type to target</p>\n","type":"text/plain"},"type":"string","value":"http","key":"protocol"}]}},"response":[{"id":"2bac9730-9c58-4b09-8a39-6e0e8dbd2a84","name":"Create Patch for Protocol","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n\t\"url\": \"http://127.0.0.1:8085\",\n\t\"name\": \"Patch 2\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"http://localhost/api/v1/connectivity/:protocol","host":["http://localhost/api"],"path":["v1","connectivity",":protocol"],"variable":[{"key":"protocol","value":"http","description":"The protocol type to target"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"232"},{"key":"Server","value":"Http.swift"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"object\": {\n            \"name\": \"Patch 2\",\n            \"uid\": \"41555F3C\",\n            \"url\": \"http://127.0.0.1:8085\"\n        },\n        \"uid\": \"41555F3C\",\n        \"instance\": \"patch\",\n        \"action\": \"create\"\n    },\n    \"_type\": \"object\"\n}"}],"_postman_id":"9c9ad243-6ba9-4bb5-9b0d-ad9c7440e528"},{"name":"Update Patch for Protocol by UID","id":"1b76fda8-42c6-4cac-83ef-036c9d1dd859","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\n\t\"name\": \"Tester\"\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost/api/v1/connectivity/:protocol/:uid","description":"<p>Create a patch for a protocol. Only provide the properties that you wish to update. Body parameters differ depending on protocol.</p>\n<p><br /><br />\n<strong>Body Parameters</strong>\n<br /><br />\n<strong>MIDI</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>channel</code></td>\n<td>The MIDI Channel. Number in the range from 0 to 15</td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td>The MIDI message type. List types using <strong>Get MIDI Types</strong></td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>The name or label for the patch</td>\n</tr>\n</tbody>\n</table>\n</div><br />\n\n<p><strong>OSC</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>host</code></td>\n<td>The target address or IP</td>\n</tr>\n<tr>\n<td><code>port</code></td>\n<td>The target port number in the range from 0 to 56000</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>The name or label for the patch</td>\n</tr>\n</tbody>\n</table>\n</div><br />\n\n<p><strong>HTTP</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>url</code></td>\n<td>The root target address or IP</td>\n</tr>\n<tr>\n<td><code>username</code> (optional)</td>\n<td>The username where basic authentication is required</td>\n</tr>\n<tr>\n<td><code>password</code> (optional)</td>\n<td>The password where basic authentication is required</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>The name or label for the patch</td>\n</tr>\n</tbody>\n</table>\n</div><br />\n\n<p><strong>TCP</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>host</code></td>\n<td>The target address or IP</td>\n</tr>\n<tr>\n<td><code>port</code></td>\n<td>The target port number in the range from 0 to 56000</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>The name or label for the patch</td>\n</tr>\n</tbody>\n</table>\n</div><br />\n\n<p><strong>UDP</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>host</code></td>\n<td>The target address or IP</td>\n</tr>\n<tr>\n<td><code>port</code></td>\n<td>The target port number in the range from 0 to 56000</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>The name or label for the patch</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"oauth2","oauth2":{"basicConfig":[{"key":"accessToken","value":"<access-token>"}]},"isInherited":true,"source":{"_postman_id":"8d850a6e-7535-4e95-b81d-91ca31f0a1d5","id":"8d850a6e-7535-4e95-b81d-91ca31f0a1d5","name":"Ctrl for iPad","type":"collection"}},"urlObject":{"path":["v1","connectivity",":protocol",":uid"],"host":["http://localhost/api"],"query":[],"variable":[{"description":{"content":"<p>The protocol type to target</p>\n","type":"text/plain"},"type":"string","value":"http","key":"protocol"},{"description":{"content":"<p>The patch UID to target</p>\n","type":"text/plain"},"type":"string","value":"41555F3C","key":"uid"}]}},"response":[{"id":"9707821b-6fe0-429a-8aa0-6105b00d7ce6","name":"Update Patch for Protocol by UID","originalRequest":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\n\t\"name\": \"Tester\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"http://localhost/api/v1/connectivity/:protocol/:uid","host":["http://localhost/api"],"path":["v1","connectivity",":protocol",":uid"],"variable":[{"key":"protocol","value":"http","description":"The protocol type to target"},{"key":"uid","value":"41555F3C","description":"The patch UID to target"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"Http.swift"},{"key":"Content-Length","value":"164"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"instance\": \"patch\",\n        \"action\": \"update\",\n        \"uid\": \"41555F3C\",\n        \"object\": {\n            \"name\": \"Tester\"\n        }\n    },\n    \"_type\": \"object\"\n}"}],"_postman_id":"1b76fda8-42c6-4cac-83ef-036c9d1dd859"},{"name":"Delete Patch for Protocol by UID","id":"c814e897-4766-49d0-b982-b055ec4f14b4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"http://localhost/api/v1/connectivity/:protocol/:uid","description":"<p>Delete a patch for a protocol by UID</p>\n","auth":{"type":"oauth2","oauth2":{"basicConfig":[{"key":"accessToken","value":"<access-token>"}]},"isInherited":true,"source":{"_postman_id":"8d850a6e-7535-4e95-b81d-91ca31f0a1d5","id":"8d850a6e-7535-4e95-b81d-91ca31f0a1d5","name":"Ctrl for iPad","type":"collection"}},"urlObject":{"path":["v1","connectivity",":protocol",":uid"],"host":["http://localhost/api"],"query":[],"variable":[{"description":{"content":"<p>The protocol type to target</p>\n","type":"text/plain"},"type":"string","value":"http","key":"protocol"},{"description":{"content":"<p>The patch UID to target</p>\n","type":"text/plain"},"type":"string","value":"41555F3C","key":"uid"}]}},"response":[{"id":"3c7405fc-eca0-4474-95ff-b033cc8893c2","name":"Delete Patch for Protocol by UID","originalRequest":{"method":"DELETE","header":[],"url":{"raw":"http://localhost/api/v1/connectivity/:protocol/:uid","host":["http://localhost/api"],"path":["v1","connectivity",":protocol",":uid"],"variable":[{"key":"protocol","value":"http","description":"The protocol type to target"},{"key":"uid","value":"41555F3C","description":"The patch UID to target"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"Http.swift"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"116"}],"cookie":[],"responseTime":null,"body":"{\n    \"_type\": \"object\",\n    \"data\": {\n        \"action\": \"delete\",\n        \"uid\": \"41555F3C\",\n        \"instance\": \"patch\"\n    }\n}"}],"_postman_id":"c814e897-4766-49d0-b982-b055ec4f14b4"}],"id":"831ffb72-1c4e-4a74-bee7-fddb11ea553c","_postman_id":"831ffb72-1c4e-4a74-bee7-fddb11ea553c","description":"","auth":{"type":"oauth2","oauth2":{"basicConfig":[{"key":"accessToken","value":"<access-token>"}]},"isInherited":true,"source":{"_postman_id":"8d850a6e-7535-4e95-b81d-91ca31f0a1d5","id":"8d850a6e-7535-4e95-b81d-91ca31f0a1d5","name":"Ctrl for iPad","type":"collection"}}},{"name":"Types","item":[{"name":"Get Types","id":"f4589802-bffc-4398-a18c-a4fb09764089","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost/api/v1/types","description":"<p>The meta types declared</p>\n","auth":{"type":"oauth2","oauth2":{"basicConfig":[{"key":"accessToken","value":"<access-token>"}]},"isInherited":true,"source":{"_postman_id":"8d850a6e-7535-4e95-b81d-91ca31f0a1d5","id":"8d850a6e-7535-4e95-b81d-91ca31f0a1d5","name":"Ctrl for iPad","type":"collection"}},"urlObject":{"path":["v1","types"],"host":["http://localhost/api"],"query":[],"variable":[]}},"response":[{"id":"de68be19-b89d-4201-a8f1-b8fdf86fc2e6","name":"Get Types","originalRequest":{"method":"GET","header":[],"url":"http://localhost/api/v1/types"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"631"},{"key":"Server","value":"Http.swift"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"count\": 4,\n    \"data\": [\n        {\n            \"id\": \"controls\",\n            \"url\": \"/api/v1/types/controls\",\n            \"description\": \"Provides type objects for controls\"\n        },\n        {\n            \"url\": \"/api/v1/types/interfaces\",\n            \"description\": \"Provides type objects for interfaces\",\n            \"id\": \"interfaces\"\n        },\n        {\n            \"url\": \"/api/v1/types/palettes\",\n            \"description\": \"Provides type objects for palettes\",\n            \"id\": \"palettes\"\n        },\n        {\n            \"url\": \"/api/v1/types/midi_types\",\n            \"description\": \"Provides type objects for midi_types\",\n            \"id\": \"midi_types\"\n        }\n    ],\n    \"_type\": \"array\"\n}"}],"_postman_id":"f4589802-bffc-4398-a18c-a4fb09764089"},{"name":"Get Interface Types","id":"71fec778-8dca-4146-bb52-ec5223e11362","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost/api/v1/types/interfaces?details=false","description":"<p>Provides all the interface types available when creating and updating interfaces</p>\n","auth":{"type":"oauth2","oauth2":{"basicConfig":[{"key":"accessToken","value":"<access-token>"}]},"isInherited":true,"source":{"_postman_id":"8d850a6e-7535-4e95-b81d-91ca31f0a1d5","id":"8d850a6e-7535-4e95-b81d-91ca31f0a1d5","name":"Ctrl for iPad","type":"collection"}},"urlObject":{"path":["v1","types","interfaces"],"host":["http://localhost/api"],"query":[{"description":{"content":"<p>Optional value, set as true to display full information for each type (Default: false)</p>\n","type":"text/plain"},"key":"details","value":"false"}],"variable":[]}},"response":[],"_postman_id":"71fec778-8dca-4146-bb52-ec5223e11362"},{"name":"Get Interface Properties","id":"f1220397-86f8-41eb-9fcc-c039590a4875","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost/api/v1/types/interfaces/properties?details=false","description":"<p>Provides all the interface properties available when creating and updating interfaces</p>\n","auth":{"type":"oauth2","oauth2":{"basicConfig":[{"key":"accessToken","value":"<access-token>"}]},"isInherited":true,"source":{"_postman_id":"8d850a6e-7535-4e95-b81d-91ca31f0a1d5","id":"8d850a6e-7535-4e95-b81d-91ca31f0a1d5","name":"Ctrl for iPad","type":"collection"}},"urlObject":{"path":["v1","types","interfaces","properties"],"host":["http://localhost/api"],"query":[{"description":{"content":"<p>Optional value, set as true to display full information for each type (Default: false)</p>\n","type":"text/plain"},"key":"details","value":"false"}],"variable":[]}},"response":[{"id":"78640942-f5b5-4fce-a4c1-beb6cfb8e531","name":"Get Interface Properties","originalRequest":{"method":"GET","header":[],"url":{"raw":"http://localhost/api/v1/types/interfaces/properties?details=false","host":["http://localhost/api"],"path":["v1","types","interfaces","properties"],"query":[{"key":"details","value":"false","description":"Optional value, set as true to display full information for each type (Default: false)"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"913"},{"key":"Content-Type","value":"application/json"},{"key":"Server","value":"Http.swift"}],"cookie":[],"responseTime":null,"body":"{\n    \"_type\": \"object\",\n    \"data\": {\n        \"grid-4x3\": [\n            \"empty_controls\",\n            \"interface_color\",\n            \"edge_style\"\n        ],\n        \"grid-2x2\": [\n            \"empty_controls\",\n            \"interface_color\",\n            \"edge_style\"\n        ],\n        \"grid-4x5\": [\n            \"empty_controls\",\n            \"interface_color\",\n            \"edge_style\"\n        ],\n        \"grid-6x7\": [\n            \"empty_controls\",\n            \"interface_color\",\n            \"edge_style\"\n        ],\n        \"linear\": [\n            \"playback_mode\",\n            \"interface_color\",\n            \"edge_style\"\n        ],\n        \"grid-5x4\": [\n            \"empty_controls\",\n            \"interface_color\",\n            \"edge_style\"\n        ],\n        \"grid-7x8\": [\n            \"empty_controls\",\n            \"interface_color\",\n            \"edge_style\"\n        ],\n        \"free\": [\n            \"interface_scale\",\n            \"interface_preset\",\n            \"interface_width\",\n            \"interface_height\",\n            \"interface_color\",\n            \"edge_style\",\n            \"background_image\",\n            \"image_scaling\"\n        ]\n    }\n}"}],"_postman_id":"f1220397-86f8-41eb-9fcc-c039590a4875"},{"name":"Get Controls Types","id":"19f3afbd-f666-45de-a992-e7dad0b1e77e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost/api/v1/types/controls?details=false","description":"<p>Provides all the control types available when creating and updating controls</p>\n","auth":{"type":"oauth2","oauth2":{"basicConfig":[{"key":"accessToken","value":"<access-token>"}]},"isInherited":true,"source":{"_postman_id":"8d850a6e-7535-4e95-b81d-91ca31f0a1d5","id":"8d850a6e-7535-4e95-b81d-91ca31f0a1d5","name":"Ctrl for iPad","type":"collection"}},"urlObject":{"path":["v1","types","controls"],"host":["http://localhost/api"],"query":[{"description":{"content":"<p>Optional value, set as true to display full information for each type (Default: false)</p>\n","type":"text/plain"},"key":"details","value":"false"}],"variable":[]}},"response":[{"id":"8515e09d-b4c1-43d2-8ff0-9ffec0fa6bea","name":"Get Controls Types","originalRequest":{"method":"GET","header":[],"url":{"raw":"http://localhost/api/v1/types/controls?details=false","host":["http://localhost/api"],"path":["v1","types","controls"],"query":[{"key":"details","value":"false"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"Http.swift"},{"key":"Content-Length","value":"1121"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"count\": 39,\n    \"_type\": \"array\",\n    \"data\": [\n        \"button-push\",\n        \"button-tap\",\n        \"button-toggle\",\n        \"button-press-release\",\n        \"slider-vertical\",\n        \"slider-horizontal\",\n        \"slider-multi-vertical\",\n        \"slider-multi-horizontal\",\n        \"stepper-vertical\",\n        \"stepper-horizontal\",\n        \"crossfader-vertical\",\n        \"crossfader-horizontal\",\n        \"crossfader-vertical-centered\",\n        \"crossfader-horizontal-centered\",\n        \"axis-two\",\n        \"axis-two-centred\",\n        \"global-volume-stepper\",\n        \"global-video-opacity\",\n        \"button-guarded\",\n        \"global-session-reset\",\n        \"global-volume-stepper\",\n        \"global-playback-stop\",\n        \"global-playback-stop-hard\",\n        \"interface-navigate\",\n        \"interface-switch-user\",\n        \"descriptor-title\",\n        \"descriptor-title-text\",\n        \"descriptor-clock\",\n        \"descriptor-timer\",\n        \"network-tools-device-watcher\",\n        \"spotify-playlist\",\n        \"spotify-playback-controls\",\n        \"spotify-playback-select\",\n        \"spotify-volume\",\n        \"madrix-storage-button\",\n        \"madrix-preview-output\",\n        \"enttec-elm-media-picker\",\n        \"enttec-elm-media-button\",\n        \"enttec-elm-stage-monitor\"\n    ]\n}"}],"_postman_id":"19f3afbd-f666-45de-a992-e7dad0b1e77e"},{"name":"Get Controls Properties","id":"9db7d6f1-e667-471d-ad1e-e89f774b580c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost/api/v1/types/controls/properties?details=false","description":"<p>Provides all the control types available when creating and updating controls</p>\n","auth":{"type":"oauth2","oauth2":{"basicConfig":[{"key":"accessToken","value":"<access-token>"}]},"isInherited":true,"source":{"_postman_id":"8d850a6e-7535-4e95-b81d-91ca31f0a1d5","id":"8d850a6e-7535-4e95-b81d-91ca31f0a1d5","name":"Ctrl for iPad","type":"collection"}},"urlObject":{"path":["v1","types","controls","properties"],"host":["http://localhost/api"],"query":[{"description":{"content":"<p>Optional value, set as true to display full information for each type (Default: false)</p>\n","type":"text/plain"},"key":"details","value":"false"}],"variable":[]}},"response":[{"id":"23e2e0be-a4c2-4432-a023-1c7688174d36","name":"Get Controls Properties","originalRequest":{"method":"GET","header":[],"url":{"raw":"http://localhost/api/v1/types/controls/properties?details=false","host":["http://localhost/api"],"path":["v1","types","controls","properties"],"query":[{"key":"details","value":"false","description":"Optional value, set as true to display full information for each type (Default: false)"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"4349"},{"key":"Content-Type","value":"application/json"},{"key":"Server","value":"Http.swift"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"global-video-opacity\": [\n            \"show_border\"\n        ],\n        \"spotify-volume\": [\n            \"show_border\"\n        ],\n        \"slider-vertical\": [\n            \"multiplier\",\n            \"show_border\"\n        ],\n        \"crossfader-horizontal\": [\n            \"multiplier\",\n            \"show_border\"\n        ],\n        \"slider-multi-vertical\": [\n            \"multiplier\",\n            \"show_border\",\n            \"slider_1_label\",\n            \"slider_1_theme\",\n            \"slider_2_label\",\n            \"slider_2_theme\",\n            \"slider_3_label\",\n            \"slider_3_theme\"\n        ],\n        \"descriptor-clock\": [\n            \"show_border\"\n        ],\n        \"crossfader-horizontal-centered\": [\n            \"multiplier\",\n            \"show_border\"\n        ],\n        \"enttec-elm-stage-monitor\": [\n            \"show_border\"\n        ],\n        \"descriptor-title-text\": [\n            \"label_alignment\",\n            \"show_border\"\n        ],\n        \"madrix-preview-output\": [\n            \"image_scaling\",\n            \"show_border\"\n        ],\n        \"axis-two-centred\": [\n            \"multiplier\",\n            \"show_border\"\n        ],\n        \"stepper-horizontal\": [\n            \"multiplier\",\n            \"show_border\"\n        ],\n        \"axis-two\": [\n            \"multiplier\",\n            \"show_border\"\n        ],\n        \"slider-horizontal\": [\n            \"multiplier\",\n            \"show_border\"\n        ],\n        \"enttec-elm-media-picker\": [\n            \"show_border\"\n        ],\n        \"crossfader-vertical-centered\": [\n            \"multiplier\",\n            \"show_border\"\n        ],\n        \"global-playback-stop-hard\": [\n            \"selected_theme\",\n            \"selected_label\",\n            \"image\",\n            \"selected_image\",\n            \"image_scaling\",\n            \"show_border\",\n            \"show_pulse\"\n        ],\n        \"spotify-playback-controls\": [\n            \"show_border\"\n        ],\n        \"network-tools-device-watcher\": [\n            \"show_border\"\n        ],\n        \"crossfader-vertical\": [\n            \"multiplier\",\n            \"show_border\"\n        ],\n        \"button-tap\": [\n            \"selected_theme\",\n            \"selected_label\",\n            \"image\",\n            \"selected_image\",\n            \"image_scaling\",\n            \"show_border\",\n            \"show_pulse\"\n        ],\n        \"enttec-elm-media-button\": [\n            \"image_scaling\",\n            \"show_border\",\n            \"show_pulse\"\n        ],\n        \"descriptor-title\": [\n            \"label_alignment\",\n            \"image\",\n            \"image_scaling\",\n            \"show_border\"\n        ],\n        \"global-playback\": [\n            \"selected_theme\",\n            \"selected_label\",\n            \"image\",\n            \"selected_image\",\n            \"image_scaling\",\n            \"show_border\",\n            \"show_pulse\"\n        ],\n        \"madrix-storage-button\": [\n            \"show_border\"\n        ],\n        \"button-guarded\": [\n            \"guarded_duration\",\n            \"selected_theme\",\n            \"selected_label\",\n            \"image\",\n            \"selected_image\",\n            \"image_scaling\",\n            \"show_border\",\n            \"show_pulse\"\n        ],\n        \"global-playback-stop\": [\n            \"selected_theme\",\n            \"selected_label\",\n            \"image\",\n            \"selected_image\",\n            \"image_scaling\",\n            \"show_border\",\n            \"show_pulse\"\n        ],\n        \"spotify-playlist\": [\n            \"show_border\"\n        ],\n        \"descriptor-timer\": [\n            \"show_border\"\n        ],\n        \"button-push\": [\n            \"selected_theme\",\n            \"selected_label\",\n            \"image\",\n            \"selected_image\",\n            \"image_scaling\",\n            \"show_border\",\n            \"show_pulse\"\n        ],\n        \"button-press-release\": [\n            \"selected_theme\",\n            \"selected_label\",\n            \"image\",\n            \"selected_image\",\n            \"image_scaling\",\n            \"show_border\",\n            \"show_pulse\"\n        ],\n        \"interface-switch-user\": [\n            \"selected_theme\",\n            \"selected_label\",\n            \"image\",\n            \"selected_image\",\n            \"image_scaling\",\n            \"show_border\",\n            \"show_pulse\"\n        ],\n        \"interface-navigate\": [\n            \"selected_theme\",\n            \"selected_label\",\n            \"image\",\n            \"selected_image\",\n            \"image_scaling\",\n            \"show_border\",\n            \"show_pulse\"\n        ],\n        \"stepper-vertical\": [\n            \"multiplier\",\n            \"show_border\"\n        ],\n        \"spotify-playback-select\": [\n            \"show_border\"\n        ],\n        \"global-session-reset\": [\n            \"selected_theme\",\n            \"selected_label\",\n            \"image\",\n            \"selected_image\",\n            \"image_scaling\",\n            \"show_border\",\n            \"show_pulse\"\n        ],\n        \"slider-multi-horizontal\": [\n            \"multiplier\",\n            \"show_border\",\n            \"slider_1_label\",\n            \"slider_1_theme\",\n            \"slider_2_label\",\n            \"slider_2_theme\",\n            \"slider_3_label\",\n            \"slider_3_theme\"\n        ],\n        \"button-toggle\": [\n            \"selected_theme\",\n            \"selected_label\",\n            \"image\",\n            \"selected_image\",\n            \"image_scaling\",\n            \"show_border\",\n            \"show_pulse\"\n        ]\n    },\n    \"_type\": \"object\"\n}"}],"_postman_id":"9db7d6f1-e667-471d-ad1e-e89f774b580c"},{"name":"Get Palette Types","id":"b4cdbffe-dc25-4c62-84f7-f7fb9324779d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost/api/v1/types/palettes?details=false","description":"<p>Provides all the palette types available when creating and updating interfaces and controls. Theme values show when query parameter <code>details</code> is set to <code>true</code></p>\n","auth":{"type":"oauth2","oauth2":{"basicConfig":[{"key":"accessToken","value":"<access-token>"}]},"isInherited":true,"source":{"_postman_id":"8d850a6e-7535-4e95-b81d-91ca31f0a1d5","id":"8d850a6e-7535-4e95-b81d-91ca31f0a1d5","name":"Ctrl for iPad","type":"collection"}},"urlObject":{"path":["v1","types","palettes"],"host":["http://localhost/api"],"query":[{"description":{"content":"<p>Optional value, set as true to display full information for each type (Default: false)</p>\n","type":"text/plain"},"key":"details","value":"false"}],"variable":[]}},"response":[{"id":"435f87fd-0456-4939-8c2f-780f639a7944","name":"Get Palette Types","originalRequest":{"method":"GET","header":[],"url":{"raw":"http://localhost/api/v1/types/palettes?details=false","host":["http://localhost/api"],"path":["v1","types","palettes"],"query":[{"key":"details","value":"false","description":"Optional value, set as true to display full information for each type (Default: false)"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"Http.swift"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"139"}],"cookie":[],"responseTime":null,"body":"{\n    \"count\": 3,\n    \"_type\": \"array\",\n    \"data\": [\n        \"flat-colors\",\n        \"material-colors-bordered\",\n        \"material-colors-colourful\"\n    ]\n}"}],"_postman_id":"b4cdbffe-dc25-4c62-84f7-f7fb9324779d"},{"name":"Get MIDI Types","id":"7f10a031-c518-49c4-8cd9-f06140d624dd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost/api/v1/types/midi_types","description":"<p>Provides all the MIDI types available when creating and updating MIDI patches.</p>\n","auth":{"type":"oauth2","oauth2":{"basicConfig":[{"key":"accessToken","value":"<access-token>"}]},"isInherited":true,"source":{"_postman_id":"8d850a6e-7535-4e95-b81d-91ca31f0a1d5","id":"8d850a6e-7535-4e95-b81d-91ca31f0a1d5","name":"Ctrl for iPad","type":"collection"}},"urlObject":{"path":["v1","types","midi_types"],"host":["http://localhost/api"],"query":[],"variable":[]}},"response":[{"id":"0211fa1e-56e3-43be-acbf-87ce22ea0f3b","name":"Get MIDI Types","originalRequest":{"method":"GET","header":[],"url":"http://localhost/api/v1/types/midi_types"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"Http.swift"},{"key":"Content-Length","value":"199"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": [\n        \"note_off\",\n        \"program_change\",\n        \"control_change\",\n        \"pitch_bend_change\",\n        \"key_pressure\",\n        \"channel_pressure\",\n        \"note_on\"\n    ],\n    \"count\": 7,\n    \"_type\": \"array\"\n}"}],"_postman_id":"7f10a031-c518-49c4-8cd9-f06140d624dd"}],"id":"f906b079-6256-45e3-a392-dd5b0672cde9","_postman_id":"f906b079-6256-45e3-a392-dd5b0672cde9","description":"","auth":{"type":"oauth2","oauth2":{"basicConfig":[{"key":"accessToken","value":"<access-token>"}]},"isInherited":true,"source":{"_postman_id":"8d850a6e-7535-4e95-b81d-91ca31f0a1d5","id":"8d850a6e-7535-4e95-b81d-91ca31f0a1d5","name":"Ctrl for iPad","type":"collection"}}}],"auth":{"type":"oauth2","oauth2":{"basicConfig":[{"key":"accessToken","value":"<access-token>"}]}},"event":[{"listen":"prerequest","script":{"id":"331416a4-e6ab-40ec-8d5a-f670eaf3e5d2","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"676403a9-db21-4ee7-a6a7-8d09aac1556f","type":"text/javascript","exec":[""]}}],"variable":[{"key":"root","value":"http://localhost/api"},{"key":"version","value":"v1"}]}