{ "openapi": "3.0.0", "info": { "title": "Webex Device", "version": "1.0.0", "description": "The Webex Device APIs provide endpoints for managing and monitoring Webex devices, including registration, configuration, status retrieval, workspace assignment, and firmware management. These APIs support automation of device onboarding, health monitoring, remote troubleshooting, and bulk configuration updates. Integration scenarios include custom device dashboards, proactive alerting, and seamless workspace management for meeting rooms and shared spaces. The APIs are essential for IT teams managing large fleets of Webex devices across distributed environments." }, "tags": [], "paths": { "/telephony/config/devices/{deviceId}/members": { "get": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetMemberResponse" }, "example": { "model": "DMS Cisco 192", "members": [ { "id": "Y2lzY29zcGFyazovL3VzL1BFT1BMRS9jODhiZGIwNC1jZjU5LTRjMjMtODQ4OC00NTNhOTE3ZDFlMjk", "firstName": "John", "lastName": "Smith", "phoneNumber": "2055552221", "extension": "000", "routingPrefix": "1234", "esn": "1234000", "primaryOwner": true, "port": 1, "t38FaxCompressionEnabled": false, "lineType": "SHARED_CALL_APPEARANCE", "lineWeight": 1, "hostIP": "10.0.0.45", "remoteIP": "192.102.12.84", "hotlineEnabled": true, "hotlineDestination": "+12055552222", "allowCallDeclineEnabled": true, "lineLabel": "share line label", "linePort": "evypzco5ds@55552222.int10.bcld.webex.com", "memberType": "PEOPLE", "location": { "name": "MainOffice", "id": "Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzJiNDkyZmZkLTRjNGItNGVmNS04YzAzLWE1MDYyYzM4NDA5Mw" } } ], "maxLineCount": 2 } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Get Device Members", "operationId": "getDeviceMembers", "description": "Get the list of all the members of the device including primary and secondary users.\n\nA device member can be either a person or a workspace. An admin can access the list of member details, modify member details and\nsearch for available members on a device.\n\nRetrieving this list requires a full or read-only administrator auth token with a scope of `spark-admin:telephony_config_read`.", "tags": [ "Device Call Settings" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "Unique identifier for the device.", "required": true, "example": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMV9pbnQxMy9DQUxMSU5HX0RFVklDRS8zMDAyZWJiZi1iMTVmLTQ1ODktYWNiZS1kZjY3OTA3MTU5NWE=", "schema": { "type": "string" } }, { "name": "orgId", "in": "query", "description": "Retrieves the list of all members of the device in this organization.", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "schema": { "type": "string" } } ] }, "put": { "responses": { "204": { "description": "No Content", "headers": {}, "content": {} }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Update Members on the device", "operationId": "updateMembersOnDevice", "description": "Modify member details on the device.\n\nA device member can be either a person, virtual line or a workspace. An admin can access the list of member details, modify member details and\nsearch for available members on a device.\n\nModifying members on the device requires a full administrator auth token with a scope of `spark-admin:telephony_config_write`.", "tags": [ "Device Call Settings" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "Unique identifier for the device.", "required": true, "example": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMV9pbnQxMy9DQUxMSU5HX0RFVklDRS8zMDAyZWJiZi1iMTVmLTQ1ODktYWNiZS1kZjY3OTA3MTU5NWE=", "schema": { "type": "string" } }, { "name": "orgId", "in": "query", "description": "Modify members on the device in this organization.", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "example": { "members": [ { "port": 1, "id": "Y2lzY29zcGFyazovL3VzL1BFT1BMRS9jODhiZGIwNC1jZjU5LTRjMjMtODQ4OC00NTNhOTE3ZDFlMjk", "t38FaxCompressionEnabled": false, "primaryOwner": true, "lineType": "SHARED_CALL_APPEARANCE", "lineWeight": 1, "allowCallDeclineEnabled": true, "hotlineDestination": "", "hotlineEnabled": false, "lineLabel": "share line label" } ] }, "schema": { "$ref": "#/components/schemas/PutMembersRequest" } } } } } }, "/telephony/config/devices/{deviceId}/availableMembers": { "get": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SearchMemberResponse" }, "example": { "members": [ { "id": "Y2lzY29zcGFyazovL3VzL1BFT1BMRS9jODhiZGIwNC1jZjU5LTRjMjMtODQ4OC00NTNhOTE3ZDFlMjk", "firstName": "John", "lastName": "Smith", "phoneNumber": "+12055552221", "t38FaxCompressionEnabled": false, "lineType": "SHARED_CALL_APPEARANCE", "allowCallDeclineEnabled": true, "memberType": "PEOPLE", "location": { "name": "MainOffice", "id": "Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzJiNDkyZmZkLTRjNGItNGVmNS04YzAzLWE1MDYyYzM4NDA5Mw" } }, { "id": "Y2lzY29zcGFyazovL3VzL1BFT1BMRS9jODhiZGIwNC1jZjU5LTRjMjMtODQ4OC00NTNhOTE3ZDFlMjk", "firstName": "Bob", "lastName": "Smith-ws", "phoneNumber": "+12055552221", "t38FaxCompressionEnabled": false, "lineType": "SHARED_CALL_APPEARANCE", "allowCallDeclineEnabled": true, "memberType": "PLACE", "location": { "name": "MainOffice", "id": "Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzJiNDkyZmZkLTRjNGItNGVmNS04YzAzLWE1MDYyYzM4NDA5Mw" } } ] } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Search Members", "operationId": "searchMembers", "description": "Search members that can be assigned to the device.\n\nA device member can be either a person or a workspace. A admin can access the list of member details, modify member details and\nsearch for available members on a device.\n\nThis requires a full or read-only administrator auth token with a scope of `spark-admin:telephony_config_read`.", "tags": [ "Device Call Settings" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "Unique identifier for the device.", "required": true, "example": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMV9pbnQxMy9DQUxMSU5HX0RFVklDRS8zMDAyZWJiZi1iMTVmLTQ1ODktYWNiZS1kZjY3OTA3MTU5NWE=", "schema": { "type": "string" } }, { "name": "orgId", "in": "query", "description": "Retrieves the list of available members on the device in this organization.", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "schema": { "type": "string" } }, { "name": "start", "in": "query", "description": "Specifies the offset from the first result that you want to fetch.", "example": 0, "schema": { "type": "number" } }, { "name": "max", "in": "query", "description": "Specifies the maximum number of records that you want to fetch.", "example": 100, "schema": { "type": "number", "default": 2000 } }, { "name": "memberName", "in": "query", "description": "Search (Contains) numbers based on member name.", "example": "John", "schema": { "type": "string" } }, { "name": "phoneNumber", "in": "query", "description": "Search (Contains) based on number.", "example": "9828282867", "schema": { "type": "string" } }, { "name": "locationId", "in": "query", "description": "Unique identifier for the location.", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "schema": { "type": "string" } }, { "name": "extension", "in": "query", "description": "Search (Contains) based on extension.", "example": "1234", "schema": { "type": "string" } }, { "name": "usageType", "in": "query", "description": "Search for members eligible to become the owner of the device, or share line on the device.", "example": "SHARED_LINE", "schema": { "type": "string", "enum": [ "DEVICE_OWNER", "SHARED_LINE" ] } }, { "name": "order", "in": "query", "description": "Sort the list of available members on the device in ascending order by name, use either last name `lname` or first name `fname`. Default: last name in ascending order.", "example": "lname", "schema": { "type": "string" } } ] } }, "/telephony/config/devices/{deviceId}/availableMembers/count": { "get": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "type": "object", "required": [ "totalCount" ], "properties": { "totalCount": { "type": "integer", "example": 100, "description": "The total count of members that can be assigned to the device." } } }, "example": { "totalCount": 100 } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Get Count of Members", "operationId": "getCountOfMembers", "description": "Get the count of members that can be assigned to the device.\n\nA device member can be either a person or a workspace.\n\nThis requires a full or read-only administrator auth token with a scope of `spark-admin:telephony_config_read`.", "tags": [ "Device Call Settings" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "Unique identifier for the device.", "required": true, "example": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMV9pbnQxMy9DQUxMSU5HX0RFVklDRS8zMDAyZWJiZi1iMTVmLTQ1ODktYWNiZS1kZjY3OTA3MTU5NWE=", "schema": { "type": "string" } }, { "name": "orgId", "in": "query", "description": "Retrieves the count of available members on the device in this organization.", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "schema": { "type": "string" } }, { "name": "memberName", "in": "query", "description": "Search (Contains) numbers based on member name.", "example": "John", "schema": { "type": "string" } }, { "name": "phoneNumber", "in": "query", "description": "Search (Contains) based on number.", "example": "9828282867", "schema": { "type": "string" } }, { "name": "locationId", "in": "query", "description": "Unique identifier for the location.", "example": "Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzAwMDA1ZTAwLTUzYjQtNDBjMy1hN2FkLTU2NTBmZGRkZDUzYw", "schema": { "type": "string" } }, { "name": "extension", "in": "query", "description": "Search (Contains) based on extension.", "example": "1234", "schema": { "type": "string" } }, { "name": "usageType", "in": "query", "description": "Search for members eligible to become the owner of the device, or share line on the device.\n * `DEVICE_OWNER` - Search for members eligible to become the owner of the device.\n * `SHARED_LINE` - Search for members eligible to share line on the device.", "example": "SHARED_LINE", "schema": { "type": "string", "enum": [ "DEVICE_OWNER", "SHARED_LINE" ] } } ] } }, "/telephony/config/devices/availableMembers/count": { "get": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "type": "object", "required": [ "totalCount" ], "properties": { "totalCount": { "type": "integer", "example": 100, "description": "The total count of members that can be assigned to devices." } } }, "example": { "totalCount": 100 } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Get Count of Available Members", "operationId": "getCountOfAvailableMembers", "description": "Get the count of members that can be assigned to devices.\n\nA device member can be either a person or a workspace.\n\nThis requires a full or read-only administrator auth token with a scope of `spark-admin:telephony_config_read`.", "tags": [ "Device Call Settings" ], "parameters": [ { "name": "orgId", "in": "query", "description": "Retrieves the count of available members in this organization.", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "schema": { "type": "string" } }, { "name": "memberName", "in": "query", "description": "Search (Contains) numbers based on member name.", "example": "John", "schema": { "type": "string" } }, { "name": "phoneNumber", "in": "query", "description": "Search (Contains) based on number.", "example": "9828282867", "schema": { "type": "string" } }, { "name": "locationId", "in": "query", "description": "Unique identifier for the location.", "example": "Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzAwMDA1ZTAwLTUzYjQtNDBjMy1hN2FkLTU2NTBmZGRkZDUzYw", "schema": { "type": "string" } }, { "name": "extension", "in": "query", "description": "Search (Contains) based on extension.", "example": "1234", "schema": { "type": "string" } }, { "name": "usageType", "in": "query", "description": "Search for members eligible to become the owner of the device, or share line on the device.\n * `DEVICE_OWNER` - Search for members eligible to become the owner of the device.\n * `SHARED_LINE` - Search for members eligible to share line on the device.", "example": "SHARED_LINE", "schema": { "type": "string", "enum": [ "DEVICE_OWNER", "SHARED_LINE" ] } }, { "name": "excludeVirtualLine", "in": "query", "description": "If true, filters out virtual lines from the available members list.", "example": true, "schema": { "type": "boolean" } }, { "name": "deviceLocationId", "in": "query", "description": "Unique identifier for the device's location. When specified, filters available members to those in the same location as the device.", "example": "Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzAwMDA1ZTAwLTUzYjQtNDBjMy1hN2FkLTU2NTBmZGRkZDUzYw", "schema": { "type": "string" } } ] } }, "/telephony/config/devices/{deviceId}/actions/applyChanges/invoke": { "post": { "responses": { "204": { "description": "No Content", "headers": {}, "content": {} }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Apply Changes for a specific device", "operationId": "applyChangesForASpecificDevice", "description": "Issues request to the device to download and apply changes to the configuration.\n\nApplying changes for a specific device requires a full administrator auth token with a scope of `spark-admin:telephony_config_write`.", "tags": [ "Device Call Settings" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "Unique identifier for the device.", "required": true, "example": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMV9pbnQxMy9DQUxMSU5HX0RFVklDRS8zMDAyZWJiZi1iMTVmLTQ1ODktYWNiZS1kZjY3OTA3MTU5NWE=", "schema": { "type": "string" } }, { "name": "orgId", "in": "query", "description": "Apply changes for a device in this organization.", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "schema": { "type": "string" } } ] } }, "/telephony/config/devices/{deviceId}/settings": { "get": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeviceSettingsObjectForDeviceLevel" }, "example": { "customizations": { "ata": { "audioCodecPriority": { "selection": "REGIONAL", "primary": "G711a", "secondary": "G711u", "tertiary": "G729a" }, "ataDtmfMode": "STRICT", "ataDtmfMethod": "AVT", "cdpEnabled": true, "lldpEnabled": true, "qosEnabled": true, "vlan": { "enabled": true, "value": 1 }, "webAccessEnabled": true, "nightlyResyncEnabled": true, "snmp": { "enabled": false, "trustedIP": "0.0.0.0/0.0.0.0", "getCommunity": "public", "setCommunity": "private", "snmpV3Enabled": false } }, "mpp": { "pnacEnabled": true, "audioCodecPriority": { "selection": "CUSTOM", "primary": "OPUS", "secondary": "G722", "tertiary": "G711u" }, "backlightTimer": "ONE_MIN", "background": { "customUrl": "", "image": "WEBEX_DARK_BLUE" }, "displayNameFormat": "PERSON_FIRST_THEN_LAST_NAME", "cdpEnabled": false, "defaultLoggingLevel": "STANDARD", "dndServicesEnabled": true, "acd": { "enabled": true, "displayCallqueueAgentSoftkeys": "LAST_PAGE" }, "shortInterdigitTimer": 14, "longInterdigitTimer": 16, "lineKeyLabelFormat": "PERSON_EXTENSION", "lineKeyLEDPattern": "DEFAULT", "lldpEnabled": false, "mppUserWebAccessEnabled": true, "multicast": [ "192.86.108.226:22" ], "enhancedMulticast": { "xmlAppUrl": "http://127.0.0.1:8080/", "multicastList": [ { "hostAndPort": "224.0.0.0:22", "hasXmlAppUrl": true, "xmlAppTimeout": 10 } ] }, "offHookTimer": 30, "phoneLanguage": "RUSSIAN", "poeMode": "MAXIMUM", "qosEnabled": true, "screenTimeout": { "enabled": true, "value": 400 }, "usbPortsEnabled": true, "vlan": { "enabled": false, "value": 1, "pcPort": 1 }, "wifiNetwork": { "enabled": false, "authenticationMethod": "PSK", "ssidName": "my_wifi_network", "userId": "test-user" }, "callHistory": "LOCAL_CALL_HISTORY", "contacts": "WEBEX_DIRECTORY", "webexMeetingsEnabled": false, "usbPorts": { "enabled": true, "sideUsbEnabled": true, "rearUsbEnabled": true }, "volumeSettings": { "ringerVolume": 9, "speakerVolume": 9, "handsetVolume": 9, "headsetVolume": 9, "eHookEnabled": false, "allowEndUserOverrideEnabled": false }, "httpProxy": { "mode": "OFF", "autoDiscoveryEnabled": false, "host": "localhost", "port": "8080", "packUrl": "www.webex.com", "authSettingsEnabled": true, "username": "usernamecpi" }, "bluetooth": { "enabled": true, "mode": "PHONE" }, "passThroughPortEnabled": true, "userPasswordOverrideEnabled": true, "activeCallFocusEnabled": true, "peerFirmwareEnabled": true, "noiseCancellation": { "enabled": false, "allowEndUserOverrideEnabled": false }, "dialAssistEnabled": true, "callsPerLine": 8, "nightlyResyncEnabled": true, "missedCallNotificationEnabled": false, "softKeyLayout": { "softKeyMenu": { "idleKeyList": "abcdefgh", "offHookKeyList": "nmhsdjs", "dialingInputKeyList": "djsks", "progressingKeyList": "sdsd", "connectedKeyList": "ssdds", "connectedVideoKeyList": "hold;endcall;xfer;conf;xferLx;confLx;bxfer;phold;redial;dir;park;crdstart;crdstop;crdpause;crdresume", "startTransferKeyList": "abcdef", "startConferenceKeyList": "abcdef", "conferencingKeyList": "abcdef", "releasingKeyList": "abcdef", "holdKeyList": "abcdef", "ringingKeyList": "abcdef", "sharedActiveKeyList": "abcdef", "sharedHeldKeyList": "abcdef" }, "psk": { "psk1": "abcdef", "psk2": "abcdef", "psk3": "abcdef", "psk4": "abcdef", "psk5": "abcdef", "psk6": "abcdef", "psk7": "abcdef", "psk8": "abcdef", "psk9": "abcdef", "psk10": "abcdef", "psk11": "abcdef", "psk12": "abcdef", "psk13": "abcdef", "psk14": "abcdef", "psk15": "abcdef", "psk16": "veeresh" }, "softKeyMenuDefaults": { "idleKeyList": "guestin|;guestout|;acd_login|;acd_logout|;astate|;redial|;newcall|;cfwd|;recents|;dnd|;unpark|;psk1|;gpickup|;pickup|;dir|4;miss|5;selfview|;messages", "offHookKeyList": "endcall|1;redial|2;dir|3;lcr|4;unpark|5;pickup|6;gpickup|7", "dialingInputKeyList": "dial|1;cancel|2;delchar|3;left|5;right|6", "progressingKeyList": "endcall|2", "connectedKeyList": "hold;endcall;xfer;conf;xferLx;confLx;bxfer;phold;redial;dir;park;crdstart;crdstop;crdpause;crdresume", "connectedVideoKeyList": "hold;endcall;xfer;conf;xferLx;confLx;bxfer;phold;redial;dir;park;crdstart;crdstop;crdpause;crdresume", "startTransferKeyList": "endcall|2;xfer|3", "startConferenceKeyList": "endcall|2;conf|3", "conferencingKeyList": "endcall;join;crdstart;crdstop;crdpause;crdresume", "releasingKeyList": "endcall|2", "holdKeyList": "resume|1;endcall|2;newcall|3;redial|4;dir|5", "ringingKeyList": "answer|1;ignore|2", "sharedActiveKeyList": "newcall|1;psk1|2;dir|3;back|4", "sharedHeldKeyList": "resume|1;dir|4" }, "pskDefaults": { "psk1": "fnc=sd;ext=*11;nme=Call Pull" } }, "backgroundImage8875": "BLUE_LIGHT", "backlightTimer68XX78XX": "THIRTY_SEC", "allowMonitorLinesEnabled": false, "voiceFeedbackAccessibilityEnabled": false, "iceEnabled": true, "cfExpandedSoftKey": "ONLY_THE_CALL_FORWARD_ALL" }, "wifi": { "audioCodecPriority": { "selection": "REGIONAL", "primary": "OPUS", "secondary": "G722", "tertiary": "G711u" }, "ldap": {}, "webAccess": { "enabled": false } } }, "customEnabled": true, "updateInProgress": true, "deviceCount": 9, "lastUpdateTime": 1659624763665 } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Get Device Settings", "operationId": "getDeviceSettings", "description": "Get override settings for a device.\n\nDevice settings lists all the applicable settings for MPP, ATA and Wifi devices at the device level. An admin can also modify the settings. DECT devices do not support settings at the device level.\n\nThis requires a full or read-only administrator auth token with a scope of `spark-admin:telephony_config_read`.", "tags": [ "Device Call Settings" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "Unique identifier for the device.", "required": true, "example": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMV9pbnQxMy9DQUxMSU5HX0RFVklDRS8zMDAyZWJiZi1iMTVmLTQ1ODktYWNiZS1kZjY3OTA3MTU5NWE=", "schema": { "type": "string" } }, { "name": "orgId", "in": "query", "description": "Settings on the device in this organization.", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "schema": { "type": "string" } }, { "name": "deviceModel", "in": "query", "description": "The model type of the device. The corresponding device model display name sometimes called the product name, can also be used to specify the model.", "example": "DMS Cisco 8811", "schema": { "type": "string" } } ] }, "put": { "responses": { "204": { "description": "No Content", "headers": {}, "content": {} }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Update device settings", "operationId": "updateDeviceSettings", "description": "Modify override settings for a device.\n\nDevice settings list all the applicable settings for an MPP and an ATA devices at the device level. Admins can also modify the settings. NOTE: DECT devices do not support settings at the device level.\n\nUpdating settings on the device requires a full administrator auth token with a scope of `spark-admin:telephony_config_write`.", "tags": [ "Device Call Settings" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "Unique identifier for the device.", "required": true, "example": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMV9pbnQxMy9ERVZJQ0UvMzAwMmViYmYtYjE1Zi00NTg5LWFjYmUtZGY2NzkwNzE1OTVh", "schema": { "type": "string" } }, { "name": "orgId", "in": "query", "description": "Organization in which the device resides..", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "schema": { "type": "string" } }, { "name": "deviceModel", "in": "query", "description": "The model type of the device. The corresponding device model display name sometimes called the product name, can also be used to specify the model.", "example": "DMS Cisco 8811", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "example": { "customizations": { "mpp": { "pnacEnabled": true, "audioCodecPriority": { "primary": "OPUS", "secondary": "G722", "tertiary": "G711u", "selection": "CUSTOM" }, "backlightTimerOldModel": "THIRTY_SECONDS", "background": { "customUrl": "", "image": "WEBEX_DARK_BLUE" }, "displayNameFormat": "PERSON_FIRST_THEN_LAST_NAME", "cdpEnabled": false, "defaultLoggingLevel": "DEBUGGING", "dndServicesEnabled": true, "acd": { "enabled": true, "displayCallqueueAgentSoftkeys": "LAST_PAGE" }, "shortInterdigitTimer": 14, "longInterdigitTimer": 16, "lineKeyLabelFormat": "PERSON_EXTENSION", "lineKeyLEDPattern": "DEFAULT", "lldpEnabled": false, "mppUserWebAccessEnabled": true, "multicast": [ "192.86.108.226:2223" ], "enhancedMulticast": { "xmlAppUrl": "http://127.0.0.1:8080/", "multicastList": [ { "hostAndPort": "224.0.0.0:22", "hasXmlAppUrl": true, "xmlAppTimeout": 10 } ] }, "offHookTimer": 30, "phoneLanguage": "RUSSIAN", "poeMode": "MAXIMUM", "qosEnabled": true, "screenTimeout": { "enabled": true, "value": 400 }, "usbPortsEnabled": true, "vlan": { "enabled": false, "value": 1, "pcPort": 1 }, "wifiNetwork": { "enabled": false, "authenticationMethod": "PSK", "ssidName": "my_wifi_network", "userId": "test-user" }, "backlightTimer": "FIVE_MIN", "callHistory": "LOCAL_CALL_HISTORY", "contacts": "WEBEX_DIRECTORY", "webexMeetingsEnabled": false, "usbPorts": { "enabled": true, "sideUsbEnabled": true, "rearUsbEnabled": true }, "volumeSettings": { "ringerVolume": 9, "speakerVolume": 9, "handsetVolume": 9, "headsetVolume": 9, "eHookEnabled": false, "allowEndUserOverrideEnabled": false }, "httpProxy": { "mode": "OFF", "autoDiscoveryEnabled": false, "host": "localhost", "port": "8080", "packUrl": "www.webex.com", "authSettingsEnabled": true, "username": "usernamecpi" }, "bluetooth": { "enabled": true, "mode": "PHONE" }, "passThroughPortEnabled": true, "userPasswordOverrideEnabled": true, "activeCallFocusEnabled": true, "peerFirmwareEnabled": true, "noiseCancellation": { "enabled": false, "allowEndUserOverrideEnabled": false }, "dialAssistEnabled": true, "callsPerLine": 8, "nightlyResyncEnabled": true, "missedCallNotificationEnabled": false, "softKeyLayout": { "softKeyMenu": { "idleKeyList": "abcdefgh", "offHookKeyList": "nmhsdjs", "dialingInputKeyList": "djsks", "progressingKeyList": "sdsd", "connectedKeyList": "ssdds", "connectedVideoKeyList": "hold;endcall;xfer;conf;xferLx;confLx;bxfer;phold;redial;dir;park;crdstart;crdstop;crdpause;crdresume", "startTransferKeyList": "abcdef", "startConferenceKeyList": "abcdef", "conferencingKeyList": "abcdef", "releasingKeyList": "abcdef", "holdKeyList": "abcdef", "ringingKeyList": "abcdef", "sharedActiveKeyList": "abcdef", "sharedHeldKeyList": "abcdef" }, "psk": { "psk1": "abcdef", "psk2": "abcdef", "psk3": "abcdef", "psk4": "abcdef", "psk5": "abcdef", "psk6": "abcdef", "psk7": "abcdef", "psk8": "abcdef", "psk9": "abcdef", "psk10": "abcdef", "psk11": "abcdef", "psk12": "abcdef", "psk13": "abcdef", "psk14": "abcdef", "psk15": "abcdef", "psk16": "veeresh" }, "softKeyMenuDefaults": { "idleKeyList": "guestin|;guestout|;acd_login|;acd_logout|;astate|;redial|;newcall|;cfwd|;recents|;dnd|;unpark|;psk1|;gpickup|;pickup|;dir|4;miss|5;selfview|;messages", "offHookKeyList": "endcall|1;redial|2;dir|3;lcr|4;unpark|5;pickup|6;gpickup|7", "dialingInputKeyList": "dial|1;cancel|2;delchar|3;left|5;right|6", "progressingKeyList": "endcall|2", "connectedKeyList": "hold;endcall;xfer;conf;xferLx;confLx;bxfer;phold;redial;dir;park;crdstart;crdstop;crdpause;crdresume", "connectedVideoKeyList": "hold;endcall;xfer;conf;xferLx;confLx;bxfer;phold;redial;dir;park;crdstart;crdstop;crdpause;crdresume", "startTransferKeyList": "endcall|2;xfer|3", "startConferenceKeyList": "endcall|2;conf|3", "conferencingKeyList": "endcall;join;crdstart;crdstop;crdpause;crdresume", "releasingKeyList": "endcall|2", "holdKeyList": "resume|1;endcall|2;newcall|3;redial|4;dir|5", "ringingKeyList": "answer|1;ignore|2", "sharedActiveKeyList": "newcall|1;psk1|2;dir|3;back|4", "sharedHeldKeyList": "resume|1;dir|4" }, "pskDefaults": { "psk1": "fnc=sd;ext=*11;nme=Call Pull" } }, "backgroundImage8875": "BLUE_LIGHT", "backlightTimer68XX78XX": "THIRTY_SEC", "allowMonitorLinesEnabled": false, "voiceFeedbackAccessibilityEnabled": false, "iceEnabled": true, "cfExpandedSoftKey": "ONLY_THE_CALL_FORWARD_ALL" }, "wifi": { "audioCodecPriority": { "selection": "REGIONAL", "primary": "OPUS", "secondary": "G722", "tertiary": "G711u" }, "ldap": {}, "webAccess": { "enabled": false } } }, "customEnabled": true, "updateInProgress": true, "deviceCount": 9, "lastUpdateTime": 1659624763665 }, "schema": { "$ref": "#/components/schemas/PutDeviceSettingsRequest" } } } } } }, "/telephony/config/locations/{locationId}/devices/settings": { "get": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeviceSettingsObject" }, "example": { "customizations": { "ata": { "audioCodecPriority": { "selection": "REGIONAL", "primary": "G711a", "secondary": "G711u", "tertiary": "G729a" }, "ataDtmfMode": "STRICT", "ataDtmfMethod": "AVT", "cdpEnabled": true, "lldpEnabled": true, "qosEnabled": true, "vlan": { "enabled": true, "value": 1 }, "webAccessEnabled": true, "nightlyResyncEnabled": true, "snmp": { "enabled": false, "trustedIP": "0.0.0.0/0.0.0.0", "getCommunity": "public", "setCommunity": "private", "snmpV3Enabled": false } }, "mpp": { "pnacEnabled": true, "audioCodecPriority": { "selection": "CUSTOM", "primary": "OPUS", "secondary": "G722", "tertiary": "G711u" }, "backlightTimer": "ONE_M", "background": { "customUrl": "", "image": "WEBEX_DARK_BLUE" }, "displayNameFormat": "PERSON_FIRST_THEN_LAST_NAME", "cdpEnabled": false, "defaultLoggingLevel": "STANDARD", "dndServicesEnabled": true, "acd": { "enabled": true, "displayCallqueueAgentSoftkeys": "LAST_PAGE" }, "shortInterdigitTimer": 14, "longInterdigitTimer": 16, "lineKeyLabelFormat": "PERSON_EXTENSION", "lineKeyLEDPattern": "DEFAULT", "lldpEnabled": false, "mppUserWebAccessEnabled": true, "multicast": [ "192.86.108.226:22" ], "enhancedMulticast": { "xmlAppUrl": "http://127.0.0.1:8080/", "multicastList": [ { "hostAndPort": "224.0.0.0:22", "hasXmlAppUrl": true, "xmlAppTimeout": 10 } ] }, "offHookTimer": 30, "phoneLanguage": "RUSSIAN", "poeMode": "MAXIMUM", "qosEnabled": true, "screenTimeout": { "enabled": true, "value": 400 }, "usbPortsEnabled": true, "vlan": { "enabled": false, "value": 1, "pcPort": 1 }, "wifiNetwork": { "enabled": false, "authenticationMethod": "PSK", "ssidName": "my_wifi_network", "userId": "test-user" }, "callHistory": "LOCAL_CALL_HISTORY", "contacts": "WEBEX_DIRECTORY", "webexMeetingsEnabled": false, "usbPorts": { "enabled": true, "sideUsbEnabled": true, "rearUsbEnabled": true }, "volumeSettings": { "ringerVolume": 9, "speakerVolume": 9, "handsetVolume": 9, "headsetVolume": 9, "eHookEnabled": false, "allowEndUserOverrideEnabled": false }, "httpProxy": { "mode": "OFF", "autoDiscoveryEnabled": false, "host": "localhost", "port": "8080", "packUrl": "www.webex.com", "authSettingsEnabled": true, "username": "usernamecpi" }, "bluetooth": { "enabled": true, "mode": "PHONE" }, "passThroughPortEnabled": true, "userPasswordOverrideEnabled": true, "activeCallFocusEnabled": true, "peerFirmwareEnabled": true, "noiseCancellation": { "enabled": false, "allowEndUserOverrideEnabled": false }, "dialAssistEnabled": true, "callsPerLine": 8, "nightlyResyncEnabled": true, "missedCallNotificationEnabled": false, "softKeyLayout": { "softKeyMenu": { "idleKeyList": "abcdefgh", "offHookKeyList": "nmhsdjs", "dialingInputKeyList": "djsks", "progressingKeyList": "sdsd", "connectedKeyList": "ssdds", "connectedVideoKeyList": "hold;endcall;xfer;conf;xferLx;confLx;bxfer;phold;redial;dir;park;crdstart;crdstop;crdpause;crdresume", "startTransferKeyList": "abcdef", "startConferenceKeyList": "abcdef", "conferencingKeyList": "abcdef", "releasingKeyList": "abcdef", "holdKeyList": "abcdef", "ringingKeyList": "abcdef", "sharedActiveKeyList": "abcdef", "sharedHeldKeyList": "abcdef" }, "psk": { "psk1": "abcdef", "psk2": "abcdef", "psk3": "abcdef", "psk4": "abcdef", "psk5": "abcdef", "psk6": "abcdef", "psk7": "abcdef", "psk8": "abcdef", "psk9": "abcdef", "psk10": "abcdef", "psk11": "abcdef", "psk12": "abcdef", "psk13": "abcdef", "psk14": "abcdef", "psk15": "abcdef", "psk16": "veeresh" }, "softKeyMenuDefaults": { "idleKeyList": "guestin|;guestout|;acd_login|;acd_logout|;astate|;redial|;newcall|;cfwd|;recents|;dnd|;unpark|;psk1|;gpickup|;pickup|;dir|4;miss|5;selfview|;messages", "offHookKeyList": "endcall|1;redial|2;dir|3;lcr|4;unpark|5;pickup|6;gpickup|7", "dialingInputKeyList": "dial|1;cancel|2;delchar|3;left|5;right|6", "progressingKeyList": "endcall|2", "connectedKeyList": "hold;endcall;xfer;conf;xferLx;confLx;bxfer;phold;redial;dir;park;crdstart;crdstop;crdpause;crdresume", "connectedVideoKeyList": "hold;endcall;xfer;conf;xferLx;confLx;bxfer;phold;redial;dir;park;crdstart;crdstop;crdpause;crdresume", "startTransferKeyList": "endcall|2;xfer|3", "startConferenceKeyList": "endcall|2;conf|3", "conferencingKeyList": "endcall;join;crdstart;crdstop;crdpause;crdresume", "releasingKeyList": "endcall|2", "holdKeyList": "resume|1;endcall|2;newcall|3;redial|4;dir|5", "ringingKeyList": "answer|1;ignore|2", "sharedActiveKeyList": "newcall|1;psk1|2;dir|3;back|4", "sharedHeldKeyList": "resume|1;dir|4" }, "pskDefaults": { "psk1": "fnc=sd;ext=*11;nme=Call Pull" } }, "backgroundImage8875": "BLUE_LIGHT", "backlightTimer68XX78XX": "THIRTY_SEC", "allowMonitorLinesEnabled": false, "voiceFeedbackAccessibilityEnabled": false, "iceEnabled": true, "cfExpandedSoftKey": "ONLY_THE_CALL_FORWARD_ALL" }, "wifi": { "audioCodecPriority": { "selection": "REGIONAL", "primary": "OPUS", "secondary": "G722", "tertiary": "G711u" }, "ldap": {}, "webAccess": { "enabled": false } } }, "customEnabled": false, "updateInProgress": true, "deviceCount": 9, "lastUpdateTime": 1659624763665 } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Get Location Device Settings", "operationId": "getLocationDeviceSettings", "description": "Get device override settings for a location.\n\nThis requires a full or read-only administrator auth token with a scope of `spark-admin:telephony_config_read`.", "tags": [ "Device Call Settings" ], "parameters": [ { "name": "locationId", "in": "path", "description": "Unique identifier for the location.", "required": true, "example": "Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzAwMDA1ZTAwLTUzYjQtNDBjMy1hN2FkLTU2NTBmZGRkZDUzYw", "schema": { "type": "string" } }, { "name": "orgId", "in": "query", "description": "Organization in which the device resides.", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "schema": { "type": "string" } } ] } }, "/telephony/config/devices/{deviceId}": { "get": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetThirdPartyDeviceObject" }, "example": { "managedBy": "CUSTOMER", "owner": { "sipUserName": "392829", "linePort": "i6i1ar1v29@98079822.int10.bcld.webex.com" }, "proxy": { "outboundProxy": "hs17.hosted-int.bcld.webex.com" }, "manufacturer": "THIRD_PARTY", "id": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMV9pbnQxMy9ERVZJQ0UvNTEwMUIwN0ItNEY4Ri00RUY3LUI1NjUtREIxOUM3QjcyM0Y3", "ip": "100.110.120.130", "mac": "11223344AAFF", "model": "DMS Cisco 8811", "activationState": "activated", "description": [ "your tag", "device tag" ], "upgradeChannelEnabled": true } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Get Webex Calling Device Details", "operationId": "getWebexCallingDeviceDetails", "description": "
Not supported for Webex for Government (FedRAMP)
\n\nRetrieves Webex Calling device details that include information needed for third-party device management.\n\nWebex calling devices are associated with a specific user Workspace or Virtual Line. Webex Calling devices share the location with the entity that owns them.\n\nPerson or workspace to which the device is assigned. Its fields point to a primary line/port of the device.\n\nRequires a full, location, user, or read-only admin auth token with the scope of `spark-admin:telephony_config_read`.", "tags": [ "Device Call Settings" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "Unique identifier for the device.", "required": true, "example": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMV9pbnQxMy9DQUxMSU5HX0RFVklDRS8zMDAyZWJiZi1iMTVmLTQ1ODktYWNiZS1kZjY3OTA3MTU5NWE=", "schema": { "type": "string" } }, { "name": "orgId", "in": "query", "description": "ID of the organization in which the device resides.", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "schema": { "type": "string" } } ] }, "put": { "responses": { "204": { "description": "No Content", "headers": {}, "content": {} }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Update Third Party Device", "operationId": "updateThirdPartyDevice", "description": "
Not supported for Webex for Government (FedRAMP)
\n\nModify a device's `sipPassword`.\n\nUpdating `sipPassword` on the device requires a full or user administrator auth token with a scope of `spark-admin:telephony_config_write`.", "tags": [ "Device Call Settings" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "Unique identifier for the device.", "required": true, "example": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMV9pbnQxMy9DQUxMSU5HX0RFVklDRS8zMDAyZWJiZi1iMTVmLTQ1ODktYWNiZS1kZjY3OTA3MTU5NWE=", "schema": { "type": "string" } }, { "name": "orgId", "in": "query", "description": "ID of the organization in which the device resides.", "example": "Y2lzY29zcGFyazovL3VzL0NBTExJTkdfREVWSUNFLzAwMDA1ZTAwLTUzYjQtNDBjMy1hN2FkLTU2NTBmZGRkZDUzYw", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "example": { "sipPassword": "Test4Password123&" }, "schema": { "$ref": "#/components/schemas/PutThirdPartyDevice" } } } } } }, "/telephony/config/people/{personId}/devices": { "get": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/deviceList" }, "example": { "devices": [ { "id": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMV9pbnQxMy9DQUxMSU5HX0RFVklDRS8zMDAyZWJiZi1iMTVmLTQ1ODktYWNiZS1kZjY3OTA3MTU5NWE=", "descriptions": [ "Your tag", "John Doe (Cisco 8875)" ], "model": "DMS Cisco 8875", "modelType": "MPP", "mac": "52EAD324FD21", "ipAddress": "10.201.128.187", "displayName": "Cisco 8875", "primaryOwner": true, "type": "PRIMARY", "hoteling": { "enabled": true, "limitGuestUse": true, "guestHoursLimit": 5 }, "owner": { "id": "Y2lzY29zcGFyazovL3VzL1BFUlNPTi81NzU2YWE1Yy03YjQ0LTQ3MjQtOGQ3ZS03NDE1MGVjODc4YmQ", "type": "PEOPLE", "firstName": "John", "lastName": "Doe" } } ], "maxDeviceCount": 1, "maxOwnedDeviceCount": 1 } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Get Person Devices", "operationId": "getPersonDevices", "description": "Get all devices for a person.\n\nThis requires a full or read-only administrator or location administrator auth token with a scope of `spark-admin:telephony_config_read`.", "tags": [ "Device Call Settings" ], "parameters": [ { "name": "personId", "in": "path", "description": "Person for whom to retrieve devices.", "required": true, "example": "Y2lzY29zcGFyazovL3VzL1BFUlNPTi8wMDAwNWUwMC01M2I0LTQwYzMtYTdhZC01NjUwZmRkZGQ1M2M", "schema": { "type": "string" } }, { "name": "orgId", "in": "query", "description": "Organization to which the person belongs.", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "schema": { "type": "string" } } ] } }, "/telephony/config/people/{personId}/devices/settings/hoteling": { "put": { "responses": { "204": { "description": "No Content", "headers": {}, "content": {} }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Modify Hoteling Settings for a Person's Primary Devices", "operationId": "modefyHotelingSettingsForPersonsPrimaryDevices", "description": "Modify hoteling login configuration on a person's Webex Calling Devices which are in effect when the device is the user's primary device and device type is PRIMARY. To view the current hoteling login settings, see the `hoteling` field in [Get Person Devices](/docs/api/v1/device-call-settings/get-person-devices).\n\nModifying devices for a person requires a full administrator or location administrator auth token with a scope of `spark-admin:telephony_config_write`.", "tags": [ "Device Call Settings" ], "parameters": [ { "name": "personId", "in": "path", "description": "ID of the person associated with the device.", "required": true, "example": "Y2lzY29zcGFyazovL3VzL1BFUlNPTi8wMDAwNWUwMC01M2I0LTQwYzMtYTdhZC01NjUwZmRkZGQ1M2M", "schema": { "type": "string" } }, { "name": "orgId", "in": "query", "description": "Organization to which the person belongs.", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "example": { "hoteling": { "enabled": true, "limitGuestUse": true, "guestHoursLimit": 5 } }, "schema": { "$ref": "#/components/schemas/UserHotelingRequestPatch" } } } } } }, "/telephony/config/workspaces/{workspaceId}/devices": { "get": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/placeDeviceList" }, "example": { "devices": [ { "id": "Y2lzY29zcGFyazovL3VzL0RFVklDRS81NzU2YWE1Yy1jODc4LTQ3MjQtOGQ3ZS03NDE1MGU3YjQ0YmQ", "descriptions": [ "Your tag", "John Doe (Cisco 8875)" ], "model": "DMS Cisco 8875", "mac": "52EAD324FD21", "ipAddress": "10.201.128.187", "displayName": "Cisco 8875", "primaryOwner": true, "type": "PRIMARY", "hoteling": { "enabled": true, "limitGuestUse": true, "guestHoursLimit": 24 }, "owner": { "id": "Y2lzY29zcGFyazovL3VzL1BFUlNPTi81NzU2YWE1Yy03YjQ0LTQ3MjQtOGQ3ZS03NDE1MGVjODc4YmQ", "type": "PEOPLE", "firstName": "John", "lastName": "Doe" } } ], "maxDeviceCount": 1, "maxOwnedDeviceCount": 1 } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Get Workspace Devices", "operationId": "getWorkspaceDevices", "description": "Get all devices for a workspace.\n\nThis requires a full or read-only administrator auth token with a scope of `spark-admin:telephony_config_read`.", "tags": [ "Device Call Settings" ], "parameters": [ { "name": "workspaceId", "in": "path", "description": "ID of the workspace for which to retrieve devices.", "required": true, "example": "Y2lzY29zcGFyazovL3VzL1BFUlNPTi8wMDAwNWUwMC01M2I0LTQwYzMtYTdhZC01NjUwZmRkZGQ1M2M", "schema": { "type": "string" } }, { "name": "orgId", "in": "query", "description": "Organization to which the workspace belongs.", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "schema": { "type": "string" } } ] }, "put": { "responses": { "204": { "description": "No Content", "headers": {}, "content": {} }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Modify Workspace Devices", "operationId": "modifyWorkspaceDevices", "description": "Modify devices for a workspace.\n\nModifying devices for a workspace requires a full administrator auth token with a scope of `spark-admin:telephony_config_write`.", "tags": [ "Device Call Settings" ], "parameters": [ { "name": "workspaceId", "in": "path", "description": "ID of the workspace for which to modify devices.", "required": true, "example": "Y2lzY29zcGFyazovL3VzL1BFUlNPTi8wMDAwNWUwMC01M2I0LTQwYzMtYTdhZC01NjUwZmRkZGQ1M2M", "schema": { "type": "string" } }, { "name": "orgId", "in": "query", "description": "Organization to which the workspace belongs.", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "example": { "enabled": true, "limitGuestUse": true, "guestHoursLimit": 24 }, "schema": { "$ref": "#/components/schemas/HotelingRequest" } } } } } }, "/telephony/config/supportedDevices": { "get": { "responses": { "200": { "description": "OK", "headers": { "Link": { "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/supportedDevicesObject" }, "example": { "upgradeChannelList": [ "STABLE", "STABLE_DELAY", "PREVIEW", "BETA", "TESTING" ], "devices": [ { "model": "2N Customer Managed", "displayName": "2N Customer Managed", "type": "GENERIC_SIP", "manufacturer": "THIRD_PARTY", "managedBy": "CUSTOMER", "supportedFor": [ "PEOPLE", "PLACE" ], "onboardingMethod": [ "MAC_ADDRESS" ], "allowConfigureLayoutEnabled": false, "numberOfLinePorts": 20, "kemSupportEnabled": true, "kemModuleCount": 1, "kemModuleType": [ "KEM_20_KEYS" ], "upgradeChannelEnabled": false, "additionalPrimaryLineAppearancesEnabled": false, "basicEmergencyNomadicEnabled": false, "customizedBehaviorsEnabled": false, "allowConfigurePortsEnabled": false, "customizableLineLabelEnabled": false, "supportsLinePortReorderingEnabled": false, "kemLinesSupportEnabled": false, "portNumberSupportEnabled": false, "numberOfLineKeyButtons": 0, "t38Enabled": false, "callDeclinedEnabled": false, "touchScreenPhone": false, "deviceSettingsConfiguration": "NONE", "allowHotelingHostEnabled": false, "supportsLogCollection": "NONE", "supportsApplyChangesEnabled": false, "allowConfigureLinesEnabled": true, "allowConfigurePhoneSettingsEnabled": false, "supportsHotlineEnabled": false }, { "model": "DMS Polycom EE400", "displayName": "Polycom EE400", "familyDisplayName": "Poly", "type": "GENERIC_SIP", "manufacturer": "THIRD_PARTY", "managedBy": "CISCO", "supportedFor": [ "PEOPLE", "PLACE" ], "onboardingMethod": [ "MAC_ADDRESS" ], "allowConfigureLayoutEnabled": false, "numberOfLinePorts": 14, "kemSupportEnabled": false, "upgradeChannelEnabled": false, "additionalPrimaryLineAppearancesEnabled": true, "basicEmergencyNomadicEnabled": false, "customizedBehaviorsEnabled": true, "allowConfigurePortsEnabled": false, "customizableLineLabelEnabled": false, "supportsLinePortReorderingEnabled": true, "kemLinesSupportEnabled": false, "portNumberSupportEnabled": false, "numberOfLineKeyButtons": 0, "touchScreenPhone": false, "t38Enabled": false, "callDeclinedEnabled": true, "deviceSettingsConfiguration": "WEBEX_CALLING_DYNAMIC_DEVICE_CONFIGURATION", "allowHotelingHostEnabled": true, "supportsLogCollection": "NONE", "supportsApplyChangesEnabled": true, "allowConfigureLinesEnabled": true, "allowConfigurePhoneSettingsEnabled": true, "supportsHotlineEnabled": true } ] } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Read the List of Supported Devices", "operationId": "readTheListOfSupportedDevices", "description": "Gets the list of supported devices for an organization.\n\nRetrieving this list requires a full or read-only administrator auth token with a scope of `spark-admin:telephony_config_read`.", "tags": [ "Device Call Settings With Device Dynamic Settings" ], "parameters": [ { "name": "orgId", "in": "query", "description": "List supported devices for an organization.", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "schema": { "type": "string" } }, { "name": "allowConfigureLayoutEnabled", "in": "query", "description": "List supported devices that allow the user to configure the layout.", "example": true, "schema": { "type": "boolean" } }, { "name": "type", "in": "query", "description": "List supported devices of a specific type. To excluded device types from a request or query, add `type=not:DEVICE_TYPE`. For example, `type=not:MPP`.", "example": "MPP", "schema": { "type": "string" } } ] } }, "/telephony/config/devices/settings": { "get": { "responses": { "200": { "description": "OK", "headers": { "Link": { "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListDeviceSettingsObject" }, "example": { "customizations": { "ata": { "audioCodecPriority": { "selection": "REGIONAL", "primary": "G711a", "secondary": "G711u", "tertiary": "G729a" }, "ataDtmfMode": "STRICT", "ataDtmfMethod": "AVT", "cdpEnabled": true, "lldpEnabled": true, "qosEnabled": true, "vlan": { "enabled": true, "value": 1 }, "webAccessEnabled": true, "nightlyResyncEnabled": true, "snmp": { "enabled": false, "trustedIP": "0.0.0.0/0.0.0.0", "getCommunity": "public", "setCommunity": "private", "snmpV3Enabled": false } }, "dect": { "audioCodecPriority": { "selection": "REGIONAL", "primary": "G729", "secondary": "G711u", "tertiary": "G711a" }, "cdpEnabled": true, "lldpEnabled": true, "qosEnabled": true, "vlan": { "enabled": false, "value": 0 }, "webAccessEnabled": true, "nightlyResyncEnabled": true }, "mpp": { "pnacEnabled": true, "audioCodecPriority": { "selection": "CUSTOM", "primary": "OPUS", "secondary": "G722", "tertiary": "G711u" }, "backlightTimer": "ONE_MIN", "background": { "customUrl": "", "image": "WEBEX_DARK_BLUE" }, "displayNameFormat": "PERSON_FIRST_THEN_LAST_NAME", "cdpEnabled": false, "defaultLoggingLevel": "STANDARD", "dndServicesEnabled": true, "acd": { "enabled": true, "displayCallqueueAgentSoftkeys": "LAST_PAGE" }, "shortInterdigitTimer": 14, "longInterdigitTimer": 16, "lineKeyLabelFormat": "PERSON_EXTENSION", "lineKeyLEDPattern": "DEFAULT", "lldpEnabled": false, "mppUserWebAccessEnabled": true, "multicast": [ "192.86.108.226:22" ], "enhancedMulticast": { "xmlAppUrl": "http://127.0.0.1:8080/", "multicastList": [ { "hostAndPort": "224.0.0.0:22", "hasXmlAppUrl": true, "xmlAppTimeout": 10 } ] }, "offHookTimer": 30, "phoneLanguage": "RUSSIAN", "poeMode": "MAXIMUM", "qosEnabled": true, "screenTimeout": { "enabled": true, "value": 400 }, "usbPortsEnabled": true, "vlan": { "enabled": false, "value": 1, "pcPort": 1 }, "wifiNetwork": { "enabled": false, "authenticationMethod": "PSK", "ssidName": "my_wifi_network", "userId": "test-user" }, "callHistory": "LOCAL_CALL_HISTORY", "contacts": "WEBEX_DIRECTORY", "webexMeetingsEnabled": false, "usbPorts": { "enabled": true, "sideUsbEnabled": true, "rearUsbEnabled": true }, "volumeSettings": { "ringerVolume": 9, "speakerVolume": 9, "handsetVolume": 9, "headsetVolume": 9, "eHookEnabled": false, "allowEndUserOverrideEnabled": false }, "httpProxy": { "mode": "OFF", "autoDiscoveryEnabled": false, "host": "localhost", "port": "8080", "packUrl": "www.webex.com", "authSettingsEnabled": true, "username": "usernamecpi" }, "bluetooth": { "enabled": true, "mode": "PHONE" }, "passThroughPortEnabled": true, "userPasswordOverrideEnabled": true, "activeCallFocusEnabled": true, "peerFirmwareEnabled": true, "noiseCancellation": { "enabled": false, "allowEndUserOverrideEnabled": false }, "dialAssistEnabled": true, "callsPerLine": 8, "nightlyResyncEnabled": true, "missedCallNotificationEnabled": false, "softKeyLayout": { "softKeyMenu": { "idleKeyList": "abcdefgh", "offHookKeyList": "nmhsdjs", "dialingInputKeyList": "djsks", "progressingKeyList": "sdsd", "connectedKeyList": "ssdds", "connectedVideoKeyList": "hold;endcall;xfer;conf;xferLx;confLx;bxfer;phold;redial;dir;park;crdstart;crdstop;crdpause;crdresume", "startTransferKeyList": "abcdef", "startConferenceKeyList": "abcdef", "conferencingKeyList": "abcdef", "releasingKeyList": "abcdef", "holdKeyList": "abcdef", "ringingKeyList": "abcdef", "sharedActiveKeyList": "abcdef", "sharedHeldKeyList": "abcdef" }, "psk": { "psk1": "abcdef", "psk2": "abcdef", "psk3": "abcdef", "psk4": "abcdef", "psk5": "abcdef", "psk6": "abcdef", "psk7": "abcdef", "psk8": "abcdef", "psk9": "abcdef", "psk10": "abcdef", "psk11": "abcdef", "psk12": "abcdef", "psk13": "abcdef", "psk14": "abcdef", "psk15": "abcdef", "psk16": "veeresh" }, "softKeyMenuDefaults": { "idleKeyList": "guestin|;guestout|;acd_login|;acd_logout|;astate|;redial|;newcall|;cfwd|;recents|;dnd|;unpark|;psk1|;gpickup|;pickup|;dir|4;miss|5;selfview|;messages", "offHookKeyList": "endcall|1;redial|2;dir|3;lcr|4;unpark|5;pickup|6;gpickup|7", "dialingInputKeyList": "dial|1;cancel|2;delchar|3;left|5;right|6", "progressingKeyList": "endcall|2", "connectedKeyList": "hold;endcall;xfer;conf;xferLx;confLx;bxfer;phold;redial;dir;park;crdstart;crdstop;crdpause;crdresume", "connectedVideoKeyList": "hold;endcall;xfer;conf;xferLx;confLx;bxfer;phold;redial;dir;park;crdstart;crdstop;crdpause;crdresume", "startTransferKeyList": "endcall|2;xfer|3", "startConferenceKeyList": "endcall|2;conf|3", "conferencingKeyList": "endcall;join;crdstart;crdstop;crdpause;crdresume", "releasingKeyList": "endcall|2", "holdKeyList": "resume|1;endcall|2;newcall|3;redial|4;dir|5", "ringingKeyList": "answer|1;ignore|2", "sharedActiveKeyList": "newcall|1;psk1|2;dir|3;back|4", "sharedHeldKeyList": "resume|1;dir|4" }, "pskDefaults": { "psk1": "fnc=sd;ext=*11;nme=Call Pull" } }, "backgroundImage8875": "BLUE_LIGHT", "backlightTimer68XX78XX": "THIRTY_SEC", "allowMonitorLinesEnabled": false, "voiceFeedbackAccessibilityEnabled": false, "iceEnabled": true }, "wifi": { "audioCodecPriority": { "selection": "REGIONAL", "primary": "OPUS", "secondary": "G722", "tertiary": "G711u" }, "ldap": {}, "webAccess": { "enabled": false } } }, "updateInProgress": false, "deviceCount": 22, "lastUpdateTime": 1659624763665 } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Read the device override settings for a organization", "operationId": "readDeviceOverrideSettingsForOrganization", "description": "Get device override settings for an organization.\n\nRetrieving this list requires a full or read-only administrator auth token with a scope of `spark-admin:telephony_config_read`.", "tags": [ "Device Call Settings" ], "parameters": [ { "name": "orgId", "in": "query", "description": "List supported devices for an organization.", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "schema": { "type": "string" } } ] } }, "/telephony/config/devices/lineKeyTemplates": { "post": { "responses": { "201": { "description": "Created", "headers": {}, "content": { "application/json": { "schema": { "type": "object", "required": [ "id" ], "properties": { "id": { "type": "string", "example": "Y2lzY29zcGFyazovL3VzL0RFVklDRV9MSU5FX0tFWV9URU1QTEFURS9lYzVmMjg0Ni1iMDQ2LTQ5OGEtOWU2Mi04ZTg4ZWFlZmQyMGQ", "description": "ID of the newly created Line Key Template." } } }, "example": { "id": "Y2lzY29zcGFyazovL3VzL0RFVklDRV9MSU5FX0tFWV9URU1QTEFURS9lYzVmMjg0Ni1iMDQ2LTQ5OGEtOWU2Mi04ZTg4ZWFlZmQyMGQ" } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Create a Line Key Template", "operationId": "createLineKeyTemplate", "description": "Create a Line Key Template in this organization.\n\nLine Keys, also known as Programmable Line Keys (PLK), are the keys found on either side of a typical desk phone display.\nA Line Key Template is a definition of actions that will be performed by each of the Line Keys for a particular device model.\nThis API allows customers to create a `Line Key Template` for a device model.\n\nCreating a Line Key Template requires a full administrator auth token with a scope of `spark-admin:telephony_config_write`.", "tags": [ "Device Call Settings" ], "parameters": [ { "name": "orgId", "in": "query", "description": "Organization to which the line key template belongs.", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "example": { "templateName": "My Template", "deviceModel": "DMS Cisco 8851", "userReorderEnabled": true, "lineKeys": [ { "lineKeyIndex": 1, "lineKeyType": "PRIMARY_LINE" }, { "lineKeyIndex": 2, "lineKeyType": "SPEED_DIAL", "lineKeyLabel": "Help Line", "lineKeyValue": "3568" }, { "lineKeyIndex": 3, "lineKeyType": "SHARED_LINE", "sharedLineIndex": 1 } ] }, "schema": { "$ref": "#/components/schemas/PostLineKeyTemplateRequest" } } } } }, "get": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "type": "object", "required": [ "lineKeyTemplates" ], "properties": { "lineKeyTemplates": { "type": "array", "items": { "$ref": "#/components/schemas/lineKeyTemplatesResponse" }, "description": "Array of Line Key Templates." } } }, "example": { "lineKeyTemplates": [ { "id": "Y2lzY29zcGFyazovL3VzL0RFVklDRV9MSU5FX0tFWV9URU1QTEFURS9lYzVmMjg0Ni1iMDQ2LTQ5OGEtOWU2Mi04ZTg4ZWFlZmQyMGQ", "templateName": "template-for-8845", "deviceModel": "DMS Cisco 8845", "modelDisplayName": "Cisco 8845" } ] } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Read the list of Line Key Templates", "operationId": "readListOfLineKeyTemplates", "description": "List all Line Key Templates available for this organization.\n\nLine Keys also known as Programmable Line Keys (PLK) are the keys found on either sides of a typical desk phone display.\nA Line Key Template is a definition of actions that will be performed by each of the Line Keys for a particular device model.\nThis API allows users to retrieve the list of Line Key Templates that are available for the organization.\n\nRetrieving this list requires a full, user or read-only administrator or location administrator auth token with a scope of `spark-admin:telephony_config_read`.", "tags": [ "Device Call Settings" ], "parameters": [ { "name": "orgId", "in": "query", "description": "List line key templates for this organization.", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "schema": { "type": "string" } } ] } }, "/telephony/config/devices/lineKeyTemplates/{templateId}": { "get": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetLineKeyTemplateResponse" }, "example": { "id": "Y2lzY29zcGFyazovL3VzL0RFVklDRV9MSU5FX0tFWV9URU1QTEFURS9kNDUzM2MwYi1hZGRmLTRjODUtODk0YS1hZTVkOTAyYzAyMDM", "templateName": "My Template", "deviceModel": "DMS Cisco 8851", "modelDisplayName": "Cisco 8851", "userReorderEnabled": true, "lineKeys": [ { "lineKeyIndex": 1, "lineKeyType": "PRIMARY_LINE" }, { "lineKeyIndex": 2, "lineKeyType": "SPEED_DIAL", "lineKeyLabel": "Home", "lineKeyValue": "2891" }, { "lineKeyIndex": 3, "lineKeyType": "SHARED_LINE", "sharedLineIndex": 1 } ] } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Get details of a Line Key Template", "operationId": "getDetailsOfLineKeyTemplate", "description": "Get detailed information about a Line Key Template by template ID in an organization.\n\nLine Keys, also known as Programmable Line Keys (PLK), are the keys found on either side of a typical desk phone display.\nA Line Key Template is a definition of actions that will be performed by each of the Line Keys for a particular device model.\nThis API allows users to retrieve a line key template by its ID in an organization.\n\nRetrieving a line key template requires a full, user, or read-only administrator auth token with a scope of `spark-admin:telephony_config_read`.", "tags": [ "Device Call Settings" ], "parameters": [ { "name": "templateId", "in": "path", "description": "Get line key template for this template ID.", "required": true, "example": "Y2lzY29zcGFyazovL3VzL0RFVklDRV9MSU5FX0tFWV9URU1QTEFURS9kNDUzM2MwYi1hZGRmLTRjODUtODk0YS1hZTVkOTAyYzAyMDM", "schema": { "type": "string" } }, { "name": "orgId", "in": "query", "description": "Retrieve a line key template for this organization.", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "schema": { "type": "string" } } ] }, "put": { "responses": { "204": { "description": "No Content", "headers": {}, "content": {} }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Modify a Line Key Template", "operationId": "modifyLineKeyTemplate", "description": "Modify a Line Key Template by its template ID in an organization.\n\nLine Keys, also known as Programmable Line Keys (PLK), are the keys found on either side of a typical desk phone display.\nA Line Key Template is a definition of actions that will be performed by each of the Line Keys for a particular device model.\nThis API allows users to modify an existing Line Key Template by its ID in an organization.\n\nModifying an existing Line Key Template requires a full administrator auth token with a scope of `spark-admin:telephony_config_write`.", "tags": [ "Device Call Settings" ], "parameters": [ { "name": "templateId", "in": "path", "description": "Modify line key template with this template ID.", "required": true, "example": "Y2lzY29zcGFyazovL3VzL0RFVklDRV9MSU5FX0tFWV9URU1QTEFURS9kNDUzM2MwYi1hZGRmLTRjODUtODk0YS1hZTVkOTAyYzAyMDM", "schema": { "type": "string" } }, { "name": "orgId", "in": "query", "description": "Modify a line key template for this organization.", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "example": { "userReorderEnabled": true, "lineKeys": [ { "lineKeyIndex": 1, "lineKeyType": "PRIMARY_LINE" }, { "lineKeyIndex": 2, "lineKeyType": "SPEED_DIAL", "lineKeyLabel": "Office", "lineKeyValue": "4850" }, { "lineKeyIndex": 3, "lineKeyType": "SHARED_LINE", "sharedLineIndex": 1 } ] }, "schema": { "$ref": "#/components/schemas/PutLineKeyTemplateRequest" } } } } }, "delete": { "responses": { "204": { "description": "No Content", "headers": {}, "content": {} }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Delete a Line Key Template", "operationId": "deleteLineKeyTemplate", "description": "Delete a Line Key Template by its template ID in an organization.\n\nLine Keys also known as Programmable Line Keys (PLK) are the keys found on either sides of a typical desk phone display.\nA Line Key Template is a definition of actions that will be performed by each of the Line Keys for a particular device model.\nThis API allows users to delete an existing Line Key Templates by its ID in an organization.\n\nDeleting an existing line key template requires a full administrator auth token with a scope of `spark-admin:telephony_config_write`.", "tags": [ "Device Call Settings" ], "parameters": [ { "name": "templateId", "in": "path", "description": "Delete line key template with this template ID.", "required": true, "example": "Y2lzY29zcGFyazovL3VzL0RFVklDRV9MSU5FX0tFWV9URU1QTEFURS9kNDUzM2MwYi1hZGRmLTRjODUtODk0YS1hZTVkOTAyYzAyMDM", "schema": { "type": "string" } }, { "name": "orgId", "in": "query", "description": "Delete a line key template for this organization.", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "schema": { "type": "string" } } ] } }, "/telephony/config/devices/actions/previewApplyLineKeyTemplate/invoke": { "post": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "type": "object", "required": [ "deviceCount" ], "properties": { "deviceCount": { "type": "number", "description": "Number of devices affected." } } }, "example": { "deviceCount": 3 } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Preview Apply Line Key Template", "operationId": "previewApplyLineKeyTemplate", "description": "Preview the number of devices that will be affected by the application of a Line Key Template or when resetting devices to their factory Line Key settings.\n\nLine Keys, also known as Programmable Line Keys (PLK), are the keys found on either side of a typical desk phone display.\nA Line Key Template is a definition of actions that will be performed by each of the Line Keys for a particular device model.\nThis API allows users to preview the number of devices that will be affected if a customer were to apply a Line Key Template or apply factory default Line Key settings to devices.\n\nRetrieving the number of devices affected requires a full administrator auth token with a scope of `spark-admin:telephony_config_write`.", "tags": [ "Device Call Settings" ], "parameters": [ { "name": "orgId", "in": "query", "description": "Preview Line Key Template for this organization.", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "example": { "action": "APPLY_TEMPLATE", "templateId": "Y2lzY29zcGFyazovL3VzL0RFVklDRV9MSU5FX0tFWV9URU1QTEFURS81NzVhMWY3Zi03MjRkLTRmZGUtODk4NC1mNjNhNDljMzYxZmQ", "locationIds": [ "Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OL2E4Mjg5NzIyLTFiODAtNDFiNy05Njc4LTBlNzdhZThjMTA5OA" ], "excludeDevicesWithCustomLayout": true, "includeDeviceTags": [ "accounting", "sales" ], "excludeDeviceTags": [ "admin" ], "advisoryTypes": { "moreSharedAppearancesEnabled": true, "fewSharedAppearancesEnabled": true, "moreMonitorAppearancesEnabled": "true", "moreCPEAppearancesEnabled": "true", "moreModeManagementAppearancesEnabled": true } }, "schema": { "$ref": "#/components/schemas/PostApplyLineKeyTemplateRequest" } } } } } }, "/telephony/config/jobs/devices/applyLineKeyTemplate": { "post": { "responses": { "202": { "description": "Accepted", "headers": {}, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApplyLineKeyTemplateJobDetails" }, "example": { "name": "applyphonelinekeytemplates", "id": "Y2lzY29zcGFyazovL3VzL0pPQl9JRC8wZTJjNmI5NC1hNDdlLTQxZGUtODE5ZS04YTcwNTZjMTc5MDk", "trackingId": "NA_a9ef6908-60cf-40e6-b56f-461abffd6fa3", "sourceUserId": "Y2lzY29zcGFyazovL3VzL1BFT1BMRS85OThhMThhYi1kZjY5LTQ5MWYtYmViZi03MzUxMGE3ODI5N2I", "sourceCustomerId": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi9hNDVkNmNkYS1hZTVhLTQwYzMtYTdhZC01NjUwZmRkZGQ1M2M", "targetCustomerId": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi9hNDVkNmNkYS1hZTVhLTQwYzMtYTdhZC01NjUwZmRkZGQ1M2M", "instanceId": 0, "jobExecutionStatus": [ { "id": 0, "startTime": "2023-07-05T21:36:53.749Z", "lastUpdated": "2023-07-05T21:37:06.714Z", "statusMessage": "STARTED", "exitCode": "UNKNOWN", "createdTime": "2023-07-05T21:36:53.551Z", "stepExecutionStatuses": [ { "id": 0, "startTime": "2023-07-05T21:36:54.601Z", "lastUpdated": "2023-07-05T21:37:06.078Z", "statusMessage": "STARTED", "exitCode": "UNKNOWN", "name": "applyphonelinekeytemplatesProcess", "timeElapsed": "PT11.476S" } ], "timeElapsed": "PT11.476S" } ], "latestExecutionStatus": "STARTED", "latestExecutionExitCode": "UNKNOWN", "percentageComplete": 10, "updatedCount": 1, "advisoryCount": 0 } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Apply a Line Key Template", "operationId": "applyLineKeyTemplate", "description": "Apply a Line Key Template or reset devices to their factory Line Key settings.\n\nLine Keys, also known as Programmable Line Keys (PLK), are the keys found on either side of a typical desk phone display.\nA Line Key Template is a definition of actions that will be performed by each of the Line Keys for a particular device model.\nThis API allows users to apply a line key template or apply factory default Line Key settings to devices in a set of locations or across all locations in the organization.\n\nApplying a Line Key Template or resetting devices to their default Line Key configuration requires a full administrator auth token with a scope of `spark-admin:telephony_config_write`.", "tags": [ "Device Call Settings" ], "parameters": [ { "name": "orgId", "in": "query", "description": "Apply Line Key Template for this organization.", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "example": { "action": "APPLY_TEMPLATE", "templateId": "Y2lzY29zcGFyazovL3VzL0RFVklDRV9MSU5FX0tFWV9URU1QTEFURS81NzVhMWY3Zi03MjRkLTRmZGUtODk4NC1mNjNhNDljMzYxZmQ", "locationIds": [ "Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OL2E4Mjg5NzIyLTFiODAtNDFiNy05Njc4LTBlNzdhZThjMTA5OA" ], "excludeDevicesWithCustomLayout": true, "includeDeviceTags": [ "accounting", "sales" ], "excludeDeviceTags": [ "admin" ], "advisoryTypes": { "moreSharedAppearancesEnabled": true, "fewSharedAppearancesEnabled": true, "moreMonitorAppearancesEnabled": "true", "moreCPEAppearancesEnabled": "true", "moreModeManagementAppearancesEnabled": true } }, "schema": { "$ref": "#/components/schemas/PostApplyLineKeyTemplateRequest" } } } } }, "get": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApplyLineKeyTemplateJobList" }, "example": { "items": [ { "id": "Y2lzY29zcGFyazovL3VzL0pPQl9JRC8wZTJjNmI5NC1hNDdlLTQxZGUtODE5ZS04YTcwNTZjMTc5MDk", "trackingId": "NA_a9ef6908-60cf-40e6-b56f-461abffd6fa3", "sourceUserId": "Y2lzY29zcGFyazovL3VzL1BFT1BMRS85OThhMThhYi1kZjY5LTQ5MWYtYmViZi03MzUxMGE3ODI5N2I", "sourceCustomerId": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi9hNDVkNmNkYS1hZTVhLTQwYzMtYTdhZC01NjUwZmRkZGQ1M2M", "targetCustomerId": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi9hNDVkNmNkYS1hZTVhLTQwYzMtYTdhZC01NjUwZmRkZGQ1M2M", "instanceId": 0, "jobExecutionStatus": [ { "id": 0, "startTime": "2023-07-05T21:36:53.749Z", "endTime": "2023-07-05T21:37:06.105Z", "lastUpdated": "2023-07-05T21:37:06.714Z", "statusMessage": "COMPLETED", "exitCode": "COMPLETED", "createdTime": "2023-07-05T21:36:53.551Z", "stepExecutionStatuses": [ { "id": 0, "startTime": "2023-07-05T21:36:54.601Z", "endTime": "2023-07-05T21:37:06.077Z", "lastUpdated": "2023-07-05T21:37:06.078Z", "statusMessage": "COMPLETED", "exitCode": "COMPLETED", "name": "applyphonelinekeytemplatesProcess", "timeElapsed": "PT11.476S" } ], "timeElapsed": "PT11.476S" } ], "latestExecutionStatus": "COMPLETED", "latestExecutionExitCode": "COMPLETED", "percentageComplete": 100, "updatedCount": 1, "advisoryCount": 0 } ] } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Get List of Apply Line Key Template jobs", "operationId": "getListOfApplyLineKeyTemplatesJobs", "description": "Get the list of all apply line key templates jobs in an organization.\n\nLine Keys also known as Programmable Line Keys (PLK) are the keys found on either sides of a typical desk phone display.\nA Line Key Template is a definition of actions that will be performed by each of the Line Keys for a particular device model.\nThis API allows users to retrieve all the apply line key templates jobs in an organization.\n\nRetrieving the list of apply line key templates jobs in an organization requires a full, user or read-only administrator auth token with a scope of `spark-admin:telephony_config_read`.", "tags": [ "Device Call Settings" ], "parameters": [ { "name": "orgId", "in": "query", "description": "Retrieve list of line key templates jobs in this organization.", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "schema": { "type": "string" } } ] } }, "/telephony/config/jobs/devices/applyLineKeyTemplate/{jobId}": { "get": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApplyLineKeyTemplateJobDetails" }, "example": { "name": "applyphonelinekeytemplates", "id": "Y2lzY29zcGFyazovL3VzL0pPQl9JRC8wZTJjNmI5NC1hNDdlLTQxZGUtODE5ZS04YTcwNTZjMTc5MDk", "trackingId": "NA_a9ef6908-60cf-40e6-b56f-461abffd6fa3", "sourceUserId": "Y2lzY29zcGFyazovL3VzL1BFT1BMRS85OThhMThhYi1kZjY5LTQ5MWYtYmViZi03MzUxMGE3ODI5N2I", "sourceCustomerId": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi9hNDVkNmNkYS1hZTVhLTQwYzMtYTdhZC01NjUwZmRkZGQ1M2M", "targetCustomerId": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi9hNDVkNmNkYS1hZTVhLTQwYzMtYTdhZC01NjUwZmRkZGQ1M2M", "instanceId": 0, "jobExecutionStatus": [ { "id": 0, "startTime": "2023-07-05T21:36:53.749Z", "endTime": "2023-07-05T21:37:06.105Z", "lastUpdated": "2023-07-05T21:37:06.714Z", "statusMessage": "COMPLETED", "exitCode": "COMPLETED", "createdTime": "2023-07-05T21:36:53.551Z", "stepExecutionStatuses": [ { "id": 0, "startTime": "2023-07-05T21:36:54.601Z", "endTime": "2023-07-05T21:37:06.077Z", "lastUpdated": "2023-07-05T21:37:06.078Z", "statusMessage": "COMPLETED", "exitCode": "COMPLETED", "name": "applyphonelinekeytemplatesProcess", "timeElapsed": "PT11.476S" } ], "timeElapsed": "PT11.476S" } ], "latestExecutionStatus": "COMPLETED", "latestExecutionExitCode": "COMPLETED", "percentageComplete": 100, "updatedCount": 1, "advisoryCount": 0 } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Get the job status of an Apply Line Key Template job", "operationId": "getTheJobStatusOfAnApplyLineKeyTemplateJob", "description": "Get the status of an apply line key template job by its job ID.\n\nLine Keys also known as Programmable Line Keys (PLK) are the keys found on either sides of a typical desk phone display.\nA Line Key Template is a definition of actions that will be performed by each of the Line Keys for a particular device model.\nThis API allows users to check the status of an apply line key templates job by job ID in an organization.\n\nChecking the the status of an apply line key templates job in an organization requires a full, user or read-only administrator auth token with a scope of `spark-admin:telephony_config_read`.", "tags": [ "Device Call Settings" ], "parameters": [ { "name": "jobId", "in": "path", "description": "Retrieve job status for this `jobId`.", "required": true, "example": "Y2lzY29zcGFyazovL3VzL0pPQl9JRC83ZWUyMjAzMS0xM2Q5LTRmYTctODQ0NS1lNDMzNjE3MmVjYmU", "schema": { "type": "string" } }, { "name": "orgId", "in": "query", "description": "Check a line key template job status in this organization.", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "schema": { "type": "string" } } ] } }, "/telephony/config/jobs/devices/applyLineKeyTemplate/{jobId}/errors": { "get": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApplyLineKeyTemplateJobErrors" }, "example": { "error": { "key": "500", "message": [ { "description": null, "code": "BATCH-0", "locationId": null } ] }, "trackingId": "NA_b5352f89-dee8-4eca-bb6f-edabfb175688" } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Get job errors for an Apply Line Key Template job", "operationId": "getJobErrorsForApplyLineKeyTemplateJob", "description": "GET job errors for an apply Line Key Template job in an organization.\n\nLine Keys also known as Programmable Line Keys (PLK) are the keys found on either sides of a typical desk phone display.\nA Line Key Template is a definition of actions that will be performed by each of the Line Keys for a particular device model.\nThis API allows users to retrieve all the errors of an apply line key templates job by job ID in an organization.\n\nRetrieving all the errors of an apply line key templates job in an organization requires a full, user or read-only administrator auth token with a scope of `spark-admin:telephony_config_read`.", "tags": [ "Device Call Settings" ], "parameters": [ { "name": "jobId", "in": "path", "description": "Retrieve job errors for this `jobId`.", "required": true, "example": "Y2lzY29zcGFyazovL3VzL0pPQl9JRC83ZWUyMjAzMS0xM2Q5LTRmYTctODQ0NS1lNDMzNjE3MmVjYmU", "schema": { "type": "string" } }, { "name": "orgId", "in": "query", "description": "Retrieve list of errors for an apply line key template job in this organization.", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "schema": { "type": "string" } } ] } }, "/telephony/config/devices/dects/supportedDevices": { "get": { "responses": { "200": { "description": "OK", "headers": { "Link": { "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListDectDeviceType" }, "example": { "devices": [ { "model": "DMS Cisco DBS110", "displayName": "Cisco DECT 110 Base", "numberOfBaseStations": 2, "numberOfLinePorts": 20, "numberOfRegistrationsSupported": 10 }, { "model": "DMS Cisco DBS210", "displayName": "Cisco DECT 210 Base", "numberOfBaseStations": 250, "numberOfLinePorts": 1000, "numberOfRegistrationsSupported": 30 } ] } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Read the DECT device type list - Deprecated", "operationId": "readTheDectDeviceTypeListDeprecated", "description": "
Not supported for Webex for Government (FedRAMP).
\n\n
The REST path for this API has changed to [GET /telephony/config/devices/dectNetworks/supportedDevices{?orgId}]. The use of this old REST path is deprecated and will be decommissioned on October 10, 2024. Please start using it for all future projects.
\n\nGet DECT device type list with base stations and line ports supported count. This is a static list.\n\nRetrieving this list requires a full or read-only administrator auth token with a scope of `spark-admin:telephony_config_read`.", "tags": [ "Device Call Settings" ], "parameters": [ { "name": "orgId", "in": "query", "description": "", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "schema": { "type": "string" } } ] } }, "/telephony/config/devices/dectNetworks/supportedDevices": { "get": { "responses": { "200": { "description": "OK", "headers": { "Link": { "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListDectDeviceType" }, "example": { "devices": [ { "model": "DMS Cisco DBS110", "displayName": "Cisco DECT 110 Base", "numberOfBaseStations": 2, "numberOfLinePorts": 20, "numberOfRegistrationsSupported": 10 }, { "model": "DMS Cisco DBS210", "displayName": "Cisco DECT 210 Base", "numberOfBaseStations": 250, "numberOfLinePorts": 1000, "numberOfRegistrationsSupported": 30 } ] } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Read the DECT device type list", "operationId": "readTheDectDeviceTypeList", "description": "
Not supported for Webex for Government (FedRAMP).
\n\nGet DECT device type list with base stations and line ports supported count. This is a static list.\n\nRetrieving this list requires a full or read-only administrator auth token with a scope of `spark-admin:telephony_config_read`.", "tags": [ "Device Call Settings" ], "parameters": [ { "name": "orgId", "in": "query", "description": "", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "schema": { "type": "string" } } ] } }, "/telephony/config/devices/actions/validateMacs/invoke": { "post": { "responses": { "200": { "description": "OK", "headers": { "Link": { "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MACAddressResponse" }, "example": { "status": "ERRORS", "macStatus": [ { "mac": "ab125678cdef", "state": "AVAILABLE" }, { "mac": "00005E0053B4", "state": "UNAVAILABLE", "errorCode": 5675, "message": "[Error 5675] MAC Address is in use." } ] } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Validate a list of MAC address", "operationId": "validateAListOfMACAddress", "description": "Validate a list of MAC addresses.\n\nValidating this list requires a full or read-only administrator auth token with a scope of `spark-admin:telephony_config_write`.", "tags": [ "Device Call Settings" ], "parameters": [ { "name": "orgId", "in": "query", "description": "Validate the mac address(es) for this organization.", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "example": { "macs": [ "ab125678cdef", "00005E0053B4" ] }, "schema": { "$ref": "#/components/schemas/ValidateMACRequest" } } } } } }, "/telephony/config/jobs/devices/callDeviceSettings": { "post": { "responses": { "200": { "description": "OK", "headers": { "Link": { "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StartJobResponse" }, "example": { "name": "calldevicesettings", "id": "Y2lzY29zcGFyazovL3VzL0pPQl9JRC8wMTA4NDJjMy1mNWQ5LTRjOWQtOGZiYi0yYzIxZmU4OWI0YzQ", "jobType": "calldevicesettings", "trackingId": "ROUTER_62F66055-8D70-01BB-0137-AC10A8310137", "sourceUserId": "Y2lzY29zcGFyazovL3VzL1BFT1BMRS85OThhMThhYi1kZjY5LTQ5MWYtYmViZi03MzUxMGE3ODI5N2I", "sourceCustomerId": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi9hNDVkNmNkYS1hZTVhLTQwYzMtYTdhZC01NjUwZmRkZGQ1M2M", "targetCustomerId": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi9hNDVkNmNkYS1hZTVhLTQwYzMtYTdhZC01NjUwZmRkZGQ1M2M", "instanceId": 235142, "jobExecutionStatus": [ { "id": 235842, "lastUpdated": "2022-08-12T14:15:14.591Z", "statusMessage": "STARTING", "exitCode": "UNKNOWN", "createdTime": "2022-08-12T14:15:14.591Z", "timeElapsed": "PT0S" } ], "latestExecutionStatus": "STARTING", "latestExecutionExitCode": "UNKNOWN", "locationCustomizationsEnabled": false, "target": "CUSTOMER", "locationId": "", "percentageComplete": 0 } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Change Device Settings Across Organization Or Location Job", "operationId": "changeDeviceSettingsAcrossOrganizationOrLocationJob", "description": "Change device settings across organization or locations jobs.\n\nPerforms bulk and asynchronous processing for all types of device settings initiated by organization and system admins in a stateful persistent manner. This job will modify the requested device settings across all the devices. Whenever a location ID is specified in the request, it will modify the requested device settings only for the devices that are part of the provided location within an organization.\n\nReturns a unique job ID which can then be utilized further to retrieve status and errors for the same.\n\nOnly one job per customer can be running at any given time within the same organization. An attempt to run multiple jobs at the same time will result in a 409 error response.\n\nRunning a job requires a full or read-only administrator auth token with a scope of `spark-admin:telephony_config_write`.", "tags": [ "Device Call Settings" ], "parameters": [ { "name": "orgId", "in": "query", "description": "Apply change device settings for all the devices under this organization.", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "example": { "locationId": "Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OL2E4Mjg5NzIyLTFiODAtNDFiNy05Njc4LTBlNzdhZThjMTA5OA", "locationCustomizationsEnabled": true, "customizations": { "ata": { "audioCodecPriority": { "primary": "G711a", "secondary": "G711u", "tertiary": "G729a", "selection": "REGIONAL" }, "ataDtmfMode": "NORMAL", "ataDtmfMethod": "AVT", "cdpEnabled": true, "lldpEnabled": true, "qosEnabled": true, "vlan": { "enabled": true, "value": 1 } }, "dect": { "audioCodecPriority": { "primary": "G729", "secondary": "G711u", "tertiary": "G711a", "selection": "REGIONAL" }, "cdpEnabled": true, "lldpEnabled": false, "multicast": [], "qosEnabled": true, "vlan": { "enabled": false, "value": null } }, "mpp": { "pnacEnabled": true, "audioCodecPriority": { "primary": "OPUS", "secondary": "G722", "tertiary": "G711u", "selection": "CUSTOM" }, "backlightTimer": "FIVE_M", "background": { "customUrl": "", "image": "NONE" }, "displayNameFormat": "PERSON_FIRST_THEN_LAST_NAME", "cdpEnabled": false, "dndServicesEnabled": true, "acd": { "enabled": false, "displayCallqueueAgentSoftkeys": "LAST_PAGE" }, "shortInterdigitTimer": 14, "longInterdigitTimer": 16, "lineKeyLabelFormat": "PERSON_FIRST_THEN_LAST_NAME", "lineKeyLEDPattern": "DEFAULT", "lldpEnabled": false, "mppUserWebAccessEnabled": true, "multicast": [], "enhancedMulticast": { "xmlAppUrl": "http://127.0.0.1:8080/", "multicastList": [ { "hostAndPort": "224.0.0.0:22", "hasXmlAppUrl": true, "xmlAppTimeout": 10 } ] }, "offHookTimer": 30, "phoneLanguage": "DANISH", "poeMode": "MAXIMUM", "qosEnabled": true, "screenTimeout": { "enabled": true, "value": 400 }, "usbPortsEnabled": true, "vlan": { "enabled": false, "value": 1, "pcPort": 1 }, "wifiNetwork": { "enabled": false, "authenticationMethod": "PSK", "ssidName": "test_wifi_network", "userId": "test" }, "allowMonitorLinesEnabled": false, "iceEnabled": true, "cfExpandedSoftKey": "ONLY_THE_CALL_FORWARD_ALL" } } }, "schema": { "$ref": "#/components/schemas/AdminBatchStartJobObjectLocationCustomizations" } } } } }, "get": { "responses": { "200": { "description": "OK", "headers": { "Link": { "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/JobListResponse" }, "example": { "items": [ { "id": "Y2lzY29zcGFyazovL3VzL0pPQl9JRC8wMTA4NDJjMy1mNWQ5LTRjOWQtOGZiYi0yYzIxZmU4OWI0YzQ", "jobType": "calldevicesettings", "trackingId": "ATLAS_89144033-afb5-44e8-bae8-946e84c71fa3_0", "sourceUserId": "Y2lzY29zcGFyazovL3VzL1BFT1BMRS85OThhMThhYi1kZjY5LTQ5MWYtYmViZi03MzUxMGE3ODI5N2I", "sourceCustomerId": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi9hNDVkNmNkYS1hZTVhLTQwYzMtYTdhZC01NjUwZmRkZGQ1M2M", "targetCustomerId": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi9hNDVkNmNkYS1hZTVhLTQwYzMtYTdhZC01NjUwZmRkZGQ1M2M", "instanceId": 235690, "jobExecutionStatus": [ { "id": 236410, "startTime": "2022-08-15T12:54:50.380Z", "endTime": "2022-08-15T12:55:01.833Z", "lastUpdated": "2022-08-15T12:55:02.160Z", "statusMessage": "COMPLETED", "exitCode": "COMPLETED", "createdTime": "2022-08-15T12:54:50.350Z", "stepExecutionStatuses": [ { "id": 1159389, "startTime": "2022-08-15T12:54:50.433Z", "endTime": "2022-08-15T12:55:01.826Z", "lastUpdated": "2022-08-15T12:55:01.826Z", "statusMessage": "COMPLETED", "exitCode": "COMPLETED", "name": "calldevicesettingsOverrideProcess", "timeElapsed": "PT11.393S" } ], "timeElapsed": "PT11.393S" } ], "latestExecutionStatus": "COMPLETED", "latestExecutionExitCode": "COMPLETED", "locationCustomizationsEnabled": false, "target": "CUSTOMER", "locationId": "", "percentageComplete": 100, "deviceCount": 23 } ] } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "List Change Device Settings Jobs", "operationId": "listChangeDeviceSettingsJobs", "description": "List change device settings jobs.\n\nLists all the jobs for jobType `calldevicesettings` for the given organization in order of most recent one to oldest one irrespective of its status.\n\nThis API requires a full or read-only administrator auth token with a scope of `spark-admin:telephony_config_read`.", "tags": [ "Device Call Settings" ], "parameters": [ { "name": "orgId", "in": "query", "description": "Retrieve list of 'calldevicesettings' jobs for this organization.", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "schema": { "type": "string" } }, { "name": "start", "in": "query", "description": "Start at the zero-based offset in the list of jobs. Default is 0.", "example": "0", "schema": { "type": "number" } }, { "name": "max", "in": "query", "description": "Limit the number of jobs returned to this maximum count. Default is 2000.", "example": "100", "schema": { "type": "number" } } ] } }, "/telephony/config/jobs/devices/callDeviceSettings/{jobId}": { "get": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/jobIdResponseObject" }, "example": { "name": "calldevicesettings", "id": "Y2lzY29zcGFyazovL3VzL0pPQl9JRC8wMTA4NDJjMy1mNWQ5LTRjOWQtOGZiYi0yYzIxZmU4OWI0YzQ", "jobType": "calldevicesettings", "trackingId": "ATLAS_89144033-afb5-44e8-bae8-946e84c71fa3_0", "sourceUserId": "Y2lzY29zcGFyazovL3VzL1BFT1BMRS85OThhMThhYi1kZjY5LTQ5MWYtYmViZi03MzUxMGE3ODI5N2I", "sourceCustomerId": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi9hNDVkNmNkYS1hZTVhLTQwYzMtYTdhZC01NjUwZmRkZGQ1M2M", "targetCustomerId": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi9hNDVkNmNkYS1hZTVhLTQwYzMtYTdhZC01NjUwZmRkZGQ1M2M", "instanceId": 235690, "jobExecutionStatus": [ { "id": 236410, "startTime": "2022-08-15T12:54:50.380Z", "endTime": "2022-08-15T12:55:01.833Z", "lastUpdated": "2022-08-15T12:55:02.160Z", "statusMessage": "COMPLETED", "exitCode": "COMPLETED", "createdTime": "2022-08-15T12:54:50.350Z", "stepExecutionStatuses": [ { "id": 1159389, "startTime": "2022-08-15T12:54:50.433Z", "endTime": "2022-08-15T12:55:01.826Z", "lastUpdated": "2022-08-15T12:55:01.826Z", "statusMessage": "COMPLETED", "exitCode": "COMPLETED", "name": "calldevicesettingsOverrideProcess", "timeElapsed": "PT11.393S" } ], "timeElapsed": "PT11.393S" } ], "latestExecutionStatus": "COMPLETED", "latestExecutionExitCode": "COMPLETED", "locationCustomizationsEnabled": false, "target": "CUSTOMER", "locationId": "", "percentageComplete": 100, "deviceCount": 23 } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Get Change Device Settings Job Status", "operationId": "getChangeDeviceSettingsJobStatus", "description": "Get change device settings job status.\n\nProvides details of the job with `jobId` of `jobType` `calldevicesettings`.\n\nThis API requires a full or read-only administrator auth token with a scope of `spark-admin:telephony_config_read`.", "tags": [ "Device Call Settings" ], "parameters": [ { "name": "jobId", "in": "path", "description": "Retrieve job details for this `jobId`.", "required": true, "example": "Y2lzY29zcGFyazovL3VzL0pPQl9JRC8wMTA4NDJjMy1mNWQ5LTRjOWQtOGZiYi0yYzIxZmU4OWI0YzQ", "schema": { "type": "string" } } ] } }, "/telephony/config/jobs/devices/callDeviceSettings/{jobId}/errors": { "get": { "responses": { "200": { "description": "OK", "headers": { "Link": { "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseObject" }, "example": { "items": [ { "itemNumber": 0, "error": { "key": "500", "message": [ { "description": "Unable to trigger device settings override process.", "code": null, "location": null } ] }, "trackingId": "ROUTER_62F66055-8D70-01BB-0137-AC10A8310137" } ] } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "List Change Device Settings Job Errors", "operationId": "listChangeDeviceSettingsJobErrors", "description": "List change device settings job errors.\n\nLists all error details of the job with `jobId` of `jobType` `calldevicesettings`.\n\nThis API requires a full or read-only administrator auth token with a scope of `spark-admin:telephony_config_read`.", "tags": [ "Device Call Settings" ], "parameters": [ { "name": "jobId", "in": "path", "description": "Retrieve job details for this `jobId`.", "required": true, "example": "Y2lzY29zcGFyazovL3VzL0pPQl9JRC8wMTA4NDJjMy1mNWQ5LTRjOWQtOGZiYi0yYzIxZmU4OWI0YzQ", "schema": { "type": "string" } }, { "name": "orgId", "in": "query", "description": "Retrieve list of jobs for this organization.", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "schema": { "type": "string" } }, { "name": "start", "in": "query", "description": "Specifies the offset from the first result that you want to fetch. Default is 0.", "example": "0", "schema": { "type": "number" } }, { "name": "max", "in": "query", "description": "Specifies the maximum number of records that you want to fetch. Default is 2000", "example": "100", "schema": { "type": "number" } } ] } }, "/telephony/config/devices/{deviceId}/layout": { "get": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeviceLayout" }, "example": { "layoutMode": "CUSTOM", "userReorderEnabled": "true", "lineKeys": [ { "lineKeyIndex": 1, "lineKeyType": "PRIMARY_LINE" }, { "lineKeyIndex": 2, "lineKeyType": "SPEED_DIAL", "lineKeyLabel": "Home", "lineKeyValue": "213456" } ], "kemModuleType": "KEM_14_KEYS", "kemKeys": [ { "kemModuleIndex": 1, "kemKeyIndex": 1, "kemKeyType": "CLOSED" }, { "kemModuleIndex": 1, "kemKeyIndex": 2, "kemKeyType": "SPEED_DIAL", "kemKeyLabel": "Office", "kemKeyValue": "213457" }, { "kemModuleIndex": 1, "kemKeyIndex": 3, "kemKeyType": "SHARED_LINE", "sharedLineIndex": 1 } ] } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Get Device Layout by Device ID", "operationId": "getDeviceLayoutByDeviceId", "description": "Get layout information of a device by device ID in an organization.\n\nDevice layout customizes a user’s programmable line keys (PLK) on the phone and any attached Key Expansion Modules (KEM) with the existing configured line members and the user’s monitoring list.\n\nThis API requires a full or location administrator auth token with a scope of `spark-admin:telephony_config_read`.", "tags": [ "Device Call Settings" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "Get device layout for this device ID.", "required": true, "example": "Y2lzY29zcGFyazovL3VzL0RFVklDRS8yM2VlNDM5OS1lZWYwLTRhOTQtOGZiZC0wMzM2NzhmMDU5ZjM", "schema": { "type": "string" } }, { "name": "orgId", "in": "query", "description": "Retrieve a device layout for the device in this organization.", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "schema": { "type": "string" } } ] }, "put": { "responses": { "204": { "description": "No Content", "headers": {}, "content": {} }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Modify Device Layout by Device ID", "operationId": "modifyDeviceLayoutByDeviceId", "description": "Modify the layout of a device by device ID in an organization.\n\nDevice layout customizes a user’s programmable line keys (PLK) on the phone and any attached Key Expansion Modules (KEM) with the existing configured line members and the user’s monitoring list.\n\nThis API requires a full or location administrator auth token with a scope of `spark-admin:telephony_config_write`.", "tags": [ "Device Call Settings" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "Modify device layout for this device ID.", "required": true, "example": "Y2lzY29zcGFyazovL3VzL0RFVklDRS8yM2VlNDM5OS1lZWYwLTRhOTQtOGZiZC0wMzM2NzhmMDU5ZjM/", "schema": { "type": "string" } }, { "name": "orgId", "in": "query", "description": "Modify a device layout for the device in this organization.", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "example": { "layoutMode": "CUSTOM", "userReorderEnabled": "true", "lineKeys": [ { "lineKeyIndex": 1, "lineKeyType": "PRIMARY_LINE" }, { "lineKeyIndex": 2, "lineKeyType": "SPEED_DIAL", "lineKeyLabel": "Home", "lineKeyValue": "213456" } ], "kemModuleType": "KEM_14_KEYS", "kemKeys": [ { "kemModuleIndex": 1, "kemKeyIndex": 1, "kemKeyType": "CLOSED" }, { "kemModuleIndex": 1, "kemKeyIndex": 2, "kemKeyType": "SPEED_DIAL", "kemKeyLabel": "Office", "kemKeyValue": "213457" }, { "kemModuleIndex": 1, "kemKeyIndex": 3, "kemKeyType": "SHARED_LINE", "sharedLineIndex": 1 } ] }, "schema": { "$ref": "#/components/schemas/DeviceLayout" } } } } } }, "/telephony/config/jobs/devices/rebuildPhones": { "post": { "responses": { "202": { "description": "Accepted", "headers": {}, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RebuildPhonesJob" }, "example": { "name": "rebuildphones", "id": "Y2lzY29zcGFyazovL3VzL0pPQl9JRC8wZTJjNmI5NC1hNDdlLTQxZGUtODE5ZS04YTcwNTZjMTc5MDk", "trackingId": "NA_a9ef6908-60cf-40e6-b56f-461abffd6fa3", "sourceUserId": "Y2lzY29zcGFyazovL3VzL1BFT1BMRS85OThhMThhYi1kZjY5LTQ5MWYtYmViZi03MzUxMGE3ODI5N2I", "sourceCustomerId": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi9hNDVkNmNkYS1hZTVhLTQwYzMtYTdhZC01NjUwZmRkZGQ1M2M", "targetCustomerId": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi9hNDVkNmNkYS1hZTVhLTQwYzMtYTdhZC01NjUwZmRkZGQ1M2M", "instanceId": 0, "jobExecutionStatus": [ { "id": 0, "startTime": "2023-07-05T21:36:53.749Z", "endTime": "2023-07-05T21:37:06.105Z", "lastUpdated": "2023-07-05T21:37:06.714Z", "statusMessage": "COMPLETED", "exitCode": "COMPLETED", "createdTime": "2023-07-05T21:36:53.551Z", "stepExecutionStatuses": [ { "id": 0, "startTime": "2023-07-05T21:36:54.601Z", "endTime": "2023-07-05T21:37:06.077Z", "lastUpdated": "2023-07-05T21:37:06.078Z", "statusMessage": "COMPLETED", "exitCode": "COMPLETED", "name": "rebuildphonesProcess", "timeElapsed": "PT11.476S" } ], "timeElapsed": "PT11.476S" } ], "latestExecutionStatus": "COMPLETED", "latestExecutionExitCode": "COMPLETED", "target": "LOCATION", "locationId": "Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzgwZmUxMzdkLTg5NDgtNDlhYS1iODdiLTk4MGMxN2I2YzdiYg", "percentageComplete": 100 } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Rebuild Phones Configuration", "operationId": "rebuildPhonesConfiguration", "description": "
Not supported for Webex for Government (FedRAMP)
.\n\nRebuild all phone configurations for the specified location.\n\nRebuild phones jobs are used when there is a change in the network configuration of phones in a location, i.e. a change in the network configuration of devices in a location from public to private and vice-versa.\n\nThis API requires a full administrator auth token with a scope of `spark-admin:telephony_config_write`.", "tags": [ "Device Call Settings" ], "parameters": [ { "name": "orgId", "in": "query", "description": "Rebuild phones for this organization.", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "example": { "locationId": "Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzgwZmUxMzdkLTg5NDgtNDlhYS1iODdiLTk4MGMxN2I2YzdiYg" }, "schema": { "$ref": "#/components/schemas/RebuildPhonesPostRequest" } } } } }, "get": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RebuildPhonesList" }, "example": { "items": [ { "id": "Y2lzY29zcGFyazovL3VzL0pPQl9JRC8wZTJjNmI5NC1hNDdlLTQxZGUtODE5ZS04YTcwNTZjMTc5MDk", "trackingId": "NA_a9ef6908-60cf-40e6-b56f-461abffd6fa3", "sourceUserId": "Y2lzY29zcGFyazovL3VzL1BFT1BMRS85OThhMThhYi1kZjY5LTQ5MWYtYmViZi03MzUxMGE3ODI5N2I", "sourceCustomerId": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi9hNDVkNmNkYS1hZTVhLTQwYzMtYTdhZC01NjUwZmRkZGQ1M2M", "targetCustomerId": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi9hNDVkNmNkYS1hZTVhLTQwYzMtYTdhZC01NjUwZmRkZGQ1M2M", "instanceId": 0, "jobExecutionStatus": [ { "id": 0, "startTime": "2023-07-05T21:36:53.749Z", "endTime": "2023-07-05T21:37:06.105Z", "lastUpdated": "2023-07-05T21:37:06.714Z", "statusMessage": "COMPLETED", "exitCode": "COMPLETED", "createdTime": "2023-07-05T21:36:53.551Z", "stepExecutionStatuses": [ { "id": 0, "startTime": "2023-07-05T21:36:54.601Z", "endTime": "2023-07-05T21:37:06.077Z", "lastUpdated": "2023-07-05T21:37:06.078Z", "statusMessage": "COMPLETED", "exitCode": "COMPLETED", "name": "rebuildphonesProcess", "timeElapsed": "PT11.476S" } ], "timeElapsed": "PT11.476S" } ], "latestExecutionStatus": "COMPLETED", "latestExecutionExitCode": "COMPLETED", "target": "LOCATION", "locationId": "Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzgwZmUxMzdkLTg5NDgtNDlhYS1iODdiLTk4MGMxN2I2YzdiYg", "percentageComplete": 100, "deviceCount": 10 } ] } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "List Rebuild Phones Jobs", "operationId": "listRebuildPhonesJobs", "description": "
Not supported for Webex for Government (FedRAMP)
.\n\nGet the list of all Rebuild Phones jobs in an organization.\n\nRebuild phones jobs are used when there is a change in the network configuration of phones in a location, i.e. a change in the network configuration of devices in a location from public to private and vice-versa.\n\nThis API requires a full administrator auth token with a scope of `spark-admin:telephony_config_read`.", "tags": [ "Device Call Settings" ], "parameters": [ { "name": "orgId", "in": "query", "description": "List of rebuild phones jobs in this organization.", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "schema": { "type": "string" } } ] } }, "/telephony/config/jobs/devices/rebuildPhones/{jobId}": { "get": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RebuildPhonesJob" }, "example": { "id": "Y2lzY29zcGFyazovL3VzL0pPQl9JRC8wZTJjNmI5NC1hNDdlLTQxZGUtODE5ZS04YTcwNTZjMTc5MDk", "trackingId": "NA_a9ef6908-60cf-40e6-b56f-461abffd6fa3", "sourceUserId": "Y2lzY29zcGFyazovL3VzL1BFT1BMRS85OThhMThhYi1kZjY5LTQ5MWYtYmViZi03MzUxMGE3ODI5N2I", "sourceCustomerId": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi9hNDVkNmNkYS1hZTVhLTQwYzMtYTdhZC01NjUwZmRkZGQ1M2M", "targetCustomerId": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi9hNDVkNmNkYS1hZTVhLTQwYzMtYTdhZC01NjUwZmRkZGQ1M2M", "instanceId": 0, "jobExecutionStatus": [ { "id": 0, "startTime": "2023-07-05T21:36:53.749Z", "endTime": "2023-07-05T21:37:06.105Z", "lastUpdated": "2023-07-05T21:37:06.714Z", "statusMessage": "COMPLETED", "exitCode": "COMPLETED", "createdTime": "2023-07-05T21:36:53.551Z", "stepExecutionStatuses": [ { "id": 0, "startTime": "2023-07-05T21:36:54.601Z", "endTime": "2023-07-05T21:37:06.077Z", "lastUpdated": "2023-07-05T21:37:06.078Z", "statusMessage": "COMPLETED", "exitCode": "COMPLETED", "name": "rebuildphonesProcess", "timeElapsed": "PT11.476S" } ], "timeElapsed": "PT11.476S" } ], "latestExecutionStatus": "COMPLETED", "latestExecutionExitCode": "COMPLETED", "target": "LOCATION", "locationId": "Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzgwZmUxMzdkLTg5NDgtNDlhYS1iODdiLTk4MGMxN2I2YzdiYg", "percentageComplete": 100, "deviceCount": 10 } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Get the Job Status of a Rebuild Phones Job", "operationId": "getTheJobStatusOfARebuildPhonesJob", "description": "
Not supported for Webex for Government (FedRAMP)
.\n\nGet the details of a rebuild phones job by its job ID.\n\nRebuild phones jobs are used when there is a change in the network configuration of phones in a location, i.e. a change in the network configuration of devices in a location from public to private and vice-versa.\n\nThis API requires requires a full administrator auth token with a scope of `spark-admin:telephony_config_read`.", "tags": [ "Device Call Settings" ], "parameters": [ { "name": "jobId", "in": "path", "description": "Retrieve job status for this `jobId`.", "required": true, "example": "Y2lzY29zcGFyazovL3VzL0pPQl9JRC83ZWUyMjAzMS0xM2Q5LTRmYTctODQ0NS1lNDMzNjE3MmVjYmU", "schema": { "type": "string" } }, { "name": "orgId", "in": "query", "description": "Check a rebuild phones job status in this organization.", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "schema": { "type": "string" } } ] } }, "/telephony/config/jobs/devices/rebuildPhones/{jobId}/errors": { "get": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseObject" }, "example": { "items": [ { "itemNumber": 0, "error": { "key": "500", "message": [ { "description": "Unable to trigger device settings override process.", "code": null, "location": null } ] }, "trackingId": "ROUTER_62F66055-8D70-01BB-0137-AC10A8310137" } ] } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Get Job Errors for a Rebuild Phones Job", "operationId": "getJobErrorsForARebuildPhonesJob", "description": "
Not supported for Webex for Government (FedRAMP)
.\n\nGet errors for a rebuild phones job in an organization.\n\nRebuild phones jobs are used when there is a change in the network configuration of phones in a location, i.e. a change in the network configuration of devices in a location from public to private and vice-versa.\n\nThis API requires a full administrator auth token with a scope of `spark-admin:telephony_config_read`.", "tags": [ "Device Call Settings" ], "parameters": [ { "name": "jobId", "in": "path", "description": "Retrieve job errors for this `jobId`.", "required": true, "example": "Y2lzY29zcGFyazovL3VzL0pPQl9JRC83ZWUyMjAzMS0xM2Q5LTRmYTctODQ0NS1lNDMzNjE3MmVjYmU", "schema": { "type": "string" } }, { "name": "orgId", "in": "query", "description": "Retrieve list of errors for a rebuild phones job in this organization.", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "schema": { "type": "string" } } ] } }, "/telephony/config/people/{personId}/devices/settings": { "get": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "type": "object", "required": [ "compression" ], "properties": { "compression": { "$ref": "#/components/schemas/Compression", "description": "Toggles compression ON and OFF." } } }, "example": { "compression": "ON" } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Get Device Settings for a Person", "operationId": "getDeviceSettingsForAPerson", "description": "Device settings list the compression settings for a person.\n\nDevice settings customize a device's behavior and performance. The compression field optimizes call quality for inbound and outbound calls.\n\nThis API requires a full, location, user, or read-only administrator auth token with a scope of `spark-admin:telephony_config_read`.", "tags": [ "Device Call Settings" ], "parameters": [ { "name": "personId", "in": "path", "description": "ID of the person for whom to retrieve device settings.", "required": true, "example": "Y2lzY29zcGFyazovL3VzL1BFT1BMRS80MDM2ZWI2NC1iNDliLTQ1ZTUtOTM1ZS1hYmQ2NGUwNjc2ZmI", "schema": { "type": "string" } }, { "name": "orgId", "in": "query", "description": "Retrieves the device settings for a person in this organization.", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi9jNzJmNWM3My02OGJlLTRlNTctODNjYS00NjBiMWMzNzBkMmE", "schema": { "type": "string" } } ] }, "put": { "responses": { "204": { "description": "No Content", "headers": {}, "content": {} }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Update Device Settings for a Person", "operationId": "updateDeviceSettingsForAPerson", "description": "Update device settings modifies the compression settings for a person.\n\nDevice settings customize a device's behavior and performance. The compression field optimizes call quality for inbound and outbound calls.\n\nThis API requires a full, location, or user administrator auth token with a scope of `spark-admin:telephony_config_write`.", "tags": [ "Device Call Settings" ], "parameters": [ { "name": "personId", "in": "path", "description": "ID of the person for whom to update device settings.", "required": true, "example": "Y2lzY29zcGFyazovL3VzL1BFT1BMRS80MDM2ZWI2NC1iNDliLTQ1ZTUtOTM1ZS1hYmQ2NGUwNjc2ZmI", "schema": { "type": "string" } }, { "name": "orgId", "in": "query", "description": "Modify device settings for a person in this organization.", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi9jNzJmNWM3My02OGJlLTRlNTctODNjYS00NjBiMWMzNzBkMmE", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "example": { "compression": "ON" }, "schema": { "type": "object", "required": [ "compression" ], "properties": { "compression": { "$ref": "#/components/schemas/Compression", "description": "Toggles compression ON and OFF." } } } } } } } }, "/telephony/config/workspaces/{workspaceId}/devices/settings": { "get": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "type": "object", "required": [ "compression" ], "properties": { "compression": { "$ref": "#/components/schemas/Compression", "description": "Toggles compression ON and OFF." } } }, "example": { "compression": "ON" } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Get Device Settings for a Workspace", "operationId": "getDeviceSettingsForAWorkspace", "description": "Device settings list the compression settings for a workspace.\n\nDevice settings customize a device's behavior and performance. The compression field optimizes call quality for inbound and outbound calls.\n\nThis API requires a full, location, user, or read-only administrator auth token with a scope of `spark-admin:telephony_config_read`.", "tags": [ "Device Call Settings" ], "parameters": [ { "name": "workspaceId", "in": "path", "description": "ID of the workspace for which to retrieve device settings.", "required": true, "example": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWdvdi13ZXN0LTFfYTEvUExBQ0UvYTA4MTEyOWMtMTExYi00NTEyLWI1OGItZTdjODY0ZGZlMzY0", "schema": { "type": "string" } }, { "name": "orgId", "in": "query", "description": "Retrieves the device settings for a workspace in this organization.", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi9jNzJmNWM3My02OGJlLTRlNTctODNjYS00NjBiMWMzNzBkMmE", "schema": { "type": "string" } } ] }, "put": { "responses": { "204": { "description": "No Content", "headers": {}, "content": {} }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Update Device Settings for a Workspace", "operationId": "updateDeviceSettingsForAWorkspace", "description": "Update device settings modifies the compression settings for a workspace.\n\nDevice settings customize a device's behavior and performance. The compression field optimizes call quality for inbound and outbound calls.\n\nThis API requires a full, location, or user administrator auth token with a scope of `spark-admin:telephony_config_write`.", "tags": [ "Device Call Settings" ], "parameters": [ { "name": "workspaceId", "in": "path", "description": "ID of the workspace for which to update device settings.", "required": true, "example": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWdvdi13ZXN0LTFfYTEvUExBQ0UvYTA4MTEyOWMtMTExYi00NTEyLWI1OGItZTdjODY0ZGZlMzY0", "schema": { "type": "string" } }, { "name": "orgId", "in": "query", "description": "Modify the device settings for a workspace in this organization.", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi9jNzJmNWM3My02OGJlLTRlNTctODNjYS00NjBiMWMzNzBkMmE", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "example": { "compression": "ON" }, "schema": { "type": "object", "required": [ "compression" ], "properties": { "compression": { "$ref": "#/components/schemas/Compression", "description": "Toggles compression ON and OFF." } } } } } } } }, "/telephony/config/devices/backgroundImages": { "get": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "type": "object", "required": [ "backgroundImages" ], "properties": { "backgroundImages": { "type": "array", "items": { "$ref": "#/components/schemas/listBackgroundImagesObject" }, "description": "Array of background images." }, "count": { "type": "string", "example": "2", "description": "The total number of images in the org." } } }, "example": { "backgroundImages": [ { "backgroundImageUrl": "/dms/Cisco_Phone_Background/background001", "fileName": "CompanyLogoBlue" }, { "backgroundImageUrl": "/dms/Cisco_Phone_Background/background002", "fileName": "CompanyLogoRed" } ], "count": 2 } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Read the List of Background Images", "operationId": "readTheListOfBackgroundImages", "description": "Gets the list of device background images for an organization.\n\nWebex Calling supports the upload of up to 100 background image files for each org. These image files can then be referenced by MPP phones in that org for use as their background image.\n\nRetrieving this list requires a full, device, or read-only administrator auth token with a scope of `spark-admin:telephony_config_read`.", "tags": [ "Device Call Settings" ], "parameters": [ { "name": "orgId", "in": "query", "description": "Retrieves the list of images in this organization.", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "schema": { "type": "string" } } ] }, "delete": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "type": "object", "required": [ "items" ], "properties": { "items": { "type": "array", "items": { "$ref": "#/components/schemas/deleteImageResponseSuccessObject" }, "description": "Array of deleted images." }, "count": { "type": "string", "example": "2", "description": "The total number of images in the org after deletion." } } }, "example": { "items": [ { "fileName": "CompanyLogoBlue", "result": { "status": 200 } } ], "count": 2 } } } }, "206": { "description": "Partial Content", "headers": {}, "content": { "application/json": { "schema": { "type": "object", "required": [ "items" ], "properties": { "items": { "type": "array", "items": { "$ref": "#/components/schemas/deleteImageResponseObject" }, "description": "Array of deleted images." }, "count": { "type": "string", "example": "2", "description": "The total number of images in the org after deletion." } } }, "example": { "items": [ { "fileName": "CompanyLogoBlue", "result": { "status": 200 } }, { "fileName": "CompanyLogoRed", "result": { "status": 400, "error": { "message": "The image could not be deleted.", "errorCode": 4305 } } } ], "count": 2 } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Delete Device Background Images", "operationId": "deleteDeviceBackgroundImages", "description": "Delete the list of designated device background images for an organization. Maximum is 10 images per request.\n\nDeleting a device background image requires a full or device administrator auth token with a scope of `spark-admin:telephony_config_write`.", "tags": [ "Device Call Settings" ], "parameters": [ { "name": "orgId", "in": "query", "description": "Deletes the list of images in this organization.", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "example": { "backgroundImages": [ { "fileName": "CompanyLogoBlue", "forceDelete": true } ] }, "schema": { "type": "object", "required": [ "backgroundImages" ], "properties": { "backgroundImages": { "type": "array", "items": { "$ref": "#/components/schemas/deleteImageRequestObject" }, "description": "Array of images to be deleted." } } } } } } } }, "/telephony/config/devices/{deviceId}/actions/backgroundImageUpload/invoke": { "post": { "responses": { "201": { "description": "Created", "headers": {}, "content": { "application/json": { "schema": { "type": "object", "properties": { "filename": { "type": "string", "example": "CompanyLogoBlue", "description": "The name of the uploaded image file." }, "backgroundImageUrl": { "type": "string", "example": "\"/dms/Cisco_Phone_Background/background001\"", "description": "The URL of the uploaded image file." }, "count": { "type": "string", "example": "2", "description": "The total number of images in the org after uploading." } } }, "example": { "filename": "CompanyLogoBlue", "backgroundImageUrl": "\"/dms/Cisco_Phone_Background/background001\"", "count": "2" } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Upload a Device Background Image", "operationId": "uploadADeviceBackgroundImage", "description": "Configure a device's background image by uploading an image with file format, `.jpeg` or `.png`, encoded image file. Maximum image file size allowed to upload is 625 KB.\n\nThe request must be a multipart/form-data request rather than JSON, using the image/jpeg or image/png content-type.\n\nWebex Calling supports the upload of up to 100 background image files for each org. These image files can then be referenced by MPP phones in that org for use as their background image.\n\nUploading a device background image requires a full or device administrator auth token with a scope of `spark-admin:telephony_config_write`.\n\n**WARNING:** This API is not callable using the developer portal web interface due to the lack of support for multipart POST. This API can be utilized using other tools that support multipart POST, such as Postman.", "tags": [ "Device Call Settings" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "Unique identifier for the device.", "required": true, "example": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMV9pbnQxMy9DQUxMSU5HX0RFVklDRS8zMDAyZWJiZi1iMTVmLTQ1ODktYWNiZS1kZjY3OTA3MTU5NWE=", "schema": { "type": "string" } }, { "name": "orgId", "in": "query", "description": "Uploads the image in this organization.", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "multipart/form-data": { "schema": { "type": "object", "required": [ "file", "fileName" ], "properties": { "file": { "type": "string", "format": "binary", "description": "The image file to upload. Must be in `.jpeg` or `.png` format. Maximum file size is 625 KB." }, "fileName": { "type": "string", "description": "The name of the image file being uploaded.", "example": "CompanyLogoBlue.png" } } } } } } } }, "/telephony/config/people/{personId}/devices/count": { "get": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/userDeviceCount" }, "example": { "totalDeviceCount": 3, "applicationsCount": 4 } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Get User Devices Count", "operationId": "getUserDevicesCount", "description": "Get the total device and application count for a person.\n\nThe device count can be used to determine if more devices can be added for users with a device count limit. For example, users with standard calling licenses can only have one physical device.\n\nThis requires a full or read-only administrator or location administrator auth token with a scope of `spark-admin:telephony_config_read`.", "tags": [ "Device Call Settings" ], "parameters": [ { "name": "personId", "in": "path", "description": "Person for whom to retrieve the device count.", "required": true, "example": "Y2lzY29zcGFyazovL3VzL1BFUlNPTi8wMDAwNWUwMC01M2I0LTQwYzMtYTdhZC01NjUwZmRkZGQ1M2M", "schema": { "type": "string" } }, { "name": "orgId", "in": "query", "description": "Organization to which the person belongs.", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "schema": { "type": "string" } } ] } }, "/telephony/config/devices/dynamicSettings/validationSchema": { "get": { "responses": { "200": { "description": "OK.", "headers": {}, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeviceDynamicSettingsValidationSchemaGet" }, "example": { "tags": [ { "familyOrModelDisplayName": "Poly", "tag": "%G711U_ORDER%", "friendlyName": "voice.codecPref.G711Mu", "tooltip": "Tag tooltip.", "level": [ "location", "device" ], "validationRule": { "type": "int", "min": 0, "max": 10, "increment": 1 } }, { "familyOrModelDisplayName": "Poly", "tag": "%G722_ORDER%", "friendlyName": "voice.codecPref.G722", "tooltip": "Tag tooltip.", "level": [ "location", "device" ], "validationRule": { "type": "int", "min": 0, "max": 10, "increment": 1 } }, { "familyOrModelDisplayName": "Poly", "tag": "%ENABLE_BLUETOOTH%", "friendlyName": "feature.bluetooth.enabled", "tooltip": "Tag tooltip.", "level": [ "organization", "location", "device" ], "validationRule": { "type": "boolean", "values": [ "1", "0" ] } }, { "familyOrModelDisplayName": "Poly", "tag": "%DO_BLUETOOTH_DEVICE_NAME%", "friendlyName": "bluetooth.device.name", "tooltip": "Tag tooltip.", "alert": "Alert text.", "level": [ "organization", "location", "device" ], "validationRule": { "type": "string", "regex": "[A-Za-z0-9]+", "maxLength": 255 } }, { "familyOrModelDisplayName": "Poly", "tag": "%DO_UI_MENU_BACKGROUND%", "friendlyName": "ui.menu.background", "tooltip": "Tag tooltip.", "level": [ "organization", "location", "device" ], "validationRule": { "type": "string", "regex": "#[0-9A-F][0-9A-F][0-9A-F][0-9A-F][0-9A-F][0-9A-F]", "maxLength": 7, "validationHint": "#RRGGBB" } }, { "familyOrModelDisplayName": "Poly", "tag": "%UP_BACKLIGHT_IDLE_INTENSITY%", "friendlyName": "up.backlight.idleIntensity", "tooltip": "Tag tooltip.", "level": [ "organization", "location", "device" ], "validationRule": { "type": "enum", "values": [ "0", "1", "2", "3" ] } } ] } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "operationId": "getValidationSchema", "summary": "Get Validation Schema", "description": "This API returns the validation schema for `tags` of all or specific `familyOrModelDisplayName`.\n\nThe schema is used to validate the `tag` for devices in the `Webex Calling` platform. The schema includes information about the required fields, data types, and validation rules for each setting.", "parameters": [ { "name": "orgId", "in": "query", "description": "Validation schema for devices in this organization.", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "schema": { "type": "string" } }, { "name": "familyOrModelDisplayName", "in": "query", "description": "Device family or model display name to filter the schema.", "example": "Poly", "schema": { "type": "string" } } ], "tags": [ "Beta Device Call Settings With Dynamic Device Settings" ] } }, "/telephony/config/devices/dynamicSettings/settingsGroups": { "get": { "responses": { "200": { "description": "OK.", "headers": {}, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeviceDynamicSettingsSettingsGroupsGet" }, "example": { "settingsGroups": [ { "path": "Voice.Codec Preferences", "friendlyName": "voice.codecPref.G711Mu", "tab": "Poly", "familyOrModelDisplayName": "Poly", "tags": [ { "tagBlock": [ "%G711U_ORDER%" ] } ] }, { "path": "Feature.Bluetooth", "friendlyName": "feature.bluetooth.enabled", "tab": "Poly", "familyOrModelDisplayName": "Poly", "tags": [ { "tagBlock": [ "%ENABLE_BLUETOOTH%" ] } ] }, { "path": "User Interface.Menu", "friendlyName": "ui.menu.background", "tab": "Poly", "familyOrModelDisplayName": "Poly", "tags": [ { "tagBlock": [ "%DO_UI_MENU_BACKGROUND%" ] } ] } ], "settingsTabs": [ "Poly", "MPP" ] } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "operationId": "getSettingsGroups", "summary": "Get Settings Groups", "description": "This API returns the `settingsGroups` that define the structure and association of tags for device dynamic settings.\n\n The `settingsGroups` are used to organize the tags into logical groups, making it easier to manage and configure device dynamic settings.", "parameters": [ { "name": "orgId", "in": "query", "description": "Settings groups for devices in this organization.", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "schema": { "type": "string" } }, { "name": "familyOrModelDisplayName", "in": "query", "description": "Device family or model display name to filter the `settingsGroups`.", "example": "Poly", "schema": { "type": "string" } }, { "name": "includeSettingsType", "in": "query", "description": "To show groups or tabs or both. Query param is case insensitive. Default is `ALL`.", "example": "ALL", "schema": { "type": "string", "enum": [ "TABS", "GROUPS", "ALL" ] } } ], "tags": [ "Device Call Settings With Device Dynamic Settings" ] } }, "/telephony/config/lists/devices/dynamicSettings/actions/getSettings/invoke": { "post": { "responses": { "200": { "description": "OK.", "headers": {}, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CustomerDeviceDynamicSettingsListPostResponse" }, "example": { "tags": [ { "familyOrModelDisplayName": "Poly", "tag": "%DO_MENU_ITEM_BACKGROUND%", "value": "#RRGGBB", "parentValue": "#FFFFFF", "parentLevel": "ORGANIZATION" }, { "familyOrModelDisplayName": "Poly", "tag": "%ENABLE_BLUETOOTH%", "value": "1", "parentValue": "0", "parentLevel": "SYSTEM_DEFAULT" }, { "familyOrModelDisplayName": "Poly", "tag": "%DO_MENU_TITLE_BACKGROUND%", "value": "#1A1A1A", "parentValue": "#FFFFFF", "parentLevel": "REGIONAL_DEFAULT" } ], "lastUpdateTime": 1651396800000, "updateInProgress": false } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "operationId": "getCustomerDeviceDynamicSettings", "summary": "Get Customer Device Dynamic Settings", "description": "Retrieve dynamic settings for specific device tags at customer level, allowing filters by `familyOrModelDisplayName` and `tag` identifier.\n\nThis API lets you request the values of multiple `Device Settings` at once by specifying a list of `familyOrModelDisplayName` and tag combinations.\n\nThis requires a full, device, or read-only administrator auth token with a scope of `spark-admin:telephony_config_read`.", "parameters": [ { "name": "orgId", "in": "query", "description": "List of device dynamic settings in this organization.", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "schema": { "type": "string" } }, { "name": "familyOrModelDisplayName", "in": "query", "required": true, "description": "The family or model name for the device. If no tag is specified, all tags related to `familyOrModelDisplayName` are returned.", "example": "Poly", "schema": { "type": "string", "minLength": 1, "maxLength": 40 } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CustomerDeviceDynamicSettingsListPostRequest" }, "example": { "tags": [ "%DO_MENU_ITEM_BACKGROUND%", "%ENABLE_BLUETOOTH%", "%DO_MENU_TITLE_BACKGROUND%" ] } } }, "description": "Request body containing the list of device tags to retrieve settings for.", "required": false }, "tags": [ "Device Call Settings With Device Dynamic Settings" ] } }, "/telephony/config/lists/locations/{locationId}/devices/dynamicSettings/actions/getSettings/invoke": { "post": { "responses": { "200": { "description": "OK.", "headers": {}, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LocationDeviceDynamicSettingsListPostResponse" }, "example": { "tags": [ { "familyOrModelDisplayName": "Poly", "tag": "%G711U_ORDER%", "value": "4", "parentValue": "3", "parentLevel": "ORGANIZATION" }, { "familyOrModelDisplayName": "Poly", "tag": "%ENABLE_BLUETOOTH%", "value": "1", "parentValue": "0", "parentLevel": "SYSTEM_DEFAULT" }, { "familyOrModelDisplayName": "Poly", "tag": "%DO_UI_MENU_BACKGROUND%", "value": "#1A1A1A", "parentValue": "#FFFFFF", "parentLevel": "LOCATION" } ], "lastUpdateTime": 1651396800000, "updateInProgress": false } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "operationId": "getLocationDeviceDynamicSettings", "summary": "Get Location Device Dynamic Settings", "description": "Retrieve dynamic settings for specific device tags at the specified location level, allowing filters by `familyOrModelDisplayName` and `tag` identifier.\n\nThis API lets you request the values of multiple `Device Settings` at once by specifying a list of `familyOrModelDisplayName` and tag combinations for a specific location.\n\nThis requires a full, device, or read-only administrator auth token with a scope of `spark-admin:telephony_config_read`.", "parameters": [ { "name": "locationId", "in": "path", "required": true, "description": "Unique identifier for the `location`.", "example": "Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzMzZjBlZDFiLWQ1YjctNGI4Mi1iMzIzLTg4ZTFmODMzNGNmMw", "schema": { "type": "string" } }, { "name": "orgId", "in": "query", "description": "Unique identifier for the `organization` to which this location belongs.", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "schema": { "type": "string" } }, { "name": "familyOrModelDisplayName", "in": "query", "required": true, "description": "The family or model name for the device. If no tag is specified, all tags related to `familyOrModelDisplayName` are returned.", "example": "Poly", "schema": { "type": "string", "minLength": 1, "maxLength": 40 } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LocationDeviceDynamicSettingsListPostRequest" }, "example": { "tags": [ "%G711U_ORDER%", "%ENABLE_BLUETOOTH%", "%DO_UI_MENU_BACKGROUND%" ] } } }, "description": "Request body containing the list of device tags to retrieve settings for.", "required": false }, "tags": [ "Device Call Settings With Device Dynamic Settings" ] } }, "/telephony/config/lists/devices/{deviceId}/dynamicSettings/actions/getSettings/invoke": { "post": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeviceDynamicSettingsListPostResponse" }, "example": { "tags": [ { "familyOrModelDisplayName": "Poly", "tag": "%G711U_ORDER%", "value": "4", "parentValue": "3", "parentLevel": "ORGANIZATION" }, { "familyOrModelDisplayName": "Poly", "tag": "%ENABLE_BLUETOOTH%", "parentValue": "0", "parentLevel": "SYSTEM_DEFAULT" }, { "familyOrModelDisplayName": "Poly", "tag": "%DO_UI_MENU_BACKGROUND%", "value": "#1A1A1A", "parentValue": "#FFFFFF", "parentLevel": "LOCATION" } ], "lastUpdateTime": 1651396800000 } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "operationId": "getDeviceDynamicSettings", "summary": "Get Device Dynamic Settings", "description": "Retrieve settings for a specified device.\n\nThis API retrieves device settings based on the specified `tags`; if the `tags` field is empty or missing, all settings for the device are returned.\n\nThis requires a full, device, or read-only administrator auth token with a scope of `spark-admin:telephony_config_read`.", "parameters": [ { "name": "deviceId", "in": "path", "required": true, "description": "Device for which to retrieve settings.", "example": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMV9pbnQxMy9DQUxMSU5HX0RFVklDRS8zMDAyZWJiZi1iMTVmLTQ1ODktYWNiZS1kZjY3OTA3MTU5NWE=", "schema": { "type": "string" } }, { "name": "orgId", "in": "query", "description": "Organization to which the `device` belongs.", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeviceDynamicSettingsListPostRequest" }, "example": { "tags": [ "%G711U_ORDER%", "%ENABLE_BLUETOOTH%", "%DO_UI_MENU_BACKGROUND%" ] } } }, "description": "Request body containing the list of device tags to retrieve settings for.", "required": true }, "tags": [ "Device Call Settings With Device Dynamic Settings" ] } }, "/telephony/config/devices/{deviceId}/dynamicSettings": { "put": { "responses": { "204": { "description": "No Content", "headers": {}, "content": {} }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "operationId": "updateSpecifiedSettingsForTheDevice", "summary": "Update Device Dynamic Settings", "description": "Modify dynamic settings for a specified device.\n\nThis API updates device settings based on the specified `tags`. If the `tags` field is empty, the request has no effect.\n\nThis requires a full, device, or read-only administrator auth token with a scope of `spark-admin:telephony_config_write`.", "parameters": [ { "name": "deviceId", "in": "path", "required": true, "description": "Device for which to update settings.", "example": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMV9pbnQxMy9DQUxMSU5HX0RFVklDRS8zMDAyZWJiZi1iMTVmLTQ1ODktYWNiZS1kZjY3OTA3MTU5NWE=", "schema": { "type": "string" } }, { "name": "orgId", "in": "query", "description": "Organization to which the device belongs.", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeviceDynamicSettingsPutRequest" }, "example": { "tags": [ { "action": "CLEAR", "tag": "%G711A_ORDER%" }, { "action": "SET", "tag": "%ENABLE_BLUETOOTH%", "value": "0" } ] } } }, "description": "Request body containing the list of device tags for which the values will be updated.", "required": true }, "tags": [ "Device Call Settings With Device Dynamic Settings" ] } }, "/telephony/config/jobs/devices/dynamicDeviceSettings": { "post": { "responses": { "202": { "description": "Accepted", "headers": {}, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PostDynamicDeviceSettingsJobResponse" }, "example": { "name": "dynamicdevicesettings", "id": "Y2lzY29zcGFyazovL3VzL0pPQl9JRC8wZTJjNmI5NC1hNDdlLTQxZGUtODE5ZS04YTcwNTZjMTc5MDk", "trackingId": "NA_a9ef6908-60cf-40e6-b56f-461abffd6fa3", "sourceUserId": "Y2lzY29zcGFyazovL3VzL1BFT1BMRS85OThhMThhYi1kZjY5LTQ5MWYtYmViZi03MzUxMGE3ODI5N2I", "sourceCustomerId": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi9hNDVkNmNkYS1hZTVhLTQwYzMtYTdhZC01NjUwZmRkZGQ1M2M", "targetCustomerId": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi9hNDVkNmNkYS1hZTVhLTQwYzMtYTdhZC01NjUwZmRkZGQ1M2M", "instanceId": 0, "jobExecutionStatus": [ { "id": 0, "startTime": "2025-05-13T10:59:44.106Z", "lastUpdated": "2025-05-13T10:59:44.106Z", "statusMessage": "STARTED", "exitCode": "UNKNOWN", "createdTime": "2025-05-13T10:50:01.352Z", "timeElapsed": "PT11.476S" } ], "latestExecutionStatus": "STARTED", "latestExecutionExitCode": "UNKNOWN", "target": "CUSTOMER", "locationId": "", "percentageComplete": 0 } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Update Device Dynamic Settings Across Organization or Location", "operationId": "updatesDynamicDeviceSettingsAcrossOrganizationOrLocation", "description": "Creates a job to update device settings at location or organization level.\n\nThe job runs asynchronously and persistently, applying the requested settings in bulk to all relevant devices, which may belong to multiple families as specified in the request. If a `locationId` is provided, only devices in that location are affected.\n\nA unique job ID is returned to track status and errors.\n\nOnly one job can run per customer per organization at a time. Additionally, this job cannot run in parallel with other device jobs such as [Call device settings](/docs/api/v1/device-call-settings/change-device-settings-across-organization-or-location-job) and [Rebuild Phones](/docs/api/v1/device-call-settings/rebuild-phones-configuration).\n\nRunning a job requires a full administrator auth token with a scope of `spark-admin:telephony_config_write`.", "tags": [ "Device Call Settings With Device Dynamic Settings" ], "parameters": [ { "name": "orgId", "in": "query", "description": "Apply update device dynamic settings for all the devices under this organization.", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "example": { "locationId": "", "tags": [ { "familyOrModelDisplayName": "Poly", "tag": "%DO_MENU_TITLE_BACKGROUND%", "action": "CLEAR" }, { "familyOrModelDisplayName": "Poly", "tag": "%ENABLE_BLUETOOTH%", "action": "SET", "value": "1" } ] }, "schema": { "$ref": "#/components/schemas/PostDynamicSettingsUpdateStartJobRequest" } } }, "required": true } }, "get": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DynamicDeviceSettingsJobListResponse" }, "example": { "items": [ { "name": "dynamicdevicesettings", "id": "Y2lzY29zcGFyazovL3VzL0pPQl9JRC8wZTJjNmI5NC1hNDdlLTQxZGUtODE5ZS04YTcwNTZjMTc5MDk", "trackingId": "NA_a9ef6908-60cf-40e6-b56f-461abffd6fa3", "sourceUserId": "Y2lzY29zcGFyazovL3VzL1BFT1BMRS85OThhMThhYi1kZjY5LTQ5MWYtYmViZi03MzUxMGE3ODI5N2I", "sourceCustomerId": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi9hNDVkNmNkYS1hZTVhLTQwYzMtYTdhZC01NjUwZmRkZGQ1M2M", "targetCustomerId": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi9hNDVkNmNkYS1hZTVhLTQwYzMtYTdhZC01NjUwZmRkZGQ1M2M", "instanceId": 0, "jobExecutionStatus": [ { "id": 0, "startTime": "2023-07-05T21:36:53.749Z", "endTime": "2023-07-05T21:37:06.105Z", "lastUpdated": "2023-07-05T21:37:06.714Z", "statusMessage": "COMPLETED", "exitCode": "COMPLETED", "createdTime": "2023-07-05T21:36:53.551Z", "stepExecutionStatuses": [ { "id": 0, "startTime": "2023-07-05T21:36:54.601Z", "endTime": "2023-07-05T21:37:06.077Z", "lastUpdated": "2023-07-05T21:37:06.078Z", "statusMessage": "COMPLETED", "exitCode": "COMPLETED", "name": "dynamicdevicesettingsUpdate", "timeElapsed": "PT11.476S" } ], "timeElapsed": "PT11.476S" } ], "latestExecutionStatus": "COMPLETED", "latestExecutionExitCode": "COMPLETED", "target": "LOCATION", "locationId": "Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzgwZmUxMzdkLTg5NDgtNDlhYS1iODdiLTk4MGMxN2I2YzdiYg", "percentageComplete": 100 } ] } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "List Device Dynamic Settings Jobs", "operationId": "listDynamicDeviceSettingsJobs", "description": "List device dynamic settings jobs.\n\nLists all the jobs for job type `dynamicdevicesettings` for the given organization in order of most recent one to oldest one irrespective of its status.\n\nThis API requires a full or read-only administrator auth token with a scope of `spark-admin:telephony_config_read`.", "tags": [ "Device Call Settings With Device Dynamic Settings" ], "parameters": [ { "name": "orgId", "in": "query", "description": "Retrieve list of device dynamic settings jobs for this organization.", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "schema": { "type": "string" } }, { "name": "start", "in": "query", "description": "Start at the zero-based offset in the list of jobs. Default is 0.", "example": 0, "schema": { "type": "number" } }, { "name": "max", "in": "query", "description": "Limit the number of jobs returned to this maximum count. Default is 2000.", "example": 100, "schema": { "type": "number" } } ] } }, "/telephony/config/jobs/devices/dynamicDeviceSettings/{jobId}": { "get": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PostDynamicDeviceSettingsJobResponse" }, "example": { "name": "dynamicdevicesettings", "id": "Y2lzY29zcGFyazovL3VzL0pPQl9JRC8wMTA4NDJjMy1mNWQ5LTRjOWQtOGZiYi0yYzIxZmU4OWI0YzQ", "trackingId": "ATLAS_89144033-afb5-44e8-bae8-946e84c71fa3_0", "sourceUserId": "Y2lzY29zcGFyazovL3VzL1BFT1BMRS85OThhMThhYi1kZjY5LTQ5MWYtYmViZi03MzUxMGE3ODI5N2I", "sourceCustomerId": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi9hNDVkNmNkYS1hZTVhLTQwYzMtYTdhZC01NjUwZmRkZGQ1M2M", "targetCustomerId": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi9hNDVkNmNkYS1hZTVhLTQwYzMtYTdhZC01NjUwZmRkZGQ1M2M", "instanceId": 235690, "jobExecutionStatus": [ { "id": 236410, "startTime": "2022-08-15T12:54:50.380Z", "endTime": "2022-08-15T12:55:01.833Z", "lastUpdated": "2022-08-15T12:55:02.160Z", "statusMessage": "COMPLETED", "exitCode": "COMPLETED", "createdTime": "2022-08-15T12:54:50.350Z", "stepExecutionStatuses": [ { "id": 1159389, "startTime": "2022-08-15T12:54:50.433Z", "endTime": "2022-08-15T12:55:01.826Z", "lastUpdated": "2022-08-15T12:55:01.826Z", "statusMessage": "COMPLETED", "exitCode": "COMPLETED", "name": "dynamicdevicesettingsUpdate", "timeElapsed": "PT11.393S" } ], "timeElapsed": "PT11.393S" } ], "latestExecutionStatus": "COMPLETED", "latestExecutionExitCode": "COMPLETED", "target": "CUSTOMER", "locationId": "", "percentageComplete": 100 } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Get Device Dynamic Settings Job Status", "operationId": "getDeviceDynamicSettingsJobStatus", "description": "Get device dynamic settings job status.\n\nProvides details of the job with `jobId` of `jobType` `dynamicdevicesettings`.\n\nThis API requires a full or read-only administrator auth token with a scope of `spark-admin:telephony_config_read`.", "tags": [ "Device Call Settings With Device Dynamic Settings" ], "parameters": [ { "name": "jobId", "in": "path", "description": "Retrieve job details for this `jobId`.", "required": true, "example": "Y2lzY29zcGFyazovL3VzL0pPQl9JRC8wMTA4NDJjMy1mNWQ5LTRjOWQtOGZiYi0yYzIxZmU4OWI0YzQ", "schema": { "type": "string" } } ] } }, "/telephony/config/jobs/devices/dynamicDeviceSettings/{jobId}/errors": { "get": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseObject" }, "example": { "items": [ { "itemNumber": 0, "error": { "key": "error.key", "message": [ { "description": "Error description", "code": "1001", "locationId": "Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzMzZjBlZDFiLWQ1YjctNGI4Mi1iMzIzLTg4ZTFmODMzNGNmMw" } ] }, "trackingId": "ROUTER_62F66055-8D70-01BB-0137-AC10A8310137" } ] } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "List Device Dynamic Settings Job Errors", "operationId": "listDynamicDeviceSettingsJobErrors", "description": "List Update device dynamic settings job errors.\n\nLists all error details of the job with `jobId` of `jobType` `dynamicdevicesettings`.\n\nThis API requires a full or read-only administrator auth token with a scope of `spark-admin:telephony_config_read`.", "tags": [ "Device Call Settings With Device Dynamic Settings" ], "parameters": [ { "name": "jobId", "in": "path", "description": "Retrieve job details for this `jobId`.", "required": true, "example": "Y2lzY29zcGFyazovL3VzL0pPQl9JRC8wMTA4NDJjMy1mNWQ5LTRjOWQtOGZiYi0yYzIxZmU4OWI0YzQ", "schema": { "type": "string" } }, { "name": "orgId", "in": "query", "description": "Retrieve the status of job for this organization.", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "schema": { "type": "string" } }, { "name": "start", "in": "query", "description": "Specifies the offset from the first result that you want to fetch. Default is 0.", "example": 0, "schema": { "type": "number" } }, { "name": "max", "in": "query", "description": "Specifies the maximum number of records that you want to fetch. Default is 2000", "example": 100, "schema": { "type": "number" } } ] } }, "/deviceConfigurations": { "get": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeviceConfigurationCollectionResponse" }, "example": { "deviceId": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMl9hL0RFVklDRS9hNmYwYjhkMi01ZjdkLTQzZDItODAyNi0zM2JkNDg3NjYzMTg=", "items": { "Audio.Ultrasound.MaxVolume": { "value": 70, "source": "default", "sources": { "default": { "value": 70, "editability": { "editable": false, "reason": "FACTORY_DEFAULT" } }, "configured": { "value": null, "editability": { "editable": true } } }, "valueSpace": { "type": "integer", "maximum": 100, "minimum": 0 } }, "FacilityService.Service[1].Name": { "value": "Live Support", "source": "default", "sources": { "default": { "value": "Live Support", "editability": { "editable": false, "reason": "FACTORY_DEFAULT" } }, "configured": { "value": null, "editability": { "editable": true } } }, "valueSpace": { "type": "string", "maxLength": 1024, "minLength": 0 } }, "Conference.MaxReceiveCallRate": { "value": 786, "source": "configured", "sources": { "default": { "value": 6000, "editability": { "editable": false, "reason": "FACTORY_DEFAULT" } }, "configured": { "value": 786, "editability": { "editable": true } } }, "valueSpace": { "type": "integer", "maximum": 6000, "minimum": 64 } }, "Video.Output.Connector[2].Resolution": { "value": "Auto", "source": "default", "sources": { "default": { "value": "Auto", "editability": { "editable": false, "reason": "FACTORY_DEFAULT" } }, "configured": { "value": null, "editability": { "editable": false, "reason": "CONFIG_MANAGED_BY_DIFFERENT_AUTHORITY" } } }, "valueSpace": { "enum": [ "1920_1080_50", "1920_1080_60", "1920_1200_50", "1920_1200_60", "2560_1440_60", "3840_2160_30", "3840_2160_60", "Auto" ], "type": "string" } } } } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "List Device Configurations for device", "operationId": "List Device Configurations for device", "description": "Lists all device configurations associated with the given device ID. Administrators can list configurations for all devices within an organization.", "tags": [ "Device Configurations" ], "parameters": [ { "name": "deviceId", "in": "query", "description": "List device configurations by device ID.", "required": true, "example": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMl9hL0RFVklDRS9hNmYwYjhkMi01ZjdkLTQzZDItODAyNi0zM2JkNDg3NjYzMTg=", "schema": { "type": "string" } }, { "name": "key", "in": "query", "description": "This can optionally be used to filter configurations. Keys are composed of segments. It's possible to use absolute paths, wildcards or ranges.\n\n- **Absolute** gives only one configuration as a result. `Conference.MaxReceiveCallRate` for example gives the Conference `MaxReceiveCallRate` configuration.\n\n+ **Wildcards** (\\*) can specify multiple configurations with shared segments. `Audio.Ultrasound.*` for example will filter on all Audio Ultrasound configurations.\n\n- **Range** ([_number_]) can be used to filter numbered segments. `FacilityService.Service[1].Name` for instance only shows the first `FacilityService` Service Name configuration, `FacilityService.Service[*].Name` shows all, `FacilityService.Service[1..3].Name` shows the first three and `FacilityService.Service[2..n].Name` shows all starting at 2. Note that [RFC 3986 3.2.2](https://www.ietf.org/rfc/rfc3986.html#section-3.2.2) does not allow square brackets in urls outside the host, so to specify range in a configuration key you will need to encode them to %5B for [ and %5D for ].", "schema": { "type": "string" } } ] }, "patch": { "responses": { "201": { "description": "Created", "headers": {}, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeviceConfigurationCollectionResponse" }, "example": { "deviceId": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMl9hL0RFVklDRS9hNmYwYjhkMi01ZjdkLTQzZDItODAyNi0zM2JkNDg3NjYzMTg=", "items": { "Audio.Ultrasound.MaxVolume": { "value": 50, "source": "configured", "sources": { "default": { "value": 70, "editability": { "isEditable": false, "reason": "FACTORY_DEFAULT" } }, "configured": { "value": 50, "editability": { "isEditable": true } } }, "valueSpace": { "type": "integer", "maximum": 100, "minimum": 0 } }, "FacilityService.Service[1].Name": { "value": "Live Support", "source": "default", "sources": { "default": { "value": "Live Support", "editability": { "isEditable": false, "reason": "FACTORY_DEFAULT" } }, "configured": { "value": null, "editability": { "isEditable": true } } }, "valueSpace": { "type": "string", "maxLength": 1024, "minLength": 0 } }, "Conference.MaxReceiveCallRate": { "value": 6000, "source": "default", "sources": { "default": { "value": 6000, "editability": { "isEditable": false, "reason": "FACTORY_DEFAULT" } }, "configured": { "value": null, "editability": { "isEditable": true } } }, "valueSpace": { "type": "integer", "maximum": 6000, "minimum": 64 } }, "Video.Output.Connector[2].Resolution": { "value": "Auto", "source": "default", "sources": { "default": { "value": "Auto", "editability": { "isEditable": false, "reason": "FACTORY_DEFAULT" } }, "configured": { "value": null, "editability": { "isEditable": false, "reason": "CONFIG_MANAGED_BY_DIFFERENT_AUTHORITY" } } }, "valueSpace": { "enum": [ "1920_1080_50", "1920_1080_60", "1920_1200_50", "1920_1200_60", "2560_1440_60", "3840_2160_30", "3840_2160_60", "Auto" ], "type": "string" } } } } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Update Device Configurations", "operationId": "Update Device Configurations", "description": "Edit configurations for the device specified by device ID.", "tags": [ "Device Configurations" ], "parameters": [ { "name": "deviceId", "in": "query", "description": "Update device configurations by device ID.", "required": true, "example": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMl9hL0RFVklDRS9hNmYwYjhkMi01ZjdkLTQzZDItODAyNi0zM2JkNDg3NjYzMTg=", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json-patch+json": { "example": [ { "op": "replace", "path": "Audio.Ultrasound.MaxVolume/sources/configured/value", "value": 50 }, { "op": "remove", "path": "Conference.MaxReceiveCallRate/sources/configured/value" } ], "schema": { "type": "object", "properties": { "op": { "type": "string", "enum": [ "remove", "replace" ], "description": " * `remove` - Remove the configured value and revert back to the default from schema, if present.\n * `replace` - Set the configured value.\n" }, "path": { "type": "string", "example": "Audio.Ultrasound.MaxVolume/sources/configured/value", "description": "Only paths ending in `/sources/configured/value` are supported." } } } } } } } }, "/devices": { "get": { "responses": { "200": { "description": "OK", "headers": { "Link": { "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeviceCollectionResponse" }, "example": { "items": [ { "id": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMV9pbnQxMy9ERVZJQ0UvNTEwMUIwN0ItNEY4Ri00RUY3LUI1NjUtREIxOUM3QjcyM0Y3", "callingDeviceId": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMV9pbnQxMy9DQUxMSU5HX0RFVklDRS81MTAxQjA3Qi00RjhGLTRFRjctQjU2NS1EQjE5QzdCNzIzRjc=", "webexDeviceId": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMV9pbnQxMy9ERVZJQ0UvNTEwMUIwN0ItNEY4Ri00RUY3LUI1NjUtREIxOUM3QjcyM0Y3", "displayName": "SFO12-3-PanHandle", "placeId": "Y2lzY29zcGFyazovL3VzL1BFT1BMRS83MTZlOWQxYy1jYTQ0LTRmZWQtOGZjYS05ZGY0YjRmNDE3ZjU", "workspaceId": "Y2lzY29zcGFyazovL3VzL1BFT1BMRS83MTZlOWQxYy1jYTQ0LTRmZWQtOGZjYS05ZGY0YjRmNDE3ZjU", "personId": "Y2lzY29zcGFyazovL3VzL1BFT1BMRS83MTZlOWQxYy1jYTQ0LTRmZWQtOGZjYS05ZGY0YjRmNDE3ZjU", "orgId": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "capabilities": [ "xapi" ], "permissions": [ "xapi:readonly" ], "connectionStatus": "connected", "product": "Cisco Webex DX80", "type": "roomdesk", "tags": [ "First Tag", "Second Tag" ], "ip": "100.110.120.130", "activeInterface": "wired", "mac": "11:22:33:44:AA:FF", "primarySipUrl": "sample_device@sample_workspacename.orgname.org", "sipUrls": [ "sample_device@sample_workspacename.orgname.org", "another_device@sample_workspacename.orgname.org" ], "serial": "FOC1923NVVN", "software": "RoomOS 2018-06-01 608dcdbb6e1", "upgradeChannel": "beta", "created": "2016-04-21T17:00:00.000Z", "locationId": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "workspaceLocationId": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "errorCodes": [ "sipprofileregistration" ], "firstSeen": "2021-02-24T09:08:38.822Z", "lastSeen": "2023-08-15T14:04:00.444Z", "managedBy": "CISCO", "devicePlatform": "cisco", "plannedMaintenance": "off" } ] } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "List Devices", "operationId": "List Devices", "description": "Lists all active Webex devices associated with the authenticated user, such as devices activated in personal mode. This requires the `spark:devices_read` scope. Administrators can list all devices within their organization. This requires an administrator auth token with the `spark-admin:devices_read` scope.", "tags": [ "Devices" ], "parameters": [ { "name": "max", "in": "query", "description": "Limit the maximum number of devices in the response.", "example": "100", "schema": { "type": "number" } }, { "name": "start", "in": "query", "description": "\nOffset. Default is 0.\n", "schema": { "type": "number" } }, { "name": "displayName", "in": "query", "description": "\nList devices with this display name.\n", "example": "SFO12-3-PanHandle", "schema": { "type": "string" } }, { "name": "personId", "in": "query", "description": "\nList devices by person ID.\n", "example": "Y2lzY29zcGFyazovL3VzL1BFT1BMRS83MTZlOWQxYy1jYTQ0LTRmZWQtOGZjYS05ZGY0YjRmNDE3ZjU", "schema": { "type": "string" } }, { "name": "workspaceId", "in": "query", "description": "\nList devices by workspace ID.\n", "example": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMV9pbnQxMy9QTEFDRS81MTAxQjA3Qi00RjhGLTRFRjctQjU2NS1EQjE5QzdCNzIzRjc=", "schema": { "type": "string" } }, { "name": "orgId", "in": "query", "description": "\nList devices in this organization. Only admin users of another organization (such as partners) may use this parameter.\n", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "schema": { "type": "string" } }, { "name": "connectionStatus", "in": "query", "description": "\nList devices with this connection status.\n", "schema": { "type": "string" } }, { "name": "product", "in": "query", "description": "\nList devices with this product name.\n", "schema": { "type": "string", "enum": [ "DX-80", "RoomKit", "SX-80" ] } }, { "name": "type", "in": "query", "description": "\nList devices with this type.\n", "schema": { "type": "string", "enum": [ "roomdesk", "phone", "accessory", "webexgo", "unknown" ] } }, { "name": "serial", "in": "query", "description": "\nList devices with this serial number.\n", "schema": { "type": "string" } }, { "name": "tag", "in": "query", "description": "\nList devices which have a tag. Searching for multiple tags (logical AND) can be done by comma separating the `tag` values or adding several `tag` parameters.\n", "schema": { "type": "string" } }, { "name": "software", "in": "query", "description": "\nList devices with this software version.\n", "schema": { "type": "string" } }, { "name": "upgradeChannel", "in": "query", "description": "\nList devices with this upgrade channel.\n", "schema": { "type": "string" } }, { "name": "errorCode", "in": "query", "description": "\nList devices with this error code.\n", "schema": { "type": "string" } }, { "name": "capability", "in": "query", "description": "\nList devices with this capability.\n", "example": "xapi", "schema": { "type": "string", "enum": [ "xapi" ] } }, { "name": "permission", "in": "query", "description": "\nList devices with this permission.\n", "schema": { "type": "string" } }, { "name": "locationId", "in": "query", "description": "\nList devices by location ID.\n", "example": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMV9pbnQxMy9QTEFDRS81MTAxQjA3Qi00RjhGLTRFRjctQjU2NS1EQjE5QzdCNzIzRjc=", "schema": { "type": "string" } }, { "name": "workspaceLocationId", "in": "query", "description": "\nList devices by workspace location ID. Deprecated, prefer `locationId`.\n", "example": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMV9pbnQxMy9QTEFDRS81MTAxQjA3Qi00RjhGLTRFRjctQjU2NS1EQjE5QzdCNzIzRjc=", "schema": { "type": "string" } }, { "name": "mac", "in": "query", "description": "\nList devices with this MAC address.\n", "schema": { "type": "string" } }, { "name": "devicePlatform", "in": "query", "description": "\nList devices with this device platform.\n", "example": "cisco", "schema": { "type": "string", "enum": [ "cisco", "microsoftTeamsRoom" ] } }, { "name": "plannedMaintenance", "in": "query", "description": "\nList devices with this planned maintenance.\n", "example": "off", "schema": { "type": "string", "enum": [ "off", "on", "upcoming" ] } } ] }, "post": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Device" }, "example": { "id": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMV9pbnQxMy9ERVZJQ0UvNTEwMUIwN0ItNEY4Ri00RUY3LUI1NjUtREIxOUM3QjcyM0Y3", "callingDeviceId": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMV9pbnQxMy9DQUxMSU5HX0RFVklDRS81MTAxQjA3Qi00RjhGLTRFRjctQjU2NS1EQjE5QzdCNzIzRjc=", "webexDeviceId": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMV9pbnQxMy9ERVZJQ0UvNTEwMUIwN0ItNEY4Ri00RUY3LUI1NjUtREIxOUM3QjcyM0Y3", "displayName": "SFO12-3-PanHandle", "placeId": "Y2lzY29zcGFyazovL3VzL1BFT1BMRS83MTZlOWQxYy1jYTQ0LTRmZWQtOGZjYS05ZGY0YjRmNDE3ZjU", "workspaceId": "Y2lzY29zcGFyazovL3VzL1BFT1BMRS83MTZlOWQxYy1jYTQ0LTRmZWQtOGZjYS05ZGY0YjRmNDE3ZjU", "personId": "Y2lzY29zcGFyazovL3VzL1BFT1BMRS83MTZlOWQxYy1jYTQ0LTRmZWQtOGZjYS05ZGY0YjRmNDE3ZjU", "orgId": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "capabilities": [ "xapi" ], "permissions": [ "xapi:readonly" ], "connectionStatus": "connected", "product": "Cisco Webex DX80", "type": "roomdesk", "tags": [ "First Tag", "Second Tag" ], "ip": "100.110.120.130", "activeInterface": "wired", "mac": "11:22:33:44:AA:FF", "primarySipUrl": "sample_device@sample_workspacename.orgname.org", "sipUrls": [ "sample_device@sample_workspacename.orgname.org", "another_device@sample_workspacename.orgname.org" ], "serial": "FOC1923NVVN", "software": "RoomOS 2018-06-01 608dcdbb6e1", "upgradeChannel": "beta", "created": "2016-04-21T17:00:00.000Z", "locationId": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "workspaceLocationId": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "errorCodes": [ "sipprofileregistration" ], "firstSeen": "2021-02-24T09:08:38.822Z", "lastSeen": "2023-08-15T14:04:00.444Z", "managedBy": "CISCO", "devicePlatform": "cisco" } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Create a Device by MAC Address", "operationId": "Create a Device by MAC Address", "description": "Create a phone by its MAC address in a specific workspace or for a person.\n\nSpecify the `mac`, `model` and either `workspaceId` or `personId`.\n\n* You can get the `model` from the [supported devices](/docs/api/v1/device-call-settings/read-the-list-of-supported-devices) API.\n\n* Either `workspaceId` or `personId` should be provided. If both are supplied, the request will be invalid.\n\n* The `password` field is only required for third party devices. You can obtain the required third party phone configuration from [here](/docs/api/v1/beta-device-call-settings-with-third-party-device-support/get-third-party-device).\n\n
Adding a device to a person with a Webex Calling Standard license will disable Webex Calling across their Webex mobile, tablet, desktop, and browser applications.

When adding devices to a Webex Calling Professional licensed person or workspace, wait for each API call to finish before starting the next. This prevents race conditions that can cause errors when assigning primary versus secondary device status.
", "tags": [ "Devices" ], "parameters": [ { "name": "orgId", "in": "query", "description": "The organization associated with the device. If left empty, the organization associated with the caller will be used.", "example": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLXdlc3QtMl9yL09SR0FOSVpBVElPTi9mN2I3MzYwYy1lMDcxLTQwN2EtYTU1Ny04NDI4YmIyMjhlODQ", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "example": { "mac": "D82E3EEF4E5C", "model": "DMS Cisco 8865", "workspaceId": "Y2lzY29zcGFyazovL3VzL1BFT1BMRS83MTZlOWQxYy1jYTQ0LTRmZWQtOGZjYS05ZGY0YjRmNDE3ZjU" }, "schema": { "type": "object", "required": [ "mac", "model" ], "properties": { "mac": { "type": "string", "example": "54A3152300C8", "description": "The MAC address of the device being created." }, "model": { "type": "string", "example": "DMS Cisco 8865", "description": "The model of the device being created. The corresponding device model display name sometimes called the product name, can also be used to specify the model." }, "workspaceId": { "type": "string", "example": "Y2lzY29zcGFyazovL3VzL1BFT1BMRS83MTZlOWQxYy1jYTQ0LTRmZWQtOGZjYS05ZGY0YjRmNDE3ZjU", "description": "The ID of the workspace where the device will be created." }, "personId": { "type": "string", "example": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMV9pbnQxMy9QRU9QTEUvNTAzYmRhODAtOTM4NS00NmQ1LWIzMzAtMGU2NzIyMjQ5MTNh", "description": "The ID of the person who will own the device once created." }, "password": { "type": "string", "example": "TestPassword123&", "description": "SIP password to be configured for the phone, only required with third party devices." } } } } } } } }, "/devices/{deviceId}": { "get": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Device" }, "example": { "id": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMV9pbnQxMy9ERVZJQ0UvNTEwMUIwN0ItNEY4Ri00RUY3LUI1NjUtREIxOUM3QjcyM0Y3", "callingDeviceId": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMV9pbnQxMy9DQUxMSU5HX0RFVklDRS81MTAxQjA3Qi00RjhGLTRFRjctQjU2NS1EQjE5QzdCNzIzRjc=", "webexDeviceId": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMV9pbnQxMy9ERVZJQ0UvNTEwMUIwN0ItNEY4Ri00RUY3LUI1NjUtREIxOUM3QjcyM0Y3", "displayName": "SFO12-3-PanHandle", "placeId": "Y2lzY29zcGFyazovL3VzL1BFT1BMRS83MTZlOWQxYy1jYTQ0LTRmZWQtOGZjYS05ZGY0YjRmNDE3ZjU", "workspaceId": "Y2lzY29zcGFyazovL3VzL1BFT1BMRS83MTZlOWQxYy1jYTQ0LTRmZWQtOGZjYS05ZGY0YjRmNDE3ZjU", "personId": "Y2lzY29zcGFyazovL3VzL1BFT1BMRS83MTZlOWQxYy1jYTQ0LTRmZWQtOGZjYS05ZGY0YjRmNDE3ZjU", "orgId": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "capabilities": [ "xapi" ], "permissions": [ "xapi:readonly" ], "connectionStatus": "connected", "product": "Cisco Webex DX80", "type": "roomdesk", "tags": [ "First Tag", "Second Tag" ], "ip": "100.110.120.130", "activeInterface": "wired", "mac": "11:22:33:44:AA:FF", "primarySipUrl": "sample_device@sample_workspacename.orgname.org", "sipUrls": [ "sample_device@sample_workspacename.orgname.org", "another_device@sample_workspacename.orgname.org" ], "serial": "FOC1923NVVN", "software": "RoomOS 2018-06-01 608dcdbb6e1", "upgradeChannel": "beta", "created": "2016-04-21T17:00:00.000Z", "locationId": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "workspaceLocationId": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "errorCodes": [ "sipprofileregistration" ], "firstSeen": "2021-02-24T09:08:38.822Z", "lastSeen": "2023-08-15T14:04:00.444Z", "managedBy": "CISCO", "devicePlatform": "cisco", "plannedMaintenance": "off" } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Get Device Details", "operationId": "getDeviceDetails", "description": "Shows details for a device, by ID. This requires an auth token with the `spark:devices_read` scope to see your own device, or `spark-admin:devices_read` to see any other device in your organization.\n\nSpecify the device ID in the `deviceId` parameter in the URI.", "tags": [ "Devices" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "\nA unique identifier for the device.\n", "required": true, "example": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMV9pbnQxMy9ERVZJQ0UvNTEwMUIwN0ItNEY4Ri00RUY3LUI1NjUtREIxOUM3QjcyM0Y3", "schema": { "type": "string" } }, { "name": "orgId", "in": "query", "description": "The organization associated with the device. If left empty, the organization associated with the caller will be used.", "example": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLXdlc3QtMl9yL09SR0FOSVpBVElPTi9mN2I3MzYwYy1lMDcxLTQwN2EtYTU1Ny04NDI4YmIyMjhlODQ", "schema": { "type": "string" } } ] }, "delete": { "responses": { "204": { "description": "No Content", "headers": {}, "content": {} }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Delete a Device", "operationId": "Delete a Device", "description": "Deletes a device, by ID. Deleting your own device requires an auth token with the `spark:devices_write` scope. Deleting any other device in the organization will require an administrator auth token with the `spark-admin:devices_write` scope.\n\nSpecify the device ID in the `deviceId` parameter in the URI.\n\n
Deleting a device from a person with a Webex Calling Standard license will enable Webex Calling across their Webex mobile, tablet, desktop, and browser applications.
", "tags": [ "Devices" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "A unique identifier for the device.", "required": true, "example": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMV9pbnQxMy9ERVZJQ0UvNTEwMUIwN0ItNEY4Ri00RUY3LUI1NjUtREIxOUM3QjcyM0Y3", "schema": { "type": "string" } }, { "name": "orgId", "in": "query", "description": "The organization associated with the device. If left empty, the organization associated with the caller will be used.", "example": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLXdlc3QtMl9yL09SR0FOSVpBVElPTi9mN2I3MzYwYy1lMDcxLTQwN2EtYTU1Ny04NDI4YmIyMjhlODQ", "schema": { "type": "string" } } ] }, "patch": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Device" }, "example": { "id": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMV9pbnQxMy9ERVZJQ0UvNTEwMUIwN0ItNEY4Ri00RUY3LUI1NjUtREIxOUM3QjcyM0Y3", "callingDeviceId": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMV9pbnQxMy9DQUxMSU5HX0RFVklDRS81MTAxQjA3Qi00RjhGLTRFRjctQjU2NS1EQjE5QzdCNzIzRjc=", "webexDeviceId": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMV9pbnQxMy9ERVZJQ0UvNTEwMUIwN0ItNEY4Ri00RUY3LUI1NjUtREIxOUM3QjcyM0Y3", "displayName": "SFO12-3-PanHandle", "placeId": "Y2lzY29zcGFyazovL3VzL1BFT1BMRS83MTZlOWQxYy1jYTQ0LTRmZWQtOGZjYS05ZGY0YjRmNDE3ZjU", "workspaceId": "Y2lzY29zcGFyazovL3VzL1BFT1BMRS83MTZlOWQxYy1jYTQ0LTRmZWQtOGZjYS05ZGY0YjRmNDE3ZjU", "personId": "Y2lzY29zcGFyazovL3VzL1BFT1BMRS83MTZlOWQxYy1jYTQ0LTRmZWQtOGZjYS05ZGY0YjRmNDE3ZjU", "orgId": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "capabilities": [ "xapi" ], "permissions": [ "xapi:readonly" ], "connectionStatus": "connected", "product": "Cisco Webex DX80", "type": "roomdesk", "tags": [ "First Tag", "Second Tag" ], "ip": "100.110.120.130", "activeInterface": "wired", "mac": "11:22:33:44:AA:FF", "primarySipUrl": "sample_device@sample_workspacename.orgname.org", "sipUrls": [ "sample_device@sample_workspacename.orgname.org", "another_device@sample_workspacename.orgname.org" ], "serial": "FOC1923NVVN", "software": "RoomOS 2018-06-01 608dcdbb6e1", "upgradeChannel": "beta", "created": "2016-04-21T17:00:00.000Z", "locationId": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "workspaceLocationId": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "errorCodes": [ "sipprofileregistration" ], "firstSeen": "2021-02-24T09:08:38.822Z", "lastSeen": "2023-08-15T14:04:00.444Z", "managedBy": "CISCO", "devicePlatform": "cisco" } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Modify Device Tags", "operationId": "Modify Device Tags", "description": "Create, delete or update tags on a device. For your own device, this requires an auth token with the `spark:devices_write` scope. An auth token with the `spark-admin:devices_write` scope is required to operate on other devices within the organization.\n\nSpecify the device ID in the `deviceId` parameter in the URI.\n\nInclude only the tag array in the request body, no other device attributes can be changed. This action will overwrite any previous tags. A common approach is to first [GET the devices's details](/docs/api/v1/devices/get-device-details), make changes to the `tags` array, and then PATCH the new complete array with this endpoint.", "tags": [ "Devices" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "Unique identifier for the device.", "required": true, "example": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMV9pbnQxMy9ERVZJQ0UvNTEwMUIwN0ItNEY4Ri00RUY3LUI1NjUtREIxOUM3QjcyM0Y3", "schema": { "type": "string" } }, { "name": "orgId", "in": "query", "description": "The organization associated with the device. If left empty, the organization associated with the caller will be used.", "example": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLXdlc3QtMl9yL09SR0FOSVpBVElPTi9mN2I3MzYwYy1lMDcxLTQwN2EtYTU1Ny04NDI4YmIyMjhlODQ", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json-patch+json": { "example": [ { "op": "replace", "path": "tags", "value": [ "First Tag", "Second Tag" ] } ], "schema": { "type": "object", "properties": { "op": { "type": "string", "enum": [ "add", "remove", "replace" ], "description": " * `add` - Add all specified tags to the existing device tags list.\n * `remove` - Remove all tags that the device currently has.\n * `replace` - Replace the tags currently on the device with the specified list.\n" }, "path": { "type": "string", "example": "tags", "description": "Only the tags path is supported to patch." }, "value": { "type": "array", "items": { "type": "string", "example": "First Tag,Second Tag" } } } } } } } } }, "/devices/activationCode": { "post": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ActivationCode" }, "example": { "code": "5414011256173816", "expiryTime": "2017-11-16T23:38:03.215Z" } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Create a Device Activation Code", "operationId": "Create a Device Activation Code", "description": "Generate an activation code for a device in a specific workspace by `workspaceId` or for a person by `personId`. This requires an auth token with the `spark-admin:devices_write` scope, and either `identity:placeonetimepassword_create` (allows creating activation codes for workspaces only) or `identity:one_time_password` (allows creating activation codes for workspaces or persons).\n\n* Adding a device to a workspace with calling type `none` or `thirdPartySipCalling` will reset the workspace calling type to `freeCalling`.\n\n* Either `workspaceId` or `personId` should be provided. If both are supplied, the request will be invalid.\n\n* If no `model` is supplied, the `code` returned will only be accepted on RoomOS devices.\n\n* If your device is a phone, you must provide the `model` as a field. You can get the `model` from the [supported devices](/docs/api/v1/device-call-settings/read-the-list-of-supported-devices) API.\n\n
Adding a device to a person with a Webex Calling Standard license will disable Webex Calling across their Webex mobile, tablet, desktop, and browser applications.

When adding devices to a Webex Calling Professional licensed person or workspace, wait for each API call to finish before starting the next. This prevents race conditions that can cause errors when assigning primary versus secondary device status.
", "tags": [ "Devices" ], "parameters": [ { "name": "orgId", "in": "query", "description": "The organization associated with the activation code generated. If left empty, the organization associated with the caller will be used.", "example": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLXdlc3QtMl9yL09SR0FOSVpBVElPTi9mN2I3MzYwYy1lMDcxLTQwN2EtYTU1Ny04NDI4YmIyMjhlODQ", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "example": { "workspaceId": "Y2lzY29zcGFyazovL3VzL1BFT1BMRS83MTZlOWQxYy1jYTQ0LTRmZWQtOGZjYS05ZGY0YjRmNDE3ZjU", "model": "DMS Cisco 8865" }, "schema": { "type": "object", "properties": { "workspaceId": { "type": "string", "example": "Y2lzY29zcGFyazovL3VzL1BFT1BMRS83MTZlOWQxYy1jYTQ0LTRmZWQtOGZjYS05ZGY0YjRmNDE3ZjU", "description": "The ID of the workspace where the device will be activated." }, "personId": { "type": "string", "example": "Y2lzY29zcGFyazovL3VzL1BFT1BMRS83MTZlOWQxYy1jYTQ0LTRmZWQtOGZjYS05ZGY0YjRmNDE3ZjU", "description": "The ID of the person who will own the device once activated." }, "model": { "type": "string", "example": "DMS Cisco 8865", "description": "The model of the device being created. The corresponding device model display name sometimes called the product name, can also be used to specify the model." } } } } } } } }, "/hotdesk/sessions": { "get": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HotDeskSessionsResponse" }, "example": { "items": [ { "sessionId": "Y2lzY29...", "workspaceId": "YL34EmB...", "personId": "YL34EmA...", "bookingStartTime": "2024-08-29T12:00:00Z", "bookingEndTime": "2024-08-29T20:00:00Z" } ] } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "List Sessions", "operationId": "List Sessions", "description": "List hot desk sessions.\n\nUse query parameters to filter the response.\nThe `orgId` parameter is for use by partner administrators acting on a managed organization.\nThe `personId` and `workspaceId` parameters are optional and are used to filter the response to only include sessions for a specific person or workspace.\nWhen used together they are used as an AND filter.", "tags": [ "Hot Desk" ], "parameters": [ { "name": "orgId", "in": "query", "description": "List sessions in this organization. Only admin users of another organization (such as partners) may use this parameter.", "example": "Y2lzY29...", "schema": { "type": "string" } }, { "name": "personId", "in": "query", "description": "List sessions for this person.", "example": "YL34EmA...", "schema": { "type": "string" } }, { "name": "workspaceId", "in": "query", "description": "List sessions for this workspace.", "example": "YL34EmB...", "schema": { "type": "string" } } ] } }, "/hotdesk/sessions/{sessionId}": { "delete": { "responses": { "204": { "description": "No Content", "headers": {}, "content": {} }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Delete Session", "operationId": "Delete Session", "description": "Delete a hot desk session.", "tags": [ "Hot Desk" ], "parameters": [ { "name": "sessionId", "in": "path", "description": "The unique identifier for the hot desk session.", "required": true, "example": "Y2lzY29zcGFyazovL3VzL0hEU0VTU0lPTi9lZTY1NDQ5OC00OGU5LTQxMTItOWYxMi1lZmJiYTJkOTE4ZWV8MjAyNC0wNS0xMVQxMDowMDowMFo=", "schema": { "type": "string" } } ] } }, "/locations": { "get": { "responses": { "200": { "description": "OK", "headers": { "Link": { "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LocationsCollectionResponse" }, "example": { "items": [ { "id": "Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OL2M5N2VlMDQ5LTM1OWItNGM3OC04NDU0LTA1OGMyZWRlMjU2Mw", "name": "Denver", "orgId": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi9hNDVkNmNkYS1hZTVhLTQwYzMtYTdhZC01NjUwZmRkZGQ1M2M", "address": { "address1": "123 Some St.", "address2": "Suite 456", "city": "Supercity", "state": "Goodstate", "postalCode": "12345", "country": "US" }, "timeZone": "America/Chicago", "preferredLanguage": "en_us", "latitude": "12.935784", "longitude": "77.697332", "notes": "Suite 456 Denver location" } ] } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "List Locations", "operationId": "listLocations", "description": "List locations for an organization.\n\n* Use query parameters to filter the result set by location name, ID, or organization.\n\n* Long result sets will be split into [pages](/docs/basics#pagination).\n\n* Searching and viewing locations in your organization requires an administrator or location administrator auth token with any of the following scopes: `spark-admin:locations_read`, `spark-admin:people_read` or `spark-admin:device_read`.", "tags": [ "Locations" ], "parameters": [ { "name": "name", "in": "query", "description": "List locations whose name contains this string (case-insensitive).", "example": "Denver", "schema": { "type": "string" } }, { "name": "id", "in": "query", "description": "List locations by ID.", "example": "Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OL2M5N2VlMDQ5LTM1OWItNGM3OC04NDU0LTA1OGMyZWRlMjU2Mw", "schema": { "type": "string" } }, { "name": "orgId", "in": "query", "description": "List locations in this organization. Only admin users of another organization (such as partners) may use this parameter.", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "schema": { "type": "string" } }, { "name": "max", "in": "query", "description": "Limit the maximum number of location in the response.", "example": 100, "schema": { "type": "number", "default": 500 } } ] }, "post": { "responses": { "201": { "description": "Created", "headers": {}, "content": { "application/json": { "schema": { "type": "object", "required": [ "id" ], "properties": { "id": { "type": "string", "example": "Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzljYTNhZmQ3LTE5MjYtNGQ0ZS05ZDA3LTk5ZDJjMGU4OGFhMA", "description": "ID of the newly created location." } } }, "example": { "id": "Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzljYTNhZmQ3LTE5MjYtNGQ0ZS05ZDA3LTk5ZDJjMGU4OGFhMA" } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Create a Location", "operationId": "createLocation", "description": "Create a new Location for a given organization. Only an admin in the organization can create a new Location.\n\n* Creating a location in your organization requires a full administrator auth token with a scope of `spark-admin:locations_write`.\n\n* Partners may specify `orgId` query parameter to create location in managed organization.\n\n* The following body parameters are required to create a new location: \n * `name`\n * `timeZone`\n * `preferredLanguage`\n * `address`\n * `announcementLanguage`.\n\n* `latitude`, `longitude` and `notes` are optional parameters to create a new location.\n\n* **Important:** While the `name` field supports up to 256 characters, locations that will be enabled for Webex Calling must have names with a maximum of 80 characters. If you plan to enable calling for this location, ensure the name does not exceed 80 characters to maintain compatibility with Control Hub and calling features.", "tags": [ "Locations" ], "parameters": [ { "name": "orgId", "in": "query", "description": "Create a location common attribute for this organization.", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "example": { "name": "Denver", "timeZone": "America/Chicago", "announcementLanguage": "fr_fr", "preferredLanguage": "en_us", "address": { "address1": "123 Some St.", "address2": "Suite 456", "city": "Supercity", "state": "Goodstate", "postalCode": "12345", "country": "US" }, "latitude": "12.935784", "longitude": "77.697332", "notes": "123 Some St. Denver location" }, "schema": { "$ref": "#/components/schemas/PostCommonLocationObject" } } } } } }, "/locations/{locationId}": { "get": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Location" }, "example": { "id": "Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OL2M5N2VlMDQ5LTM1OWItNGM3OC04NDU0LTA1OGMyZWRlMjU2Mw", "name": "Denver", "orgId": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi9hNDVkNmNkYS1hZTVhLTQwYzMtYTdhZC01NjUwZmRkZGQ1M2M", "address": { "address1": "123 Some St.", "city": "San Jose", "state": "CA", "postalCode": "95134", "country": "US" }, "timeZone": "America/Chicago", "latitude": "12.935784", "longitude": "77.697332", "notes": "123 Some St. Denver location" } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Get Location Details", "operationId": "getLocationDetails", "description": "Shows details for a location, by ID.\n\n* Specify the location ID in the `locationId` parameter in the URI.\n\n* Use query parameter `orgId` to filter the result set by organization(optional).\n\n* Searching and viewing location in your organization requires an administrator or location administrator auth token with any of the following scopes:\n\n * `spark-admin:locations_read`\n * `spark-admin:people_read`\n * `spark-admin:device_read`", "tags": [ "Locations" ], "parameters": [ { "name": "locationId", "in": "path", "description": "A unique identifier for the location.", "required": true, "example": "Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OL2M5N2VlMDQ5LTM1OWItNGM3OC04NDU0LTA1OGMyZWRlMjU2Mw", "schema": { "type": "string" } }, { "name": "orgId", "in": "query", "description": "Get location common attributes for this organization.", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "schema": { "type": "string" } } ] }, "put": { "responses": { "204": { "description": "No Content", "headers": {}, "content": {} }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Update a Location", "operationId": "updateLocation", "description": "Update details for a location, by ID.\n\n* Updating a location in your organization requires a full administrator or location administrator auth token with a scope of `spark-admin:locations_write`.\n\n* Specify the location ID in the `locationId` parameter in the URI.\n\n* Partners may specify `orgId` query parameter to update location in managed organization.\n\n* **Important:** While the `name` field supports up to 256 characters, locations that are enabled for Webex Calling must have names with a maximum of 80 characters. If the location is enabled for calling, ensure the name does not exceed 80 characters to maintain compatibility with Control Hub and calling features.", "tags": [ "Locations" ], "parameters": [ { "name": "locationId", "in": "path", "description": "Update location common attributes for this location.", "required": true, "example": "Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OL2E4NjczZDIwLWM0M2EtNDQ5Ni1iYWIxLTNiMjhhZGJjMjViYQ", "schema": { "type": "string" } }, { "name": "orgId", "in": "query", "description": "Update location common attributes for this organization.", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "example": { "name": "Denver", "address": { "address1": "123 Some St.", "address2": "Suite 456", "city": "Supercity", "state": "Goodstate", "postalCode": "12345", "country": "US" }, "timeZone": "America/Chicago", "preferredLanguage": "en_us" }, "schema": { "$ref": "#/components/schemas/PutCommonLocationObject" } } } } }, "delete": { "responses": { "204": { "description": "No Content", "headers": {}, "content": {} }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Delete Location", "operationId": "deleteLocation", "description": "Delete a location, by ID.\n\n* Specify the location ID in the `locationId` parameter in the URI.\n\n* Deleting a location in your organization requires a full administrator auth token with a scope of `spark-admin:locations_write`.\n\n* NOTE: Disabling Webex Calling for a Webex Calling enabled location is required prior to deleting a location.", "tags": [ "Locations" ], "parameters": [ { "name": "locationId", "in": "path", "description": "A unique identifier for the location.", "required": true, "example": "Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OL2M5N2VlMDQ5LTM1OWItNGM3OC04NDU0LTA1OGMyZWRlMjU2Mw", "schema": { "type": "string" } }, { "name": "orgId", "in": "query", "description": "Specify the organization for the location to be deleted.", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "schema": { "type": "string" } } ] } }, "/locations/{locationId}/floors": { "get": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FloorCollectionResponse" }, "example": { "items": [ { "id": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMl9hL1dPUktTUEFDRV9MT0NBVElPTl9GTE9PUi83NDhkZDNmMS1iYmE5LTQxMDItODk5NC00M2IyOTM2MzNlNjY", "locationId": "Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OL2E4NjczZDIwLWM0M2EtNDQ5Ni1iYWIxLTNiMjhhZGJjMjViYQ", "floorNumber": -1, "displayName": "The basement" } ] } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "List Location Floors", "operationId": "listLocationFloors", "description": "List location floors.\nRequires an administrator auth token with the `spark-admin:locations_read` scope.", "tags": [ "Locations" ], "parameters": [ { "name": "locationId", "in": "path", "description": "A unique identifier for the location.", "required": true, "example": "Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OL2E4NjczZDIwLWM0M2EtNDQ5Ni1iYWIxLTNiMjhhZGJjMjViYQ", "schema": { "type": "string" } } ] }, "post": { "responses": { "201": { "description": "Created", "headers": {}, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Floor" }, "example": { "id": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMl9hL1dPUktTUEFDRV9MT0NBVElPTl9GTE9PUi83NDhkZDNmMS1iYmE5LTQxMDItODk5NC00M2IyOTM2MzNlNjY", "locationId": "Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OL2E4NjczZDIwLWM0M2EtNDQ5Ni1iYWIxLTNiMjhhZGJjMjViYQ", "floorNumber": -1, "displayName": "The basement" } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Create a Location Floor", "operationId": "createLocationFloor", "description": "Create a new floor in the given location. The `displayName` parameter is optional, and omitting it will result in the creation of a floor without that value set.\nRequires an administrator auth token with the `spark-admin:locations_write` scope.", "tags": [ "Locations" ], "parameters": [ { "name": "locationId", "in": "path", "description": "A unique identifier for the location.", "required": true, "example": "Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OL2E4NjczZDIwLWM0M2EtNDQ5Ni1iYWIxLTNiMjhhZGJjMjViYQ", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "example": { "floorNumber": -1, "displayName": "The basement" }, "schema": { "$ref": "#/components/schemas/FloorCreationRequest" } } } } } }, "/locations/{locationId}/floors/{floorId}": { "get": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Floor" }, "example": { "id": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMl9hL1dPUktTUEFDRV9MT0NBVElPTl9GTE9PUi83NDhkZDNmMS1iYmE5LTQxMDItODk5NC00M2IyOTM2MzNlNjY", "locationId": "Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OL2E4NjczZDIwLWM0M2EtNDQ5Ni1iYWIxLTNiMjhhZGJjMjViYQ", "floorNumber": -1, "displayName": "The basement" } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Get Location Floor Details", "operationId": "getLocationFloorDetails", "description": "Shows details for a floor, by ID. Specify the floor ID in the `floorId` parameter in the URI.\nRequires an administrator auth token with the `spark-admin:locations_read` scope.", "tags": [ "Locations" ], "parameters": [ { "name": "locationId", "in": "path", "description": "A unique identifier for the location.", "required": true, "example": "Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OL2E4NjczZDIwLWM0M2EtNDQ5Ni1iYWIxLTNiMjhhZGJjMjViYQ", "schema": { "type": "string" } }, { "name": "floorId", "in": "path", "description": "A unique identifier for the floor.", "required": true, "example": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMl9hL1dPUktTUEFDRV9MT0NBVElPTl9GTE9PUi83NDhkZDNmMS1iYmE5LTQxMDItODk5NC00M2IyOTM2MzNlNjY", "schema": { "type": "string" } } ] }, "put": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FloorUpdated" }, "example": { "id": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMl9hL1dPUktTUEFDRV9MT0NBVElPTl9GTE9PUi83NDhkZDNmMS1iYmE5LTQxMDItODk5NC00M2IyOTM2MzNlNj", "locationId": "Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OL2E4NjczZDIwLWM0M2EtNDQ5Ni1iYWIxLTNiMjhhZGJjMjViYQ", "floorNumber": 1, "displayName": "My custom name" } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Update a Location Floor", "operationId": "updateLocationFloor", "description": "Updates details for a floor, by ID. Specify the floor ID in the `floorId` parameter in the URI. Include all details for the floor returned by a previous call to [Get Location Floor Details](/docs/api/v1/locations/get-location-floor-details). Omitting the optional `displayName` field will result in that field no longer being defined for the floor.\nRequires an administrator auth token with the `spark-admin:locations_write` scope.", "tags": [ "Locations" ], "parameters": [ { "name": "locationId", "in": "path", "description": "A unique identifier for the location.", "required": true, "example": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMV9pbnQxMy9XT1JLU1BBQ0VfTE9DQVRJT04vM2E2ZmYzNzMtNjhhNy00NGU0LTkxZDYtYTI3NDYwZTBhYzVjIzUxOWY2N2E1LTlkOTktNGM2My04YTA5LWI5MTcxY2M2NmJkMQ==", "schema": { "type": "string" } }, { "name": "floorId", "in": "path", "description": "A unique identifier for the floor.", "required": true, "example": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMl9hL1dPUktTUEFDRV9MT0NBVElPTl9GTE9PUi83NDhkZDNmMS1iYmE5LTQxMDItODk5NC00M2IyOTM2MzNlNjY", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "example": { "floorNumber": 1, "displayName": "My custom name" }, "schema": { "$ref": "#/components/schemas/FloorUpdateRequest" } } } } }, "delete": { "responses": { "204": { "description": "No Content", "headers": {}, "content": {} }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Delete a Location Floor", "operationId": "deleteLocationFloor", "description": "Deletes a floor, by ID.\nRequires an administrator auth token with the `spark-admin:locations_write` scope.", "tags": [ "Locations" ], "parameters": [ { "name": "locationId", "in": "path", "description": "A unique identifier for the location.", "required": true, "example": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMV9pbnQxMy9XT1JLU1BBQ0VfTE9DQVRJT04vM2E2ZmYzNzMtNjhhNy00NGU0LTkxZDYtYTI3NDYwZTBhYzVjIzUxOWY2N2E1LTlkOTktNGM2My04YTA5LWI5MTcxY2M2NmJkMQ==", "schema": { "type": "string" } }, { "name": "floorId", "in": "path", "description": "A unique identifier for the floor.", "required": true, "example": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMl9hL1dPUktTUEFDRV9MT0NBVElPTl9GTE9PUi83NDhkZDNmMS1iYmE5LTQxMDItODk5NC00M2IyOTM2MzNlNjY", "schema": { "type": "string" } } ] } }, "/workspaceLocations": { "get": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WorkspaceLocationsCollectionResponse" }, "example": { "items": [ { "id": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMV9pbnQxMy9XT1JLU1BBQ0VfTE9DQVRJT04vM2E2ZmYzNzMtNjhhNy00NGU0LTkxZDYtYTI3NDYwZTBhYzVjIzUxOWY2N2E1LTlkOTktNGM2My04YTA5LWI5MTcxY2M2NmJkMQ==", "locationId": "Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzA2OWEzMDY2LTgwNjMtNDI0Zi05YmE0LTBhZDdhMmYxMzNjNQ", "displayName": "Cisco Barcelona", "address": "Carrer de Pere IV, Barcelona, Spain", "countryCode": "ES", "cityName": "Barcelona", "latitude": 41.406615, "longitude": 2.200717, "notes": "A note about the location" } ] } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "List Workspace Locations", "operationId": "List Workspace Locations", "description": "
The Workspace Locations API is deprecated and will be decommissioned November 30, 2024. Please use the [/locations API](/docs/api/v1/locations) for future projects, and use `locationId` instead of `workspaceLocationId` when interacting with device or workspace APIs.
\n\nList workspace locations. Use query parameters to filter the response. The `orgId` parameter can only be used by admin users of another\norganization (such as partners). The `displayName`, `address`, `countryCode` and `cityName` parameters are all optional.\nRequires an administrator auth token with the `spark-admin:workspace_locations_read` scope.", "tags": [ "Workspace Locations" ], "parameters": [ { "name": "orgId", "in": "query", "description": "List workspace locations in this organization. Only admin users of another organization (such as partners) may use this parameter.", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "schema": { "type": "string" } }, { "name": "displayName", "in": "query", "description": "Location display name.", "example": "Cisco Barcelona", "schema": { "type": "string" } }, { "name": "address", "in": "query", "description": "Location address.", "example": "Carrer de Pere IV, Barcelona, Spain", "schema": { "type": "string" } }, { "name": "countryCode", "in": "query", "description": "Location country code (ISO 3166-1).", "example": "ES", "schema": { "type": "string" } }, { "name": "cityName", "in": "query", "description": "Location city name.", "example": "Barcelona", "schema": { "type": "string" } } ], "deprecated": true }, "post": { "responses": { "201": { "description": "Created", "headers": {}, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Location" }, "example": { "id": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMV9pbnQxMy9XT1JLU1BBQ0VfTE9DQVRJT04vM2E2ZmYzNzMtNjhhNy00NGU0LTkxZDYtYTI3NDYwZTBhYzVjIzUxOWY2N2E1LTlkOTktNGM2My04YTA5LWI5MTcxY2M2NmJkMQ==", "locationId": "Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzA2OWEzMDY2LTgwNjMtNDI0Zi05YmE0LTBhZDdhMmYxMzNjNQ", "displayName": "Cisco Barcelona", "address": "Carrer de Pere IV, Barcelona, Spain", "countryCode": "ES", "cityName": "Barcelona", "latitude": 41.406615, "longitude": 2.200717, "notes": "A note about the location" } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Create a Workspace Location", "operationId": "Create a Workspace Location", "description": "
The Workspace Locations API is deprecated and will be decommissioned November 30, 2024. Please use the [/locations API](/docs/api/v1/locations) for future projects, and use `locationId` instead of `workspaceLocationId` when interacting with device or workspace APIs.
\n\nCreate a location. The `cityName` and `notes` parameters are optional, and omitting them will result in the creation of a location without values for those attributes.\nRequires an administrator auth token with the `spark-admin:workspace_locations_write` scope.", "tags": [ "Workspace Locations" ], "parameters": [], "requestBody": { "content": { "application/json": { "example": { "displayName": "Cisco Barcelona", "address": "Carrer de Pere IV, Barcelona, Spain", "countryCode": "ES", "cityName": "Barcelona", "latitude": 41.406615, "longitude": 2.200717, "notes": "A note about the location" }, "schema": { "$ref": "#/components/schemas/WorkspaceLocationsCreationRequest" } } } }, "deprecated": true } }, "/workspaceLocations/{locationId}": { "get": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Location" }, "example": { "id": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMV9pbnQxMy9XT1JLU1BBQ0VfTE9DQVRJT04vM2E2ZmYzNzMtNjhhNy00NGU0LTkxZDYtYTI3NDYwZTBhYzVjIzUxOWY2N2E1LTlkOTktNGM2My04YTA5LWI5MTcxY2M2NmJkMQ==", "locationId": "Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzA2OWEzMDY2LTgwNjMtNDI0Zi05YmE0LTBhZDdhMmYxMzNjNQ", "displayName": "Cisco Barcelona", "address": "Carrer de Pere IV, Barcelona, Spain", "countryCode": "ES", "cityName": "Barcelona", "latitude": 41.406615, "longitude": 2.200717, "notes": "A note about the location" } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Get a Workspace Location Details", "operationId": "Get a Workspace Location Details", "description": "
The Workspace Locations API is deprecated and will be decommissioned November 30, 2024. Please use the [/locations API](/docs/api/v1/locations) for future projects, and use `locationId` instead of `workspaceLocationId` when interacting with device or workspace APIs.
\n\nShows details for a location, by ID. Specify the location ID in the `locationId` parameter in the URI.\nRequires an administrator auth token with the `spark-admin:workspace_locations_read` scope.", "tags": [ "Workspace Locations" ], "parameters": [ { "name": "locationId", "in": "path", "description": "A unique identifier for the location.", "required": true, "example": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMV9pbnQxMy9XT1JLU1BBQ0VfTE9DQVRJT04vM2E2ZmYzNzMtNjhhNy00NGU0LTkxZDYtYTI3NDYwZTBhYzVjIzUxOWY2N2E1LTlkOTktNGM2My04YTA5LWI5MTcxY2M2NmJkMQ==", "schema": { "type": "string" } } ], "deprecated": true }, "put": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Location" }, "example": { "id": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMV9pbnQxMy9XT1JLU1BBQ0VfTE9DQVRJT04vM2E2ZmYzNzMtNjhhNy00NGU0LTkxZDYtYTI3NDYwZTBhYzVjIzUxOWY2N2E1LTlkOTktNGM2My04YTA5LWI5MTcxY2M2NmJkMQ==", "locationId": "Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzA2OWEzMDY2LTgwNjMtNDI0Zi05YmE0LTBhZDdhMmYxMzNjNQ", "displayName": "Cisco Barcelona", "address": "Carrer de Pere IV, Barcelona, Spain", "countryCode": "ES", "cityName": "Barcelona", "latitude": 41.406615, "longitude": 2.200717, "notes": "A note about the location" } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Update a Workspace Location", "operationId": "Update a Workspace Location", "description": "
The Workspace Locations API is deprecated and will be decommissioned November 30, 2024. Please use the [/locations API](/docs/api/v1/locations) for future projects, and use `locationId` instead of `workspaceLocationId` when interacting with device or workspace APIs.
\n\nUpdates details for a location, by ID. Specify the location ID in the `locationId` parameter in the URI. The request should include all details for the location returned in a previous call to [Get Workspace Location Details](/docs/api/v1/workspace-locations/get-a-workspace-location-details). Omitting the optional `cityName` or `notes` fields will result in those fields no longer being defined for the location.\nRequires an administrator auth token with the `spark-admin:workspace_locations_write` scope.", "tags": [ "Workspace Locations" ], "parameters": [ { "name": "locationId", "in": "path", "description": "A unique identifier for the location.", "required": true, "example": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMV9pbnQxMy9XT1JLU1BBQ0VfTE9DQVRJT04vM2E2ZmYzNzMtNjhhNy00NGU0LTkxZDYtYTI3NDYwZTBhYzVjIzUxOWY2N2E1LTlkOTktNGM2My04YTA5LWI5MTcxY2M2NmJkMQ==", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "example": { "id": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMV9pbnQxMy9XT1JLU1BBQ0VfTE9DQVRJT04vM2E2ZmYzNzMtNjhhNy00NGU0LTkxZDYtYTI3NDYwZTBhYzVjIzUxOWY2N2E1LTlkOTktNGM2My04YTA5LWI5MTcxY2M2NmJkMQ==", "displayName": "Cisco Barcelona", "address": "Carrer de Pere IV, Barcelona, Spain", "countryCode": "ES", "cityName": "Barcelona", "latitude": 41.406615, "longitude": 2.200717, "notes": "A note about the location" }, "schema": { "$ref": "#/components/schemas/WorkspaceLocationsUpdateRequest" } } } }, "deprecated": true }, "delete": { "responses": { "204": { "description": "No Content", "headers": {}, "content": {} }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Delete a Workspace Location", "operationId": "Delete a Workspace Location", "description": "
The Workspace Locations API is deprecated and will be decommissioned November 30, 2024. Please use the [/locations API](/docs/api/v1/locations) for future projects, and use `locationId` instead of `workspaceLocationId` when interacting with device or workspace APIs.
\n\nDeletes a location, by ID. The workspaces associated to that location will no longer have a location, but a new location can be reassigned to them.\nRequires an administrator auth token with the `spark-admin:workspace_locations_write` scope.", "tags": [ "Workspace Locations" ], "parameters": [ { "name": "locationId", "in": "path", "description": "A unique identifier for the location.", "required": true, "example": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMV9pbnQxMy9XT1JLU1BBQ0VfTE9DQVRJT04vM2E2ZmYzNzMtNjhhNy00NGU0LTkxZDYtYTI3NDYwZTBhYzVjIzUxOWY2N2E1LTlkOTktNGM2My04YTA5LWI5MTcxY2M2NmJkMQ==", "schema": { "type": "string" } } ], "deprecated": true } }, "/workspaceLocations/{locationId}/floors": { "get": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WorkspaceLocationFloorsCollectionResponse" }, "example": { "items": [ { "id": "xxx==", "locationId": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMV9pbnQxMy9XT1JLU1BBQ0VfTE9DQVRJT04vM2E2ZmYzNzMtNjhhNy00NGU0LTkxZDYtYTI3NDYwZTBhYzVjIzUxOWY2N2E1LTlkOTktNGM2My04YTA5LWI5MTcxY2M2NmJkMQ==", "floorNumber": -1, "displayName": "The basement" } ] } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "List Workspace Location Floors", "operationId": "List Workspace Location Floors", "description": "
The Workspace Locations API is deprecated and will be decommissioned November 30, 2024. Please use the [/locations API](/docs/api/v1/locations) for future projects, and use `locationId` instead of `workspaceLocationId` when interacting with device or workspace APIs.
\n\nList workspace location floors.\nRequires an administrator auth token with the `spark-admin:workspace_locations_read` scope.", "tags": [ "Workspace Locations" ], "parameters": [ { "name": "locationId", "in": "path", "description": "A unique identifier for the location.", "required": true, "example": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMV9pbnQxMy9XT1JLU1BBQ0VfTE9DQVRJT04vM2E2ZmYzNzMtNjhhNy00NGU0LTkxZDYtYTI3NDYwZTBhYzVjIzUxOWY2N2E1LTlkOTktNGM2My04YTA5LWI5MTcxY2M2NmJkMQ==", "schema": { "type": "string" } } ], "deprecated": true }, "post": { "responses": { "201": { "description": "Created", "headers": {}, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Floor" }, "example": { "id": "xxx==", "locationId": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMV9pbnQxMy9XT1JLU1BBQ0VfTE9DQVRJT04vM2E2ZmYzNzMtNjhhNy00NGU0LTkxZDYtYTI3NDYwZTBhYzVjIzUxOWY2N2E1LTlkOTktNGM2My04YTA5LWI5MTcxY2M2NmJkMQ==", "floorNumber": -1, "displayName": "The basement" } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Create a Workspace Location Floor", "operationId": "Create a Workspace Location Floor", "description": "
The Workspace Locations API is deprecated and will be decommissioned November 30, 2024. Please use the [/locations API](/docs/api/v1/locations) for future projects, and use `locationId` instead of `workspaceLocationId` when interacting with device or workspace APIs.
\n\nCreate a new floor in the given location. The `displayName` parameter is optional, and omitting it will result in the creation of a floor without that value set.\nRequires an administrator auth token with the `spark-admin:workspace_locations_write` scope.", "tags": [ "Workspace Locations" ], "parameters": [ { "name": "locationId", "in": "path", "description": "A unique identifier for the location.", "required": true, "example": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMV9pbnQxMy9XT1JLU1BBQ0VfTE9DQVRJT04vM2E2ZmYzNzMtNjhhNy00NGU0LTkxZDYtYTI3NDYwZTBhYzVjIzUxOWY2N2E1LTlkOTktNGM2My04YTA5LWI5MTcxY2M2NmJkMQ==", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "example": { "floorNumber": -1, "displayName": "The basement" }, "schema": { "$ref": "#/components/schemas/WorkspaceLocationFloorsCreationRequest" } } } }, "deprecated": true } }, "/workspaceLocations/{locationId}/floors/{floorId}": { "get": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Floor" }, "example": { "id": "xxx==", "locationId": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMV9pbnQxMy9XT1JLU1BBQ0VfTE9DQVRJT04vM2E2ZmYzNzMtNjhhNy00NGU0LTkxZDYtYTI3NDYwZTBhYzVjIzUxOWY2N2E1LTlkOTktNGM2My04YTA5LWI5MTcxY2M2NmJkMQ==", "floorNumber": -1, "displayName": "The basement" } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Get a Workspace Location Floor Details", "operationId": "Get a Workspace Location Floor Details", "description": "
The Workspace Locations API is deprecated and will be decommissioned November 30, 2024. Please use the [/locations API](/docs/api/v1/locations) for future projects, and use `locationId` instead of `workspaceLocationId` when interacting with device or workspace APIs.
\n\nShows details for a floor, by ID. Specify the floor ID in the `floorId` parameter in the URI.\nRequires an administrator auth token with the `spark-admin:workspace_locations_read` scope.", "tags": [ "Workspace Locations" ], "parameters": [ { "name": "locationId", "in": "path", "description": "A unique identifier for the location.", "required": true, "example": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMV9pbnQxMy9XT1JLU1BBQ0VfTE9DQVRJT04vM2E2ZmYzNzMtNjhhNy00NGU0LTkxZDYtYTI3NDYwZTBhYzVjIzUxOWY2N2E1LTlkOTktNGM2My04YTA5LWI5MTcxY2M2NmJkMQ==", "schema": { "type": "string" } }, { "name": "floorId", "in": "path", "description": "A unique identifier for the floor.", "required": true, "example": "xx", "schema": { "type": "string" } } ], "deprecated": true }, "put": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FloorUpdated" }, "example": { "id": "xxx==", "locationId": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMV9pbnQxMy9XT1JLU1BBQ0VfTE9DQVRJT04vM2E2ZmYzNzMtNjhhNy00NGU0LTkxZDYtYTI3NDYwZTBhYzVjIzUxOWY2N2E1LTlkOTktNGM2My04YTA5LWI5MTcxY2M2NmJkMQ==", "floorNumber": 1, "displayName": "My custom name" } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Update a Workspace Location Floor", "operationId": "Update a Workspace Location Floor", "description": "
The Workspace Locations API is deprecated and will be decommissioned November 30, 2024. Please use the [/locations API](/docs/api/v1/locations) for future projects, and use `locationId` instead of `workspaceLocationId` when interacting with device or workspace APIs.
\n\nUpdates details for a floor, by ID. Specify the floor ID in the `floorId` parameter in the URI. Include all details for the floor returned by a previous call to [Get Workspace Location Floor Details](/docs/api/v1/workspace-locations/get-a-workspace-location-details). Omitting the optional `displayName` field will result in that field no longer being defined for the floor.\nRequires an administrator auth token with the `spark-admin:workspace_locations_write` scope.", "tags": [ "Workspace Locations" ], "parameters": [ { "name": "locationId", "in": "path", "description": "A unique identifier for the location.", "required": true, "example": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMV9pbnQxMy9XT1JLU1BBQ0VfTE9DQVRJT04vM2E2ZmYzNzMtNjhhNy00NGU0LTkxZDYtYTI3NDYwZTBhYzVjIzUxOWY2N2E1LTlkOTktNGM2My04YTA5LWI5MTcxY2M2NmJkMQ==", "schema": { "type": "string" } }, { "name": "floorId", "in": "path", "description": "A unique identifier for the floor.", "required": true, "example": "xx", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "example": { "floorNumber": 1, "displayName": "My custom name" }, "schema": { "$ref": "#/components/schemas/WorkspaceLocationFloorsUpdateRequest" } } } }, "deprecated": true }, "delete": { "responses": { "204": { "description": "No Content", "headers": {}, "content": {} }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Delete a Workspace Location Floor", "operationId": "Delete a Workspace Location Floor", "description": "
The Workspace Locations API is deprecated and will be decommissioned November 30, 2024. Please use the [/locations API](/docs/api/v1/locations) for future projects, and use `locationId` instead of `workspaceLocationId` when interacting with device or workspace APIs.
\n\nDeletes a floor, by ID.\nRequires an administrator auth token with the `spark-admin:workspace_locations_write` scope.", "tags": [ "Workspace Locations" ], "parameters": [ { "name": "locationId", "in": "path", "description": "A unique identifier for the location.", "required": true, "example": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMV9pbnQxMy9XT1JLU1BBQ0VfTE9DQVRJT04vM2E2ZmYzNzMtNjhhNy00NGU0LTkxZDYtYTI3NDYwZTBhYzVjIzUxOWY2N2E1LTlkOTktNGM2My04YTA5LWI5MTcxY2M2NmJkMQ==", "schema": { "type": "string" } }, { "name": "floorId", "in": "path", "description": "A unique identifier for the floor.", "required": true, "example": "xx", "schema": { "type": "string" } } ], "deprecated": true } }, "/workspaceMetrics": { "get": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WorkspaceMetricsResponse" }, "example": { "workspaceId": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "metricName": "temperature", "aggregation": "hourly", "from": "2020-10-21T13:33:37.789Z", "to": "2020-10-31T16:00:00.532Z", "unit": "celsius", "sortBy": "newestFirst", "items": [] } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Workspace Metrics", "operationId": "Workspace Metrics", "description": "Get metric data for the specified workspace and metric name, optionally aggregated over a specified time period.\n\n* The `workspaceId` and `metricName` parameters indicate which workspace to fetch metrics for and what kind of metrics to get.\n\n* When executing an aggregated query, the result bucket start times will be truncated to the start of an hour or a day, depending on\nthe aggregation interval. However, the buckets will not contain data from outside the requested time range. For example, when\npassing `from=2020-10-21T10:34:56.000Z` and `aggregation=hourly`, the first output bucket would start at `2020-10-21T10:00:00.000Z`,\nbut the bucket would only aggregate data timestamped after `10:34:56`.\n\n* For aggregation modes `none` and `hourly`, the maximum time span is 48 hours. For aggregation mode `daily`, the maximum\ntime span is 30 days.\n\n* If the aggregation mode query parameter is set to `none`, the returned data in the response will be an array of items with the `deviceId`, `timestamp` and the raw `value`.\n\n* If the aggregation mode is `hourly` or `daily`, the returned data in the response will be an array of items with the `start` and `end` of the aggregation time bucket, and the `mean`, `max` and `min` values of the requested value. Note that zeroes and negative values are ignored. For example, this means that the `peopleCount` mean value should be interpreted as the average number of people in the room _when it is in use_.", "tags": [ "Workspace Metrics" ], "parameters": [ { "name": "workspaceId", "in": "query", "description": "ID of the workspace to get metrics for.", "required": true, "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "schema": { "type": "string" } }, { "name": "metricName", "in": "query", "description": "The type of data to extract.", "required": true, "example": "temperature", "schema": { "type": "string", "enum": [ "soundLevel", "ambientNoise", "temperature", "humidity", "tvoc", "peopleCount" ] } }, { "name": "aggregation", "in": "query", "description": "Time unit over which to aggregate measurements.", "example": "hourly", "schema": { "type": "string", "default": "hourly", "enum": [ "none", "hourly", "daily" ] } }, { "name": "from", "in": "query", "description": "List only data points after a specific date and time (ISO 8601 timestamp)", "example": "2020-10-21T13:33:37.789Z", "schema": { "type": "string" } }, { "name": "to", "in": "query", "description": "List data points before a specific date and time (ISO 8601 timestamp)", "example": "2020-10-31T16:00:00.532Z", "schema": { "type": "string" } }, { "name": "unit", "in": "query", "description": "Output data unit (only a valid parameter if `metricName` is `temperature`).", "example": "celsius", "schema": { "type": "string", "default": "Celsius if the metricName parameter is set to \"temperature\". No default value is provided for other metric names.", "enum": [ "celsius", "fahrenheit" ] } }, { "name": "sortBy", "in": "query", "description": "Sort results.", "example": "newestFirst", "schema": { "type": "string", "default": "newestFirst", "enum": [ "newestFirst", "oldestFirst" ] } } ] } }, "/workspaceDurationMetrics": { "get": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WorkspaceDurationMetricsResponse" }, "example": { "workspaceId": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "aggregation": "hourly", "measurement": "timeBooked", "from": "2020-10-21T13:33:37.789Z", "to": "2020-10-31T16:00:00.532Z", "unit": "minutes", "items": [ { "start": "2021-10-21T12:00:00Z", "end": "2021-10-21T13:00:00Z", "duration": 13 } ] } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Workspace Duration Metrics", "operationId": "Workspace Duration Metrics", "description": "Get metrics for how much time a workspace has been in the state given by the `measurement` parameter.\n\nFor example, if the measurement is `timeBooked` then the duration for which the workspace has been booked is returned. The `workspaceId` parameter indicates which workspace to fetch metrics for. If no `measurement` is given, the default value is `timeUsed`.\n\n* When executing a query, the result bucket start times will default to the start of an hour or a day, depending on\nthe aggregation interval. However, the buckets will not contain data from outside the requested time range. For example, when\npassing `from=2020-10-21T10:34:56.000Z` and `aggregation=hourly`, the first output bucket would start at `2020-10-21T10:00:00.000Z`,\nbut the bucket would only aggregate data timestamped after `10:34:56`.\n\n* For aggregation mode `hourly`, the maximum time span is 48 hours. For aggregation mode `daily`, the maximum\ntime span is 30 days.", "tags": [ "Workspace Metrics" ], "parameters": [ { "name": "workspaceId", "in": "query", "description": "ID of the workspace to get metrics for.", "required": true, "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "schema": { "type": "string" } }, { "name": "aggregation", "in": "query", "description": "Unit of time over which to aggregate measurements.", "example": "hourly", "schema": { "type": "string", "default": "hourly", "enum": [ "hourly", "daily" ] } }, { "name": "measurement", "in": "query", "description": "The measurement to return duration for.", "example": "timeBooked", "schema": { "type": "string", "default": "timeUsed", "enum": [ "timeUsed", "timeBooked" ] } }, { "name": "from", "in": "query", "description": "Include data points after a specific date and time (ISO 8601 timestamp).", "example": "2020-10-21T13:33:37.789Z", "schema": { "type": "string" } }, { "name": "to", "in": "query", "description": "Include data points before a specific date and time (ISO 8601 timestamp).", "example": "2020-10-31T16:00:00.532Z", "schema": { "type": "string" } } ] } }, "/workspaces/{workspaceId}/personalize": { "post": { "responses": { "202": { "description": "Accepted", "headers": {}, "content": {} }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Personalize a Workspace", "operationId": "Personalize a Workspace", "description": "Initializes the personalization for a given workspace for the user email provided.\n\nThe personalization process is asynchronous and thus a background task is created when this endpoint is invoked.\nAfter successful invocation of this endpoint a personalization task status URL will be returned in the `Location` header, which will point to the [Get Personalization Task](/docs/api/v1/workspace-personalization/get-personalization-task) endpoint for this workspace.\nThe task should be completed in approximately 30 seconds.", "tags": [ "Workspace Personalization" ], "parameters": [ { "name": "workspaceId", "in": "path", "description": "A unique identifier for the workspace.", "required": true, "example": "Y2lzY29zcGFyazovL3VzL1BMQUNFUy81MTAxQjA3Qi00RjhGLTRFRjctQjU2NS1EQjE5QzdCNzIzRjc", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WorkspacePersonalizationRequest" } } } } } }, "/workspaces/{workspaceId}/personalizationTask": { "get": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WorkspacePersonalizationTaskResponse" }, "example": { "success": false, "errorDescription": "Device is offline" } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Get Personalization Task", "operationId": "Get Personalization Task", "description": "Returns the status of a personalization task for a given workspace.\n\nWhilst in progress the endpoint will return `Accepted` and provide a `Retry-After` header indicating the number of seconds a client should wait before retrying.\n\nUpon completion of the task, the endpoint will return `OK` with a body detailing if the personalization was successful and an error description if appropriate.", "tags": [ "Workspace Personalization" ], "parameters": [ { "name": "workspaceId", "in": "path", "description": "A unique identifier for the workspace.", "required": true, "example": "Y2lzY29zcGFyazovL3VzL1BMQUNFUy81MTAxQjA3Qi00RjhGLTRFRjctQjU2NS1EQjE5QzdCNzIzRjc", "schema": { "type": "string" } } ] } }, "/workspaces": { "get": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WorkspaceCollectionResponse" }, "example": { "items": [ { "id": "Y2lzY28zcGFyazovL3VzL1BMQUNFUy81MTAxQjA3Qi00RjhGLTRFRjctQjU2NS1EQjE5QzdCNzIzRjc", "orgId": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi8xZWI2NWZkZi05NjQzLTQxN2YtOTk3NC1hZDcyY2FlMGUxMGY", "locationId": "Y2lzY29z...", "workspaceLocationId": "YL34GrT...", "floorId": "Y2lzY29z...", "displayName": "SFO-12 Capanina", "capacity": 5, "type": "notSet", "sipAddress": "test_workspace_1@trialorg.room.ciscospark.com", "created": "2016-04-21T17:00:00.000Z", "calling": { "type": "hybridCalling", "hybridCalling": { "emailAddress": "workspace@example.com" }, "webexCalling": { "licenses": [ "Y2lzY29g4..." ] } }, "notes": "this is a note", "hotdeskingStatus": "on", "supportedDevices": "collaborationDevices", "calendar": { "type": "microsoft", "emailAddress": "workspace@example.com" }, "deviceHostedMeetings": { "enabled": true, "siteUrl": "'example.webex.com'" }, "devicePlatform": "cisco", "indoorNavigation": {}, "health": { "level": "error", "issues": [ { "id": "", "createdAt": "", "title": "", "description": "", "recommendedAction": "", "level": { "Members": "error" } } ] }, "devices": [ { "id": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMV9pbnQxMy9ERVZJQ0UvNTEwMUIwN0ItNEY4Ri00RUY3LUI1NjUtREIxOUM3QjcyM0Y3", "displayName": "SFO12-3-PanHandle", "placeId": "Y2lzY29zcGFyazovL3VzL1BFT1BMRS83MTZlOWQxYy1jYTQ0LTRmZWQtOGZjYS05ZGY0YjRmNDE3ZjU", "workspaceId": "Y2lzY29zcGFyazovL3VzL1BFT1BMRS83MTZlOWQxYy1jYTQ0LTRmZWQtOGZjYS05ZGY0YjRmNDE3ZjU", "personId": "Y2lzY29zcGFyazovL3VzL1BFT1BMRS83MTZlOWQxYy1jYTQ0LTRmZWQtOGZjYS05ZGY0YjRmNDE3ZjU", "orgId": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "capabilities": [ "xapi" ], "permissions": [ "xapi:readonly" ], "connectionStatus": "connected", "product": "Cisco Webex DX80", "type": "roomdesk", "tags": [ "First Tag, Second Tag" ], "ip": "100.110.120.130", "activeInterface": "wired", "mac": "11:22:33:44:AA:FF", "primarySipUrl": "sample_device@sample_workspacename.orgname.org", "sipUrls": [ "sample_device@sample_workspacename.orgname.org, another_device@sample_workspacename.orgname.org" ], "serial": "FOC1923NVVN", "software": "RoomOS 2018-06-01 608dcdbb6e1", "upgradeChannel": "beta", "created": "2016-04-21T17:00:00.000Z", "locationId": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "workspaceLocationId": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "errorCodes": [ "sipprofileregistration" ], "firstSeen": "2021-02-24T09:08:38.822Z", "lastSeen": "2023-08-15T14:04:00.444Z", "managedBy": "CISCO", "devicePlatform": "cisco" } ], "capabilities": { "occupancyDetection": { "supported": true, "configured": true }, "presenceDetection": { "supported": true, "configured": true }, "ambientNoise": { "supported": true, "configured": true }, "soundLevel": { "supported": true, "configured": true }, "temperature": { "supported": true, "configured": true }, "airQuality": { "supported": true, "configured": true }, "relativeHumidity": { "supported": true, "configured": true } }, "plannedMaintenance": { "mode": "upcoming", "startTime": "2026-10-01T00:00:00.000Z", "endTime": "2026-10-02T00:00:00.000Z", "description": "Scheduled maintenance for the workspace." }, "customAttributes": { "myKey": { "value": "123456789", "type": "external_id" } } } ] } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "List Workspaces", "operationId": "listWorkspaces", "description": "List workspaces.\n\nUse query parameters to filter the response. The `orgId` parameter can only be used by admin users of another organization (such as partners). The `locationId`, `workspaceLocationId`, `indoorNavigation`, `floorId`, `capacity` and `type` fields will only be present for workspaces that have a value set for them. The special values `notSet` (for filtering on category) and `-1` (for filtering on capacity) can be used to filter for workspaces without a type and/or capacity.", "tags": [ "Workspaces" ], "parameters": [ { "name": "orgId", "in": "query", "description": "List workspaces in this organization. Only admin users of another organization (such as partners) may use this parameter.", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "schema": { "type": "string" } }, { "name": "locationId", "in": "query", "description": "Location associated with the workspace. Values must originate from the /locations API and not the legacy /workspaceLocations API.", "example": "YL34GrT...", "schema": { "type": "string" } }, { "name": "workspaceLocationId", "in": "query", "description": "Location associated with the workspace. Both values from the /locations API and the legacy /workspaceLocations API are supported. This field is deprecated and integrations should prefer `locationId` going forward.", "example": "YL34GrT...", "schema": { "type": "string" } }, { "name": "floorId", "in": "query", "description": "Floor associated with the workspace.", "example": "Y2lzY29z...", "schema": { "type": "string" } }, { "name": "displayName", "in": "query", "description": "List workspaces by display name.", "example": "SFO-12 Capanina", "schema": { "type": "string" } }, { "name": "capacity", "in": "query", "description": "List workspaces with the given capacity. Must be -1 or higher. A value of -1 lists workspaces with no capacity set.", "example": 5, "schema": { "type": "number" } }, { "name": "type", "in": "query", "description": "List workspaces by type.", "example": "focus", "schema": { "type": "string", "enum": [ "notSet", "focus", "huddle", "meetingRoom", "open", "desk", "other" ] } }, { "name": "start", "in": "query", "description": "Offset. Default is 0.", "example": 50, "schema": { "type": "number" } }, { "name": "max", "in": "query", "description": "Limit the maximum number of workspaces in the response.", "example": 100, "schema": { "type": "number" } }, { "name": "calling", "in": "query", "description": "List workspaces by calling type.", "example": "freeCalling", "schema": { "type": "string", "enum": [ "freeCalling", "hybridCalling", "webexCalling", "webexEdgeForDevices", "thirdPartySipCalling", "none" ] } }, { "name": "supportedDevices", "in": "query", "description": "List workspaces by supported devices.", "example": "collaborationDevices", "schema": { "type": "string", "enum": [ "collaborationDevices", "phones" ] } }, { "name": "calendar", "in": "query", "description": "List workspaces by calendar type.", "example": "none", "schema": { "type": "string", "enum": [ "none", "google", "microsoft" ] } }, { "name": "deviceHostedMeetingsEnabled", "in": "query", "description": "List workspaces enabled for device hosted meetings.", "example": true, "schema": { "type": "boolean" } }, { "name": "devicePlatform", "in": "query", "description": "List workspaces by device platform.", "example": "cisco", "schema": { "type": "string", "enum": [ "cisco", "microsoftTeamsRoom" ] } }, { "name": "healthLevel", "in": "query", "description": "List workspaces by health level.", "example": "error", "schema": { "type": "string", "enum": [ "error", "warning", "info", "ok" ] } }, { "name": "includeDevices", "in": "query", "description": "Flag identifying whether to include the devices associated with the workspace in the response.", "example": false, "schema": { "type": "boolean" } }, { "name": "includeCapabilities", "in": "query", "description": "Flag identifying whether to include the workspace capabilities in the response.", "example": false, "schema": { "type": "boolean" } }, { "name": "plannedMaintenance", "in": "query", "description": "List workspaces with given maintenance mode.", "example": "off", "schema": { "type": "string", "enum": [ "off", "on", "upcoming" ] } }, { "name": "customAttribute", "in": "query", "description": "List workspaces with given custom attribute key.", "example": "myKey", "schema": { "type": "string" } } ] }, "post": { "responses": { "201": { "description": "Created", "headers": {}, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Workspace" }, "example": { "id": "Y2lzY29zcGFyazovL3VzL1BMQUNFUy81MTAxQjA3Qi00RjhGLTRFRjctQjU2NS1EQjE5QzdCNzIzRjc", "orgId": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi8xZWI2NWZkZi05NjQzLTQxN2YtOTk3NC1hZDcyY2FlMGUxMGY", "locationId": "YL34GrT...", "workspaceLocationId": "YL34GrT...", "floorId": "Y2lzY29z...", "displayName": "SFO-12 Capanina", "capacity": 5, "sipAddress": "test_workspace_1@trialorg.room.ciscospark.com", "created": "2016-04-21T17:00:00.000Z", "calling": { "type": "webexCalling", "webexCalling": { "licenses": [ "Y2lzY29zcGFyazovL3VzL0xJQ0VOU0UvMmQzMzIyZDItYTAzNS00YmEzLWI3ZjYtNDc1ODM3Y2UzOTVhOkJDQ0FfNDZlM2YxYWQtZGJhYi00YmQ0LTg3YTAtOWExZmVhNzMxN2Jm" ] } }, "calendar": { "type": "microsoft", "emailAddress": "workspace@example.com" }, "notes": "this is a note", "supportedDevices": "collaborationDevices", "indoorNavigation": { "url": "https://example.com" } } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Create a Workspace", "operationId": "createWorkspace", "description": "Create a workspace.\n\nThe `locationId`, `workspaceLocationId`, `floorId`, `indoorNavigation`, `capacity`, `type`, `notes` and `hotdeskingStatus` parameters are optional, and omitting them will result in the creation of a workspace without these values set, or set to their default. A `locationId` must be provided when the `floorId` is set. Calendar and calling can also be set for a new workspace. Omitting them will default to free calling and no calendaring. The `orgId` parameter can only be used by admin users of another organization (such as partners).\n\n* Information for Webex Calling fields may be found here: [locations](/docs/api/v1/locations/list-locations), [available numbers](/docs/api/v1/numbers/get-phone-numbers-for-an-organization-with-given-criterias) and [licenses](/docs/api/v1/licenses).\n\n* The `locationId` and `supportedDevices` fields cannot be changed once configured.\n\n* When creating a `webexCalling` workspace that is not hot desk only, a `locationId` and either a `phoneNumber` or `extension` or both is required. Furthermore, it is possible to set the `licenses` field with a list of Webex Calling license IDs, if desired. If multiple license IDs are provided, the oldest suitable one will be applied. If no licenses are supplied, the oldest suitable one from the active subscriptions will be automaticaly applied.\n\n* When creating a hot desk only workspace, `phoneNumber` and `extension` fields are not applicable. Furthermore, `deviceHostedMeetingsEnabled`, and `calendar` services are not applicable. If any of these fields are provided the API will return an error. The `calling` type is `webexCalling`.", "tags": [ "Workspaces" ], "parameters": [], "requestBody": { "content": { "application/json": { "example": { "displayName": "SFO-12 Capanina", "orgId": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi8xZWI2NWZkZi05NjQzLTQxN2YtOTk3NC1hZDcyY2FlMGUxMGY", "locationId": "YL34GrT...", "workspaceLocationId": "YL34GrT...", "floorId": "Y2lzY29z...", "capacity": 5, "type": "notSet", "calling": { "type": "webexCalling", "webexCalling": { "phoneNumber": "+12145654032", "extension": "28278", "locationId": "Y2lzY29g4...", "licenses": [ "Y2lzY29g4...1,Y2lzY29g4...2,Y2lzY29g4...n" ] } }, "calendar": { "type": "microsoft", "emailAddress": "workspace@example.com", "resourceGroupId": "Y2lzY29zcGFyazovL3VybjpURUFNOk5vcndheS9SRVNPVVJDRV9HUk9VUC9jOGFiMDJhNC01NjI5LTRiNTctOGUyNy03ZDZkZjJlN2YzNzA=" }, "notes": "this is a note", "hotdeskingStatus": "on", "deviceHostedMeetings": { "enabled": true, "siteUrl": "'example.webex.com'" }, "supportedDevices": "collaborationDevices", "indoorNavigation": {} }, "schema": { "$ref": "#/components/schemas/WorkspaceCreationRequest" } } } } } }, "/workspaces/{workspaceId}": { "get": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Workspace" }, "example": { "id": "Y2lzY29zcGFyazovL3VzL1BMQUNFUy81MTAxQjA3Qi00RjhGLTRFRjctQjU2NS1EQjE5QzdCNzIzRjc", "orgId": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi8xZWI2NWZkZi05NjQzLTQxN2YtOTk3NC1hZDcyY2FlMGUxMGY", "locationId": "Y2lzY29...", "workspaceLocationId": "YL34GrT...", "floorId": "Y2lzY29z...", "displayName": "SFO-12 Capanina", "capacity": 5, "type": "notSet", "sipAddress": "test_workspace_1@trialorg.room.ciscospark.com", "created": "2016-04-21T17:00:00.000Z", "calling": { "type": "hybridCalling", "hybridCalling": { "emailAddress": "workspace@example.com" }, "webexCalling": { "licenses": [ "Y2lzY29g4..." ] } }, "notes": "this is a note", "hotdeskingStatus": "on", "supportedDevices": "collaborationDevices", "calendar": { "type": "microsoft", "emailAddress": "workspace@example.com" }, "deviceHostedMeetings": { "enabled": true, "siteUrl": "'example.webex.com'" }, "devicePlatform": "cisco", "indoorNavigation": {}, "health": { "level": "error", "issues": [ { "id": "", "createdAt": "", "title": "", "description": "", "recommendedAction": "", "level": { "Members": "error" } } ] }, "devices": [ { "id": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMV9pbnQxMy9ERVZJQ0UvNTEwMUIwN0ItNEY4Ri00RUY3LUI1NjUtREIxOUM3QjcyM0Y3", "displayName": "SFO12-3-PanHandle", "placeId": "Y2lzY29zcGFyazovL3VzL1BFT1BMRS83MTZlOWQxYy1jYTQ0LTRmZWQtOGZjYS05ZGY0YjRmNDE3ZjU", "workspaceId": "Y2lzY29zcGFyazovL3VzL1BFT1BMRS83MTZlOWQxYy1jYTQ0LTRmZWQtOGZjYS05ZGY0YjRmNDE3ZjU", "personId": "Y2lzY29zcGFyazovL3VzL1BFT1BMRS83MTZlOWQxYy1jYTQ0LTRmZWQtOGZjYS05ZGY0YjRmNDE3ZjU", "orgId": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "capabilities": [ "xapi" ], "permissions": [ "xapi:readonly" ], "connectionStatus": "connected", "product": "Cisco Webex DX80", "type": "roomdesk", "tags": [ "First Tag, Second Tag" ], "ip": "100.110.120.130", "activeInterface": "wired", "mac": "11:22:33:44:AA:FF", "primarySipUrl": "sample_device@sample_workspacename.orgname.org", "sipUrls": [ "sample_device@sample_workspacename.orgname.org, another_device@sample_workspacename.orgname.org" ], "serial": "FOC1923NVVN", "software": "RoomOS 2018-06-01 608dcdbb6e1", "upgradeChannel": "beta", "created": "2016-04-21T17:00:00.000Z", "locationId": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "workspaceLocationId": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "errorCodes": [ "sipprofileregistration" ], "firstSeen": "2021-02-24T09:08:38.822Z", "lastSeen": "2023-08-15T14:04:00.444Z", "managedBy": "CISCO", "devicePlatform": "cisco" } ], "capabilities": { "occupancyDetection": { "supported": true, "configured": true }, "presenceDetection": { "supported": true, "configured": true }, "ambientNoise": { "supported": true, "configured": true }, "soundLevel": { "supported": true, "configured": true }, "temperature": { "supported": true, "configured": true }, "airQuality": { "supported": true, "configured": true }, "relativeHumidity": { "supported": true, "configured": true } } } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Get Workspace Details", "operationId": "getWorkspaceDetails", "description": "Shows details for a workspace, by ID.\n\nThe `locationId`, `workspaceLocationId`, `floorId`, `indoorNavigation`, `capacity`, `type` and `notes` fields will only be present if they have been set for the workspace. Specify the workspace ID in the `workspaceId` parameter in the URI.", "tags": [ "Workspaces" ], "parameters": [ { "name": "workspaceId", "in": "path", "description": "A unique identifier for the workspace.", "required": true, "example": "Y2lzY29zcGFyazovL3VzL1BMQUNFUy81MTAxQjA3Qi00RjhGLTRFRjctQjU2NS1EQjE5QzdCNzIzRjc", "schema": { "type": "string" } }, { "name": "includeDevices", "in": "query", "description": "Flag identifying whether to include the devices associated with the workspace in the response.", "example": false, "schema": { "type": "boolean" } }, { "name": "includeCapabilities", "in": "query", "description": "Flag identifying whether to include the workspace capabilities in the response.", "example": false, "schema": { "type": "boolean" } } ] }, "put": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Workspace" }, "example": { "id": "Y2lzY29zcGFyazovL3VzL1BMQUNFUy81MTAxQjA3Qi00RjhGLTRFRjctQjU2NS1EQjE5QzdCNzIzRjc", "orgId": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi8xZWI2NWZkZi05NjQzLTQxN2YtOTk3NC1hZDcyY2FlMGUxMGY", "locationId": "YL34GrT...", "workspaceLocationId": "YL34GrT...", "floorId": "Y2lzY29z...", "displayName": "SFO-12 Capanina", "capacity": 5, "sipAddress": "test_workspace_1@trialorg.room.ciscospark.com", "created": "2016-04-21T17:00:00.000Z", "calling": { "type": "webexCalling", "webexCalling": { "licenses": [ "Y2lzY29z..." ] } }, "calendar": { "type": "microsoft", "emailAddress": "workspace@example.com" }, "notes": "this is a note", "supportedDevices": "collaborationDevices", "devicePlatform": "cisco", "indoorNavigation": { "url": "https://example.com" } } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Update a Workspace", "operationId": "updateWorkspace", "description": "Updates details for a workspace by ID.\n\nSpecify the workspace ID in the `workspaceId` parameter in the URI. Include all details for the workspace that are present in a [GET request for the workspace details](/docs/api/v1/workspaces/get-workspace-details). Not including the optional `capacity`, `type` or `notes` fields will result in the fields no longer being defined for the workspace. A `locationId` must be provided when the `floorId` is set. The `locationId`, `workspaceLocationId`, `floorId`, `supportedDevices`, `calendar` and `calling` fields do not change when omitted from the update request.\n\n* Information for Webex Calling fields may be found here: [locations](/docs/api/v1/locations/list-locations) and [available numbers](/docs/api/v1/numbers/get-phone-numbers-for-an-organization-with-given-criterias).\n\n* Updating the `calling` parameter is only supported if the existing `calling` type is `freeCalling`, `none`, `thirdPartySipCalling` or `webexCalling`.\n\n* Updating the `calling` parameter to `none`, `thirdPartySipCalling` or `webexCalling` is not supported if the workspace contains any devices.\n\n* The `locationId` and `supportedDevices` fields cannot be changed once configured.\n\n* When updating `webexCalling` information on a workspace that is not hot desk only, a `locationId` and either a `phoneNumber` or `extension` or both is required. Furthermore, the `licenses` field can be set with a list of Webex Calling license IDs, if desired. If multiple license IDs are provided, the oldest suitable one will be applied. If a previously applied license ID is omitted, it will be replaced with one from the list provided. If the `licenses` field is omitted, the current calling license will be retained.\n\n* When specifying a hot desk only license on a hot desk only workspace, `deviceHostedMeetingsEnabled`, and `calendar` services are not supported and will be automatically disabled. In addition to this, the `phoneNumber` and `extension` will be removed from the workspace. Attempting to enable any of these services, or provide a `phoneNumber` or `extension` will result in an error. The `calling` type for these requests is `webexCalling`.", "tags": [ "Workspaces" ], "parameters": [ { "name": "workspaceId", "in": "path", "description": "A unique identifier for the workspace.", "required": true, "example": "Y2lzY29zcGFyazovL3VzL1BMQUNFUy81MTAxQjA3Qi00RjhGLTRFRjctQjU2NS1EQjE5QzdCNzIzRjc", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "example": { "displayName": "SFO-12 Capanina", "locationId": "YL34GrT...", "workspaceLocationId": "YL34GrT...", "floorId": "Y2lzY29z...", "capacity": 5, "type": "focus", "calendar": { "type": "microsoft", "emailAddress": "workspace@example.com", "resourceGroupId": "Y2lzY29zcGFyazovL3VybjpURUFNOk5vcndheS9SRVNPVVJDRV9HUk9VUC9jOGFiMDJhNC01NjI5LTRiNTctOGUyNy03ZDZkZjJlN2YzNzA=" }, "calling": { "type": "webexCalling", "webexCalling": { "phoneNumber": "+12145654032", "extension": "28278", "locationId": "Y2lzY29g4...", "licenses": [ "Y2lzY29g4...1,Y2lzY29g4...2,Y2lzY29g4...n" ] } }, "notes": "this is a note", "hotdeskingStatus": "on", "deviceHostedMeetings": { "enabled": true, "siteUrl": "'example.webex.com'" }, "indoorNavigation": {} }, "schema": { "$ref": "#/components/schemas/WorkspaceUpdateRequest" } } } } }, "delete": { "responses": { "204": { "description": "No Content", "headers": {}, "content": {} }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Delete a Workspace", "operationId": "deleteWorkspace", "description": "Deletes a workspace by ID.\n\nAlso deletes all devices associated with the workspace. Any deleted devices will need to be reactivated. Specify the workspace ID in the `workspaceId` parameter in the URI.", "tags": [ "Workspaces" ], "parameters": [ { "name": "workspaceId", "in": "path", "description": "A unique identifier for the workspace.", "required": true, "example": "Y2lzY29zcGFyazovL3VzL1BMQUNFUy81MTAxQjA3Qi00RjhGLTRFRjctQjU2NS1EQjE5QzdCNzIzRjc", "schema": { "type": "string" } } ] } }, "/workspaces/{workspaceId}/capabilities": { "get": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CapabilityResponse" }, "example": { "capabilities": { "occupancyDetection": { "supported": true, "configured": true }, "presenceDetection": { "supported": true, "configured": true }, "ambientNoise": { "supported": true, "configured": true }, "soundLevel": { "supported": true, "configured": true }, "temperature": { "supported": true, "configured": true }, "airQuality": { "supported": true, "configured": true }, "relativeHumidity": { "supported": true, "configured": true } } } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Get Workspace Capabilities", "operationId": "getWorkspaceCapabilities", "description": "Shows the capabilities for a workspace by ID.\n\nReturns a set of capabilities, including whether or not the capability is supported by any device in the workspace, and if the capability is configured (enabled). For example for a specific capability like `occupancyDetection`, the API will return if the capability is supported and/or configured such that occupancy detection data will flow from the workspace (device) to the cloud. Specify the workspace ID in the `workspaceId` parameter in the URI.", "tags": [ "Workspaces" ], "parameters": [ { "name": "workspaceId", "in": "path", "description": "A unique identifier for the workspace.", "required": true, "example": "Y2lzY29zcGFyazovL3VzL1BMQUNFUy81MTAxQjA3Qi00RjhGLTRFRjctQjU2NS1EQjE5QzdCNzIzRjc", "schema": { "type": "string" } } ] } }, "/xapi/status": { "get": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "type": "object", "properties": { "deviceId": { "type": "string", "example": "Y2lzY29zcGFyazovL3VzL0RFVklDRS8wNTVkYThiNy02NWI2LTQ5NjgtOTg1ZC02ZmFjODcwOWMyMDM", "description": "The unique identifier for the Webex RoomOS Device." }, "result": { "type": "object", "properties": { "Audio": { "type": "object", "properties": { "Volume": { "type": "number", "example": 75 } } } }, "description": "xAPI status result" } } }, "example": { "deviceId": "Y2lzY29zcGFyazovL3VzL0RFVklDRS8wNTVkYThiNy02NWI2LTQ5NjgtOTg1ZC02ZmFjODcwOWMyMDM", "result": { "Audio": { "Volume": 75 } } } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Query Status", "operationId": "Query Status", "description": "Query the current status of the Webex RoomOS Device. You specify the target device in the `deviceId` parameter in the URI. The target device is queried for statuses according to the expression in the `name` parameter.\n\nSee the [xAPI section of the Device Developers Guide](/docs/api/guides/device-developers-guide#xapi) or the [xAPI Command Reference](https://roomos.cisco.com/xapi) for a description of status expressions.", "tags": [ "xAPI" ], "parameters": [ { "name": "deviceId", "in": "query", "description": "The unique identifier for the Webex RoomOS Device.", "required": true, "example": "Y2lzY29zcGFyazovL3VzL0RFVklDRS8wNTVkYThiNy02NWI2LTQ5NjgtOTg1ZC02ZmFjODcwOWMyMDM", "schema": { "type": "string" } }, { "name": "name", "in": "query", "description": "A list of status expressions used to query the Webex RoomOS Device. See the [xAPI section of the Device Developers Guide](/docs/api/guides/device-developers-guide#xapi) for a description of status expressions. A request can contain at most 10 different status expressions.", "required": true, "example": "audio.volume", "schema": { "type": "array", "items": { "type": "string", "example": "audio.volume" }, "description": "A list of status expressions used to query the Webex RoomOS Device. See the [xAPI section of the Device Developers Guide](/docs/api/guides/device-developers-guide#xapi) for a description of status expressions. A request can contain at most 10 different status expressions." } } ] } }, "/xapi/schema": { "get": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "deviceId": { "type": "string", "example": "Y2lzY29zcGFyazovL3VzL0RFVklDRS8wNTVkYThiNy02NWI2LTQ5NjgtOTg1ZC02ZmFjODcwOWMyMDM", "description": "The unique identifier for the Webex RoomOS Device." }, "status": { "type": "object", "additionalProperties": { "type": "object", "properties": { "schema": { "type": "object", "description": "JSON Schema describing the status value." } } }, "description": "Status schemas keyed by status name." }, "commands": { "type": "object", "additionalProperties": { "type": "object", "properties": { "arguments": { "type": "object", "additionalProperties": { "type": "object", "properties": { "required": { "type": "boolean", "description": "Whether the argument is required." }, "schema": { "type": "object", "description": "JSON Schema describing the argument value." } } }, "description": "Command arguments keyed by argument name." }, "resultSchema": { "type": "object", "description": "JSON Schema describing the command result." }, "bodySchema": { "type": "object", "properties": { "schema": { "type": "object", "description": "JSON Schema describing the command body." } }, "description": "Schema for the command body." } } }, "description": "Command schemas keyed by command name." } } } }, "example": [ { "deviceId": "Y2lzY29zcGFyazovL3VzL0RFVklDRS8wNTVkYThiNy02NWI2LTQ5NjgtOTg1ZC02ZmFjODcwOWMyMDM", "status": { "Conference.HideNonVideo.Active": { "schema": { "enum": [ "True", "False" ], "type": "string" } }, "Network[1..n].Wifi.Noise": { "schema": { "type": "integer" } } }, "commands": { "UserInterface.Extensions.Icon.Upload": { "arguments": { "Id": { "required": false, "schema": { "type": "string", "maxLength": 128, "minLength": 0 } } }, "resultSchema": { "type": [ "object", "null" ] }, "bodySchema": { "schema": { "type": [ "object", "string" ], "maxLength": 4194304 } } } } } ] } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Query Schema", "operationId": "Query Schema", "description": "Query the schema for statuses and commands of Webex RoomOS Devices. You specify the target devices in the `deviceId` parameter in the URI. Querying command schemas requires the `spark:xapi_commands` scope and querying status schemas requires the `spark:xapi_statuses` scope.\n\nIf no `status` or `command` expressions are specified, the full schema is returned, including both status and command schemas. If you specify any expression, the response is limited to only the types you queried for. For example, if you provide a `status` expression but no `command` expression, only status schemas will be included in the result.\n\nSee the [xAPI section of the Device Developers Guide](/docs/api/guides/device-developers-guide#xapi) or the [xAPI Command Reference](https://roomos.cisco.com/xapi) for a description of status and command expressions.", "tags": [ "xAPI" ], "parameters": [ { "name": "deviceId", "in": "query", "description": "A list of device IDs to query schemas from. A request can contain at most 5 device IDs.", "required": true, "example": "Y2lzY29zcGFyazovL3VzL0RFVklDRS8wNTVkYThiNy02NWI2LTQ5NjgtOTg1ZC02ZmFjODcwOWMyMDM", "schema": { "type": "array", "items": { "type": "string", "example": "Y2lzY29zcGFyazovL3VzL0RFVklDRS8wNTVkYThiNy02NWI2LTQ5NjgtOTg1ZC02ZmFjODcwOWMyMDM" }, "description": "A list of device IDs to query schemas from. A request can contain at most 5 device IDs." } }, { "name": "status", "in": "query", "description": "A list of status key expressions to query schemas for. Supports patterns. Requires the `spark:xapi_statuses` scope.", "required": false, "example": "Conference.*", "schema": { "type": "array", "items": { "type": "string", "example": "Conference.*" }, "description": "A list of status key expressions to query schemas for. Supports patterns. Requires the `spark:xapi_statuses` scope." } }, { "name": "command", "in": "query", "description": "A list of command key expressions to query schemas for. Supports patterns. Requires the `spark:xapi_commands` scope.", "required": false, "example": "UserInterface.*", "schema": { "type": "array", "items": { "type": "string", "example": "UserInterface.*" }, "description": "A list of command key expressions to query schemas for. Supports patterns. Requires the `spark:xapi_commands` scope." } } ] } }, "/xapi/command/{commandName}": { "post": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "type": "object", "properties": { "deviceId": { "type": "string", "example": "Y2lzY29zcGFyazovL3VzL0RFVklDRS8wNTVkYThiNy02NWI2LTQ5NjgtOTg1ZC02ZmFjODcwOWMyMDM", "description": "The unique identifier for the Webex RoomOS Device." }, "arguments": { "type": "object", "properties": { "Level": { "type": "number", "example": 50 } }, "description": "xAPI command arguments" }, "result": { "type": "object", "properties": { "Booking": { "type": "object", "properties": { "Id": { "type": "string", "example": "foo" }, "Title": { "type": "string", "example": "Booking Title" }, "Protocol": { "type": "string", "example": "SIP" }, "Time": { "type": "object", "properties": { "StartTime": { "type": "string", "example": "2020-07-01T13:00:00Z" }, "Duration": { "type": "number", "example": 60 } } }, "Organizer": { "type": "object", "properties": { "Name": { "type": "string", "example": "John Doe" } } }, "Number": { "type": "string", "example": "number@example.com" } } } }, "description": "xAPI command results" } } }, "example": { "deviceId": "Y2lzY29zcGFyazovL3VzL0RFVklDRS8wNTVkYThiNy02NWI2LTQ5NjgtOTg1ZC02ZmFjODcwOWMyMDM", "arguments": { "Level": 50 }, "result": { "Booking": { "Id": "foo", "Title": "Booking Title", "Protocol": "SIP", "Time": { "StartTime": "2020-07-01T13:00:00Z", "Duration": 60 }, "Organizer": { "Name": "John Doe" }, "Number": "number@example.com" } } } } } }, "400": { "description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further." }, "401": { "description": "Unauthorized: Authentication credentials were missing or incorrect." }, "403": { "description": "Forbidden: The request is understood, but it has been refused or access is not allowed." }, "404": { "description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method." }, "405": { "description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported." }, "409": { "description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once." }, "410": { "description": "Gone: The requested resource is no longer available." }, "415": { "description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported." }, "423": { "description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again." }, "428": { "description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded." }, "429": { "description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made." }, "500": { "description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)." }, "502": { "description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later." }, "503": { "description": "Service Unavailable: Server is overloaded with requests. Try again later." }, "504": { "description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it." } }, "summary": "Execute Command", "operationId": "Execute Command", "description": "Executes a command on the Webex RoomOS Device. Specify the command to execute in the `commandName` URI parameter.\n\nSee the [xAPI section of the Device Developers Guide](/docs/devices#xapi) for a description of command expressions.", "tags": [ "xAPI" ], "parameters": [ { "name": "commandName", "in": "path", "description": "Command to execute on the Webex RoomOS Device.", "required": true, "example": "Audio.Volume.Set", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "required": [ "deviceId", "arguments" ], "properties": { "deviceId": { "type": "string", "example": "Y2lzY29zcGFyazovL3VzL0RFVklDRS8wNTVkYThiNy02NWI2LTQ5NjgtOTg1ZC02ZmFjODcwOWMyMDM", "description": "The unique identifier for the Webex RoomOS Device." }, "arguments": { "type": "object", "properties": { "Level": { "type": "number", "example": 50 } }, "description": "xAPI command arguments" }, "body": { "type": "object", "properties": { "Booking": { "type": "object", "properties": { "Id": { "type": "string", "example": "foo" }, "Title": { "type": "string", "example": "Booking Title" }, "Protocol": { "type": "string", "example": "SIP" }, "Time": { "type": "object", "properties": { "StartTime": { "type": "string", "example": "2020-07-01T13:00:00Z" }, "Duration": { "type": "number", "example": 60 } } }, "Organizer": { "type": "object", "properties": { "Name": { "type": "string", "example": "John Doe" } } }, "Number": { "type": "string", "example": "number@example.com" } } } }, "description": "xAPI command body, as a complex JSON object or as a string, for example: `import xapi from 'xapi';\\n\\nconsole.log('Hello, World!');\\n`" } } } } } } } } }, "components": { "schemas": { "AcdObject": { "type": "object", "required": [ "enabled", "displayCallqueueAgentSoftkeys" ], "properties": { "enabled": { "type": "boolean", "example": true, "description": "Indicates whether the ACD object is enabled." }, "displayCallqueueAgentSoftkeys": { "$ref": "#/components/schemas/DisplayCallqueueAgentSoftkeysObject", "description": "Indicates the call queue agent soft key value of an ACD object." } } }, "AcdObjectDevice": { "type": "object", "required": [ "enabled", "displayCallqueueAgentSoftkeys" ], "properties": { "enabled": { "type": "boolean", "example": true, "description": "Indicates whether the ACD object is enabled." }, "displayCallqueueAgentSoftkeys": { "$ref": "#/components/schemas/DisplayCallqueueAgentSoftkeysObject", "description": "Indicates the call queue agent soft key value of an ACD object." } } }, "ActivationStates": { "type": "string", "enum": [ "activating", "activated", "deactivated" ], "description": " * `activating` - Device is activating using an activation code.\n * `activated` - Device has been activated using an activation code.\n * `deactivated` - Device has not been activated using an activation code.\n" }, "AdminBatchStartJobObjectLocationCustomizations": { "type": "object", "properties": { "locationId": { "type": "string", "example": "'Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OL2E4Mjg5NzIyLTFiODAtNDFiNy05Njc4LTBlNzdhZThjMTA5OA'", "description": "Location within an organization where changes of device setings will be applied to all the devices within it." }, "locationCustomizationsEnabled": { "type": "boolean", "description": "Indicates if all the devices within this location will be customized with new requested customizations(if set to `true`) or will be overridden with the one at organization level (if set to `false` or any other value). This field has no effect when the job is being triggered at organization level." }, "customizations": { "$ref": "#/components/schemas/CustomizationObject", "description": "Indicates the settings for ATA devices, DECT devices and MPP devices." } } }, "AtaDtmfMethodObject": { "type": "string", "enum": [ "INBAND", "AVT", "AUTO" ], "description": " * `INBAND` - Sends DTMF by using the audio path.\n * `AVT` - Audio video transport. Sends DTMF as AVT events.\n * `AUTO` - Uses InBand or AVT based on the outcome of codec negotiation.\n" }, "AtaDtmfModeObject": { "type": "string", "enum": [ "STRICT", "NORMAL" ], "description": " * `STRICT` - A DTMF digit requires an extra hold time after detection and the DTMF level threshold is raised to -20 dBm.\n * `NORMAL` - Normal threshold mode.\n" }, "AudioCodecPriorityObject": { "type": "object", "required": [ "selection", "primary", "secondary", "tertiary" ], "properties": { "selection": { "$ref": "#/components/schemas/SelectionType", "description": "Indicates the selection of an Audio Codec Priority Object." }, "primary": { "type": "string", "example": "G711a", "description": "Indicates the primary Audio Codec." }, "secondary": { "type": "string", "example": "G711u", "description": "Indicates the secondary Audio Codec." }, "tertiary": { "type": "string", "example": "G729a", "description": "Indicates the tertiary Audio Codec." } } }, "AudioCodecPriorityObjectDevice": { "type": "object", "required": [ "selection", "primary", "secondary", "tertiary" ], "properties": { "selection": { "$ref": "#/components/schemas/SelectionType", "description": "Indicates the selection of an Audio Codec Priority Object." }, "primary": { "type": "string", "example": "G711a", "description": "Indicates the primary Audio Codec." }, "secondary": { "type": "string", "example": "G711u", "description": "Indicates the secondary Audio Codec." }, "tertiary": { "type": "string", "example": "G729a", "description": "Indicates the tertiary Audio Codec." } } }, "AuthenticationMethodObject": { "type": "string", "enum": [ "NONE", "EAP_FAST", "PEAP_GTC", "PEAP_MSCHAPV2", "PSK", "WEP" ], "description": " * `NONE` - No authentication.\n * `EAP_FAST` - Extensible Authentication Protocol-Flexible Authentication via Secure Tunneling. Requires username and password authentication.\n * `PEAP_GTC` - Protected Extensible Authentication Protocol - Generic Token Card. Requires username and password authentication.\n * `PEAP_MSCHAPV2` - Protected Extensible Authentication Protocol - Microsoft Challenge Handshake Authentication Protocol version 2. Requires username and password authentication.\n * `PSK` - Pre-Shared Key. Requires shared passphrase for authentication.\n * `WEP` - Wired Equivalent Privacy. Requires encryption key for authentication.\n" }, "BackgroundImage": { "type": "string", "enum": [ "NONE", "DARK_BLUE", "CISCO_DARK_BLUE", "WEBEX_DARK_BLUE", "CUSTOM_BACKGROUND" ], "description": " * `NONE` - Indicates that there will be no background image set for the devices.\n * `DARK_BLUE` - Indicates that dark blue background image will be set for the devices.\n * `CISCO_DARK_BLUE` - Indicates that Cisco themed dark blue background image will be set for the devices.\n * `WEBEX_DARK_BLUE` - Indicates that Cisco Webex dark blue background image will be set for the devices.\n * `CUSTOM_BACKGROUND` - Indicates that a custom background image will be set for the devices.\n * `customUrl` - When this option is selected, a field 'Custom Background URL' needs to be added with the image url. URLs provided must link directly to an image file and be in HTTP, HTTPS, or filepath format.\n" }, "BackgroundImageColor": { "type": "string", "enum": [ "CYAN_DARK", "PURPLE_DARK", "BLUE_DARK", "VIOLET_DARK", "BLUE_LIGHT", "VIOLET_LIGHT" ], "description": " * `CYAN_DARK` - Indicates that dark cyan background image will be set for the devices.\n * `PURPLE_DARK` - Indicates the dark purple background image will be set for the devices.\n * `BLUE_DARK` - Indicates the dark blue background image will be set for the devices.\n * `VIOLET_DARK` - Indicates the dark violet background image will be set for the devices.\n * `BLUE_LIGHT` - Indicates the light blue background image will be set for the devices.\n * `VIOLET_LIGHT` - Indicates the light violet background image will be set for the devices.\n" }, "BacklightTimer68XX": { "type": "string", "enum": [ "ALWAYS_ON", "TEN_SEC", "TWENTY_SEC", "THIRTY_SEC", "OFF" ], "description": " * `ALWAYS_ON` - Keep the phone's backlight always on.\n * `TEN_SEC` - Set the phone's backlight to be on for ten seconds.\n * `TWENTY_SEC` - Set the phone's backlight to be on for twenty seconds.\n * `THIRTY_SEC` - Set the phone's backlight to be on for thirty seconds.\n * `OFF` - Keep the phone's backlight off.\n" }, "BacklightTimer68XXDevice": { "type": "string", "enum": [ "ALWAYS_ON", "TEN_SEC", "TWENTY_SEC", "THIRTY_SEC", "OFF" ], "description": " * `ALWAYS_ON` - Keep the phone's backlight always on.\n * `TEN_SEC` - Set the phone's backlight to be on for ten seconds.\n * `TWENTY_SEC` - Set the phone's backlight to be on for twenty seconds.\n * `THIRTY_SEC` - Set the phone's backlight to be on for thirty seconds.\n * `OFF` - Keep the phone's backlight off.\n" }, "BacklightTimerObject": { "type": "string", "enum": [ "ONE_MIN", "FIVE_MIN", "THIRTY_MIN", "ALWAYS_ON" ], "description": " * `ONE_MIN` - Set the phone's backlight to be on for one minute.\n * `FIVE_MIN` - Set the phone's backlight to be on for five minutes.\n * `THIRTY_MIN` - Set the phone's backlight to be on for thirty minutes.\n * `ALWAYS_ON` - Keep the phone's backlight always on.\n" }, "BacklightTimerObjectDevice": { "type": "string", "enum": [ "ONE_MIN", "FIVE_MIN", "THIRTY_MIN", "ALWAYS_ON" ], "description": " * `ONE_MIN` - Set the phone's backlight to be on for one minute.\n * `FIVE_MIN` - Set the phone's backlight to be on for five minutes.\n * `THIRTY_MIN` - Set the phone's backlight to be on for thirty minutes.\n * `ALWAYS_ON` - Keep the phone's backlight always on.\n" }, "BluetoothObject": { "type": "object", "required": [ "enabled", "mode" ], "properties": { "enabled": { "type": "boolean", "example": true, "description": "Enable/disable Bluetooth." }, "mode": { "type": "string", "enum": [ "PHONE" ], "description": "Select a Bluetooth mode." }, "PHONE": { "type": "string" }, "HANDS_FREE": { "type": "string" }, "BOTH": { "type": "string" } } }, "BluetoothObjectDevice": { "type": "object", "required": [ "enabled" ], "properties": { "enabled": { "type": "boolean", "example": true, "description": "Enable/disable Bluetooth." }, "mode": { "type": "string", "enum": [ "PHONE", "HANDS_FREE", "BOTH" ], "description": "Select a Bluetooth mode." } } }, "CallForwardExpandedSoftKey": { "type": "string", "enum": [ "ONLY_THE_CALL_FORWARD_ALL", "ALL_CALL_FORWARDS" ], "description": " * `ONLY_THE_CALL_FORWARD_ALL` - Set the default call forward expanded soft key behavior to single option.\n * `ALL_CALL_FORWARDS` - Set the default call forward expanded soft key behavior to multiple menu option.\n" }, "CallHistoryMethod": { "type": "string", "enum": [ "WEBEX_UNIFIED_CALL_HISTORY", "LOCAL_CALL_HISTORY" ], "description": " * `WEBEX_UNIFIED_CALL_HISTORY` - Set call history to use the unified call history from all of the end user's devices.\n * `LOCAL_CALL_HISTORY` - Set call history to use local device information only.\n" }, "CommSecurityType": { "type": "string", "enum": [ "NONE", "SSL", "STARTTLS" ], "description": " * `NONE` - Sets the LDAP server security protocol to None.\n * `SSL` - Sets the LDAP server security protocol to SSL.\n * `STARTTLS` - Sets the LDAP server security protocol to STARTTLS.\n" }, "Compression": { "type": "string", "enum": [ "ON", "OFF" ], "description": " * `ON` - Minimize data use during compression.\n * `OFF` - Ignore data use during compression.\n" }, "CountObject": { "type": "object", "required": [ "totalNumbers", "numbersDeleted", "numbersMoved", "numbersFailed" ], "properties": { "totalNumbers": { "type": "number", "description": "Indicates the total number of phone numbers requested to be moved." }, "numbersDeleted": { "type": "number", "description": "Indicates the total number of phone numbers successfully deleted." }, "numbersMoved": { "type": "number", "description": "Indicates the total number of phone numbers successfully moved." }, "numbersFailed": { "type": "number", "description": "Indicates the total number of phone numbers failed." } } }, "CustomizationDeviceLevelObject": { "type": "object", "properties": { "ata": { "$ref": "#/components/schemas/ataObject", "description": "Applicable device settings for an ATA device." }, "mpp": { "$ref": "#/components/schemas/mppObject", "description": "Applicable device settings for an MPP device." }, "wifi": { "$ref": "#/components/schemas/wifiObject", "description": "Applicable device settings for a WiFi device." } } }, "CustomizationDeviceLevelObjectDevice": { "type": "object", "properties": { "ata": { "$ref": "#/components/schemas/ataObjectDevice", "description": "Applicable device settings for an ATA device." }, "mpp": { "$ref": "#/components/schemas/mppObjectDevice", "description": "Applicable device settings for an MPP device." }, "wifi": { "$ref": "#/components/schemas/wifiObjectDevice", "description": "Applicable device settings for a WiFi device." } } }, "CustomizationObject": { "type": "object", "properties": { "ata": { "$ref": "#/components/schemas/ataObject", "description": "Settings that are applicable to ATA devices." }, "dect": { "$ref": "#/components/schemas/dectObject", "description": "Settings that are applicable to DECT devices." }, "mpp": { "$ref": "#/components/schemas/mppObject", "description": "Settings that are applicable to MPP devices." }, "wifi": { "$ref": "#/components/schemas/wifiObject", "description": "Settings that are applicable to WiFi." } } }, "DectAudioCodecPriorityObject": { "type": "object", "required": [ "selection", "primary", "secondary", "tertiary" ], "properties": { "selection": { "$ref": "#/components/schemas/SelectionType", "description": "Indicates the selection of an Audio Codec Priority Object." }, "primary": { "type": "string", "example": "G729", "description": "Indicates the primary Audio Codec." }, "secondary": { "type": "string", "example": "G711u", "description": "Indicates the secondary Audio Codec." }, "tertiary": { "type": "string", "example": "G711a", "description": "Indicates the tertiary Audio Codec." } } }, "DectDeviceList": { "type": "object", "required": [ "model", "displayName" ], "properties": { "model": { "type": "string", "example": "DMS Cisco DBS110", "description": "Model name of the device." }, "displayName": { "type": "string", "example": "Cisco DECT 210 Base", "description": "Display name of the device." }, "numberOfBaseStations": { "type": "number", "example": 250, "description": "Indicates number of base stations." }, "numberOfLinePorts": { "type": "number", "example": 1000, "description": "Indicates number of port lines," }, "numberOfRegistrationsSupported": { "type": "number", "example": 30, "description": "Indicates number of supported registrations." } } }, "DectVlanObject": { "type": "object", "required": [ "enabled", "value" ], "properties": { "enabled": { "type": "boolean", "description": "Denotes whether the VLAN object of DECT is enabled." }, "value": { "type": "number", "description": "Value of the VLAN Object of DECT." } } }, "DefaultLoggingLevelObject": { "type": "string", "enum": [ "STANDARD", "DEBUGGING" ], "description": " * `STANDARD` - Enables standard logging.\n * `DEBUGGING` - Enables detailed debugging logging.\n" }, "DeviceActivationStates": { "type": "string", "enum": [ "ACTIVATING", "ACTIVATED", "DEACTIVATED" ], "description": " * `ACTIVATING` - Indicates a device is activating.\n * `ACTIVATED` - Indicates a device is activated.\n * `DEACTIVATED` - Indicates a device is deactivated.\n" }, "DeviceSettingsObject": { "type": "object", "required": [ "customizations", "customEnabled", "updateInProgress", "deviceCount", "lastUpdateTime" ], "properties": { "customizations": { "$ref": "#/components/schemas/CustomizationDeviceLevelObject", "description": "Indicates the customization object of the device settings." }, "customEnabled": { "type": "boolean", "example": true, "description": "Indicates if customization is allowed at a location level. If `true`, customized at a location level. If `false`, not customized; uses customer-level configuration." }, "updateInProgress": { "type": "boolean", "example": true, "description": "Customer devices setting update status. If `true`, an update is in progress (no further changes are allowed). `If false`, no update in progress (changes are allowed)." }, "deviceCount": { "type": "number", "example": 9, "description": "Number of devices that will be updated." }, "lastUpdateTime": { "type": "number", "example": 1659624763665, "description": "Indicates the last updated time." } } }, "DeviceSettingsObjectForDeviceLevel": { "type": "object", "required": [ "customizations", "customEnabled", "updateInProgress", "deviceCount", "lastUpdateTime" ], "properties": { "customizations": { "$ref": "#/components/schemas/CustomizationDeviceLevelObjectDevice", "description": "Indicates the customization object of the device settings." }, "customEnabled": { "type": "boolean", "example": true, "description": "Indicates if customization is allowed at a device level. If `true`, customized at a device level. If `false`, not customized; uses customer-level configuration." }, "updateInProgress": { "type": "boolean", "example": true, "description": "Customer devices setting update status. If `true`, an update is in progress (no further changes are allowed). `If false`, no update in progress (changes are allowed)." }, "deviceCount": { "type": "number", "example": 9, "description": "Number of devices that will be updated." }, "lastUpdateTime": { "type": "number", "example": 1659624763665, "description": "Indicates the last updated time." } } }, "DirectoryMethod": { "type": "string", "enum": [ "XSI_DIRECTORY", "WEBEX_DIRECTORY" ], "description": " * `XSI_DIRECTORY` - Set directory services to use standard XSI query method from the device.\n * `WEBEX_DIRECTORY` - Set directory services to use the Webex Enterprise directory.\n" }, "DisplayCallqueueAgentSoftkeysObject": { "type": "string", "enum": [ "FRONT_PAGE", "LAST_PAGE" ] }, "DisplayNameSelection": { "type": "string", "enum": [ "PERSON_NUMBER", "PERSON_FIRST_THEN_LAST_NAME", "PERSON_LAST_THEN_FIRST_NAME" ], "description": " * `PERSON_NUMBER` - Indicates that devices will display the person's phone number, or if a person doesn't have a phone number, the location number will be displayed.\n * `PERSON_FIRST_THEN_LAST_NAME` - Indicates that devices will display the name in first name then last name format.\n * `PERSON_LAST_THEN_FIRST_NAME` - Indicates that devices will display the name in last name then first name format.\n" }, "GetMemberResponse": { "type": "object", "required": [ "model", "maxLineCount" ], "properties": { "model": { "type": "string", "example": "DMS Cisco 192", "description": "Model type of the device." }, "members": { "type": "array", "items": { "$ref": "#/components/schemas/MemberObject" }, "description": "List of members that appear on the device." }, "maxLineCount": { "type": "number", "example": 10, "description": "Maximum number of lines available for the device." } } }, "Hoteling": { "type": "object", "required": [ "enabled", "limitGuestUse" ], "properties": { "enabled": { "type": "boolean", "description": "Enable/Disable hoteling Host. Enabling the device for hoteling means that a guest(end user) can log into this host(workspace device) and use this device\n\nas if it were their own. This is useful when traveling to a remote office but still needing to place/receive calls with their telephone number and access features normally available to them on their office phone." }, "limitGuestUse": { "type": "boolean", "description": "Enable limiting the time a guest can use the device. The time limit is configured via `guestHoursLimit`." }, "guestHoursLimit": { "type": "number", "description": "Time Limit in hours until hoteling is enabled. Mandatory if `limitGuestUse` is enabled." } } }, "UserHotelingRequestPatch": { "type": "object", "required": [ "hoteling" ], "properties": { "hoteling": { "$ref": "#/components/schemas/HotelingRequest", "description": "Modify person Device Hoteling Setting." } } }, "HotelingRequest": { "type": "object", "required": [ "enabled" ], "properties": { "enabled": { "type": "boolean", "description": "Enable/Disable hoteling Host. Enabling the device for hoteling means that a guest(end user) can log into this host(workspace device) and use this device\n\nas if it were their own. This is useful when traveling to a remote office but still needing to place/receive calls with their telephone number and access features normally available to them on their office phone." }, "limitGuestUse": { "type": "boolean", "description": "Enable limiting the time a guest can use the device. The time limit is configured via `guestHoursLimit`." }, "guestHoursLimit": { "type": "number", "description": "Time Limit in hours until hoteling is enabled. Mandatory if `limitGuestUse` is enabled." } } }, "HttpProxyObject": { "type": "object", "required": [ "mode", "autoDiscoveryEnabled", "host", "port", "packUrl", "authSettingsEnabled", "username", "password" ], "properties": { "mode": { "type": "string", "enum": [ "OFF", "AUTO", "MANUAL" ], "description": "Mode of the HTTP proxy." }, "autoDiscoveryEnabled": { "type": "boolean", "example": true, "description": "Enable/disable auto discovery of the URL." }, "host": { "type": "string", "example": "www.example.wxc", "description": "Specify the host URL if the HTTP mode is set to `MANUAL`." }, "port": { "type": "string", "example": "3128", "description": "Specify the port if the HTTP mode is set to `MANUAL`." }, "packUrl": { "type": "string", "example": "www.example.wxc", "description": "Specify PAC URL if auto discovery is disabled." }, "authSettingsEnabled": { "type": "boolean", "example": true, "description": "Enable/disable authentication settings." }, "username": { "type": "string", "example": "john", "description": "Specify a username if authentication settings are enabled." }, "password": { "type": "string", "example": "private", "description": "Specify a password if authentication settings are enabled." } } }, "HttpProxyObjectDevice": { "type": "object", "required": [ "mode", "autoDiscoveryEnabled" ], "properties": { "mode": { "type": "string", "enum": [ "OFF", "AUTO", "MANUAL" ], "description": "Mode of the HTTP proxy." }, "autoDiscoveryEnabled": { "type": "boolean", "example": true, "description": "Enable/disable auto discovery of the URL." }, "host": { "type": "string", "example": "www.example.wxc", "description": "Specify the host URL if the HTTP mode is set to `MANUAL`." }, "port": { "type": "string", "example": "3128", "description": "Specify the port if the HTTP mode is set to `MANUAL`." }, "packUrl": { "type": "string", "example": "www.example.wxc", "description": "Specify PAC URL if auto discovery is disabled." }, "authSettingsEnabled": { "type": "boolean", "example": true, "description": "Enable/disable authentication settings." }, "username": { "type": "string", "example": "john", "description": "Specify a username if authentication settings are enabled." }, "password": { "type": "string", "example": "private", "description": "Specify a password if authentication settings are enabled." } } }, "JobListResponse": { "type": "object", "required": [ "items" ], "properties": { "items": { "type": "array", "items": { "$ref": "#/components/schemas/StartJobResponse" }, "description": "Lists all jobs for the customer in order of most recent one to oldest one irrespective of its status." } } }, "LdapObject": { "type": "object", "required": [ "enabled", "serverAddress", "serverPort", "commSecurityType", "bindDn", "bindPw", "baseDn", "primaryEmailAttribute", "alternateEmailAttribute" ], "properties": { "enabled": { "type": "boolean", "description": "Sets the values needed to enable use of the LDAP service on the phone." }, "serverAddress": { "type": "string", "example": "localhost", "description": "Sets the values needed to enable use of the LDAP service on the phone." }, "serverPort": { "type": "number", "example": 8080, "description": "Sets the values needed to enable use of the LDAP service on the phone." }, "commSecurityType": { "$ref": "#/components/schemas/CommSecurityType", "description": "Indicates the selection of the protocol for LDAP service on the phone." }, "bindDn": { "type": "string", "example": "bindDn", "description": "Sets the values needed to enable use of the LDAP service on the phone." }, "bindPw": { "type": "string", "example": "bindPw", "description": "Sets the values needed to enable use of the LDAP service on the phone." }, "baseDn": { "type": "string", "example": "baseDn", "description": "Sets the values needed to enable use of the LDAP service on the phone." }, "primaryEmailAttribute": { "type": "string", "example": "primaryEmailAttribute", "description": "Sets the values needed to enable use of the LDAP service on the phone." }, "alternateEmailAttribute": { "type": "string", "example": "alternateEmailAttribute", "description": "Sets the values needed to enable use of the LDAP service on the phone." } } }, "LdapObjectDevice": { "type": "object", "required": [ "enabled" ], "properties": { "enabled": { "type": "boolean", "description": "Sets the values needed to enable use of the LDAP service on the phone." }, "serverAddress": { "type": "string", "example": "localhost", "description": "Sets the values needed to enable use of the LDAP service on the phone." }, "serverPort": { "type": "number", "example": 8080, "description": "Sets the values needed to enable use of the LDAP service on the phone." }, "commSecurityType": { "$ref": "#/components/schemas/CommSecurityType", "description": "Indicates the selection of the protocol for LDAP service on the phone." }, "bindDn": { "type": "string", "example": "bindDn", "description": "Sets the values needed to enable use of the LDAP service on the phone." }, "bindPw": { "type": "string", "example": "bindPw", "description": "Sets the values needed to enable use of the LDAP service on the phone." }, "baseDn": { "type": "string", "example": "baseDn", "description": "Sets the values needed to enable use of the LDAP service on the phone." }, "primaryEmailAttribute": { "type": "string", "example": "primaryEmailAttribute", "description": "Sets the values needed to enable use of the LDAP service on the phone." }, "alternateEmailAttribute": { "type": "string", "example": "alternateEmailAttribute", "description": "Sets the values needed to enable use of the LDAP service on the phone." } } }, "LineKeyLEDPattern": { "type": "string", "enum": [ "DEFAULT", "PRESET_1" ] }, "LineKeyLabelSelection": { "type": "string", "enum": [ "PERSON_EXTENSION", "PERSON_FIRST_THEN_LAST_NAME", "PERSON_LAST_THEN_FIRST_NAME" ], "description": " * `PERSON_EXTENSION` - This will display the person extension, or if a person doesn't have an extension, the person's first name will be displayed.\n * `PERSON_FIRST_THEN_LAST_NAME` - Indicates that devices will display the name in first name then last name format.\n * `PERSON_LAST_THEN_FIRST_NAME` - Indicates that devices will display the name in last name then first name format.\n" }, "LineType": { "type": "string", "enum": [ "PRIMARY", "SHARED_CALL_APPEARANCE" ], "description": " * `PRIMARY` - Primary line for the member.\n * `SHARED_CALL_APPEARANCE` - Shared line for the member. A shared line allows users to receive and place calls to and from another user's extension, using their own device.\n" }, "DeviceLineType": { "type": "string", "enum": [ "PRIMARY", "SHARED_CALL_APPEARANCE", "MOBILITY", "HOTDESKING_GUEST" ], "description": " * `PRIMARY` - Primary line for the member.\n * `SHARED_CALL_APPEARANCE` - Shared line for the member. A shared line allows users to receive and place calls to and from another user's extension, using their own device.\n * `MOBILITY` - Device is a shared line.\n * `HOTDESKING_GUEST` - Device is a hotdesking guest.\n" }, "ListDectDeviceType": { "type": "object", "required": [ "devices" ], "properties": { "devices": { "type": "array", "items": { "$ref": "#/components/schemas/DectDeviceList" }, "description": "Contains a list of devices." } } }, "ListDeviceSettingsObject": { "type": "object", "required": [ "customizations", "updateInProgress", "deviceCount", "lastUpdateTime" ], "properties": { "customizations": { "$ref": "#/components/schemas/CustomizationObject", "description": "Customization object of the device settings." }, "updateInProgress": { "type": "boolean", "description": "Progress of the device update." }, "deviceCount": { "type": "number", "example": 22, "description": "Device count." }, "lastUpdateTime": { "type": "number", "example": 1659624763665, "description": "Last updated time." } } }, "MACAddressResponse": { "type": "object", "required": [ "status", "macStatus" ], "properties": { "status": { "type": "string", "enum": [ "OK", "ERRORS" ], "description": "Status of MAC address." }, "macStatus": { "type": "array", "items": { "$ref": "#/components/schemas/MacStatusObject" }, "description": "Contains an array of all the MAC address provided and their statuses." } } }, "MacStatusObject": { "type": "object", "required": [ "mac", "state" ], "properties": { "mac": { "type": "string", "example": "00005E0053B4", "description": "MAC address." }, "state": { "type": "string", "enum": [ "AVAILABLE", "UNAVAILABLE", "DUPLICATE_IN_LIST", "INVALID" ], "description": "State of the MAC address.\n * `AVAILABLE` - The requested MAC address is available.\n * `UNAVAILABLE` - The requested MAC address is unavailable.\n * `DUPLICATE_IN_LIST` - The requested MAC address is duplicated.\n * `INVALID` - The requested MAC address is invalid.\n" }, "errorCode": { "type": "number", "example": 5675, "description": "MAC address validation error code." }, "message": { "type": "string", "example": "[Error 5675] MAC Address is in use.", "description": "Provides a status message about the MAC address." } } }, "MemberObject": { "type": "object", "required": [ "id", "firstName", "lastName", "primaryOwner", "port", "lineType", "lineWeight", "hotlineEnabled", "hotlineDestination", "allowCallDeclineEnabled", "memberType" ], "properties": { "id": { "type": "string", "example": "Y2lzY29zcGFyazovL3VzL1BFT1BMRS9jODhiZGIwNC1jZjU5LTRjMjMtODQ4OC00NTNhOTE3ZDFlMjk", "description": "Unique identifier for the member." }, "firstName": { "type": "string", "example": "John", "description": "First name of a person or workspace." }, "lastName": { "type": "string", "example": "Smith", "description": "Last name of a person or workspace." }, "phoneNumber": { "type": "string", "example": "2055552221", "description": "Phone Number of a person or workspace. In some regions phone numbers are not returned in E.164 format. This will be supported in a future update." }, "extension": { "type": "string", "example": "000", "description": "Extension of a person or workspace." }, "routingPrefix": { "type": "string", "example": "1234", "description": "Routing prefix of location." }, "esn": { "type": "string", "example": "1234000", "description": "Routing prefix + extension of a person or workspace." }, "primaryOwner": { "type": "boolean", "example": true, "description": "This field indicates whether the person or the workspace is the owner of the device, and points to a primary Line/Port of the device." }, "port": { "type": "number", "example": 1, "description": "Port number assigned to person or workspace." }, "t38FaxCompressionEnabled": { "type": "boolean", "description": "T.38 Fax Compression setting and is available only for ATA Devices. Choose T.38 fax compression if the device requires this option. This will override user level compression options." }, "lineType": { "$ref": "#/components/schemas/LineType", "description": "Line type is used to differentiate Primary and SCA, at which endpoint it is assigned." }, "lineWeight": { "type": "number", "example": 1, "description": "Number of lines that have been configured for the person on the device." }, "hostIP": { "type": "string", "example": "10.0.0.45", "description": "Registration Host IP address for the line port." }, "remoteIP": { "type": "string", "example": "192.102.12.84", "description": "Registration Remote IP address for the line port." }, "hotlineEnabled": { "type": "boolean", "example": true, "description": "Enable Hotline. Configure this line to automatically call a predefined number whenever taken off-hook. Once enabled, the line can only make calls to the predefined number set in hotlineDestination." }, "hotlineDestination": { "type": "string", "example": "+12055552222", "description": "The preconfigured number for Hotline. Required only if `hotlineEnabled` is set to true." }, "allowCallDeclineEnabled": { "type": "boolean", "example": true, "description": "Set how a person's device behaves when a call is declined. When set to true, a call decline request is extended to all the endpoints on the device. When set to false, a call decline request only declines the current endpoint." }, "lineLabel": { "type": "string", "example": "share line label", "description": "Device line label." }, "linePort": { "type": "string", "example": "evypzco5ds@55552222.int10.bcld.webex.com", "description": "SIP username used in SIP signaling, for example, in registration." }, "memberType": { "$ref": "#/components/schemas/MemberType", "description": "Indicates if the member is of type `PEOPLE` or `PLACE`." }, "location": { "$ref": "#/components/schemas/location", "description": "Location object having a unique identifier for the location and its name." } } }, "MemberType": { "type": "string", "enum": [ "PEOPLE", "PLACE", "VIRTUAL_LINE" ], "description": " * `PEOPLE` - Indicates the associated member is a person.\n * `PLACE` - Indicates the associated member is a workspace.\n * `VIRTUAL_LINE` - Indicates the associated member is a virtual line.\n" }, "MppAudioCodecPriorityObject": { "type": "object", "required": [ "selection", "primary", "secondary", "tertiary" ], "properties": { "selection": { "type": "string", "example": "CUSTOM", "description": "Indicates the selection of the Audio Codec Priority Object for an MPP object." }, "primary": { "type": "string", "example": "OPUS", "description": "Indicates the primary Audio Codec for an MPP object." }, "secondary": { "type": "string", "example": "G722", "description": "Indicates the secondary Audio Codec for an MPP object." }, "tertiary": { "type": "string", "example": "G711u", "description": "Indicates the tertiary Audio Codec for an MPP object." } } }, "MppAudioCodecPriorityObjectDevice": { "type": "object", "required": [ "selection", "primary", "secondary", "tertiary" ], "properties": { "selection": { "$ref": "#/components/schemas/SelectionType", "description": "Indicates the selection of the Audio Codec Priority Object for an MPP object." }, "primary": { "type": "string", "example": "OPUS", "description": "Indicates the primary Audio Codec for an MPP object." }, "secondary": { "type": "string", "example": "G722", "description": "Indicates the secondary Audio Codec for an MPP object." }, "tertiary": { "type": "string", "example": "G711u", "description": "Indicates the tertiary Audio Codec for an MPP object." } } }, "MppVlanObject": { "type": "object", "required": [ "enabled" ], "properties": { "enabled": { "type": "boolean", "description": "Indicates whether the VLAN object of an MPP is enabled." }, "value": { "type": "number", "example": 1, "description": "Indicates the value of a VLAN object for an MPP object." }, "pcPort": { "type": "number", "example": 1, "description": "Indicates the PC port value of a VLAN object for an MPP object." } } }, "MppVlanObjectDevice": { "type": "object", "required": [ "enabled" ], "properties": { "enabled": { "type": "boolean", "description": "Indicates whether the VLAN object of an MPP is enabled." }, "value": { "type": "number", "example": 1, "description": "Indicates the value of a VLAN object for an MPP object." }, "pcPort": { "type": "number", "example": 1, "description": "Indicates the PC port value of a VLAN object for an MPP object." } } }, "NoiseCancellationObject": { "type": "object", "required": [ "enabled", "allowEndUserOverrideEnabled" ], "properties": { "enabled": { "type": "boolean", "example": true, "description": "Enable/disable the Noise Cancellation." }, "allowEndUserOverrideEnabled": { "type": "boolean", "example": true, "description": "Enable/disable to preserve the existing values on the phone and not the value defined for the device setting." } } }, "PhoneLanguage": { "type": "string", "enum": [ "PERSON_LANGUAGE", "ARABIC", "BULGARIAN", "CATALAN", "CHINESE_SIMPLIFIED", "CHINESE_TRADITIONAL", "CROATIAN", "CZECH", "DANISH", "DUTCH", "ENGLISH_UNITED_STATES", "ENGLISH_UNITED_KINGDOM", "FINNISH", "FRENCH_CANADA", "FRENCH_FRANCE", "GERMAN", "GREEK", "HEBREW", "HUNGARIAN", "ITALIAN", "JAPANESE", "KOREAN", "NORWEGIAN", "POLISH", "PORTUGUESE_PORTUGAL", "RUSSIAN", "SPANISH_COLOMBIA", "SPANISH_SPAIN", "SLOVAK", "SWEDISH", "SLOVENIAN", "TURKISH", "UKRAINE" ], "description": " * `PERSON_LANGUAGE` - Indicates a person's announcement language.\n" }, "PoeMode": { "type": "string", "enum": [ "NORMAL", "MAXIMUM" ], "description": " * `NORMAL` - Use normal power consumption.\n * `MAXIMUM` - Use maximum power consumption.\n" }, "PskObject": { "type": "object", "required": [ "psk1", "psk4" ], "properties": { "psk1": { "type": "string", "example": "fnc=sd;ext=*11;nme=Call Pull", "description": "Specify PSK1." }, "psk2": { "type": "string", "example": "fnc=sd;ext=*11;nme=Call Pull", "description": "Specify PSK2." }, "psk3": { "type": "string", "example": "fnc=sd;ext=*11;nme=Call Pull", "description": "Specify PSK3." }, "psk4": { "type": "string", "example": "fnc=sd;ext=*11;nme=Call Pull", "description": "Specify PSK4." }, "psk5": { "type": "string", "example": "fnc=sd;ext=*11;nme=Call Pull", "description": "Specify PSK5." }, "psk6": { "type": "string", "example": "fnc=sd;ext=*11;nme=Call Pull", "description": "Specify PSK6." }, "psk7": { "type": "string", "example": "fnc=sd;ext=*11;nme=Call Pull", "description": "Specify PSK7." }, "psk8": { "type": "string", "example": "fnc=sd;ext=*11;nme=Call Pull", "description": "Specify PSK8." }, "psk9": { "type": "string", "example": "fnc=sd;ext=*11;nme=Call Pull", "description": "Specify PSK9." }, "psk10": { "type": "string", "example": "fnc=sd;ext=*11;nme=Call Pull", "description": "Specify PSK10." }, "psk11": { "type": "string", "example": "fnc=sd;ext=*11;nme=Call Pull", "description": "Specify PSK11." }, "psk12": { "type": "string", "example": "fnc=sd;ext=*11;nme=Call Pull", "description": "Specify PSK12." }, "psk13": { "type": "string", "example": "fnc=sd;ext=*11;nme=Call Pull", "description": "Specify PSK13." }, "psk14": { "type": "string", "example": "fnc=sd;ext=*11;nme=Call Pull", "description": "Specify PSK14." }, "psk15": { "type": "string", "example": "fnc=sd;ext=*11;nme=Call Pull", "description": "Specify PSK15." }, "psk16": { "type": "string", "example": "fnc=sd;ext=*11;nme=Call Pull", "description": "Specify PSK16." } } }, "PutDeviceSettingsRequest": { "type": "object", "required": [ "customizations", "customEnabled" ], "properties": { "customizations": { "$ref": "#/components/schemas/CustomizationDeviceLevelObjectDevice", "description": "Indicates the customization object of the device settings." }, "customEnabled": { "type": "boolean", "example": true, "description": "Indicates if customization is allowed at a device level. If true, customized at a device level. If false, not customized; uses customer-level configuration." } } }, "PutMemberObject": { "type": "object", "required": [ "port", "id", "primaryOwner", "lineType", "lineWeight", "hotlineEnabled", "hotlineDestination", "allowCallDeclineEnabled" ], "properties": { "port": { "type": "number", "example": 1, "description": "Person's assigned port number." }, "id": { "type": "string", "example": "Y2lzY29zcGFyazovL3VzL1BFT1BMRS9jODhiZGIwNC1jZjU5LTRjMjMtODQ4OC00NTNhOTE3ZDFlMjk", "description": "Unique identifier for the member." }, "t38FaxCompressionEnabled": { "type": "boolean", "description": "T.38 Fax Compression setting and is available only for ATA Devices. Choose T.38 fax compression if the device requires this option. This will override user level compression options." }, "primaryOwner": { "type": "boolean", "example": true, "description": "Whether the user is the owner of the device or not, and points to a primary Line/Port of device." }, "lineType": { "$ref": "#/components/schemas/LineType", "description": "Line type is used to differentiate Primary and SCA, at which endpoint it is assigned." }, "lineWeight": { "type": "number", "example": 1, "description": "Number of lines that have been configured for the person on the device." }, "hotlineEnabled": { "type": "boolean", "example": true, "description": "Enable Hotline. Configure this line to automatically call a predefined number whenever taken off-hook. Once enabled, the line can only make calls to the predefined number set in hotlineDestination." }, "hotlineDestination": { "type": "string", "example": "+12055552222", "description": "The preconfigured number for Hotline. Required only if `hotlineEnabled` is set to true." }, "allowCallDeclineEnabled": { "type": "boolean", "example": true, "description": "Set how a person's device behaves when a call is declined. When set to true, a call decline request is extended to all the endpoints on the device. When set to false, a call decline request only declines the current endpoint." }, "lineLabel": { "type": "string", "example": "share line label", "description": "Device line label." } } }, "PutMembersRequest": { "type": "object", "properties": { "members": { "type": "array", "items": { "$ref": "#/components/schemas/PutMemberObject" }, "description": "This specifies the new list of device members, completely replacing the existing device members. If the member's list is omitted then all the users are removed except the primary user." } } }, "ScreenTimeoutObject": { "type": "object", "required": [ "enabled", "value" ], "properties": { "enabled": { "type": "boolean", "example": true, "description": "Indicates whether the Screen Time object is enabled." }, "value": { "type": "number", "example": 400, "description": "Indicates the value of screen timeout." } } }, "SearchMemberObject": { "type": "object", "required": [ "id", "firstName", "lastName", "lineType", "allowCallDeclineEnabled", "memberType" ], "properties": { "id": { "type": "string", "example": "Y2lzY29zcGFyazovL3VzL1BFT1BMRS9jODhiZGIwNC1jZjU5LTRjMjMtODQ4OC00NTNhOTE3ZDFlMjk", "description": "Unique identifier for the member." }, "firstName": { "type": "string", "example": "John", "description": "First name of a person or workspace." }, "lastName": { "type": "string", "example": "Smith", "description": "Last name of a person or workspace." }, "phoneNumber": { "type": "string", "example": "+12055552221", "description": "Phone Number of a person or workspace." }, "t38FaxCompressionEnabled": { "type": "boolean", "description": "T.38 Fax Compression setting and available only for ATA Devices. Choose T.38 fax compression if the device requires this option. this will override user level compression options." }, "lineType": { "$ref": "#/components/schemas/LineType", "description": "Line type is used to differentiate Primary and SCA, at which endpoint it is assigned." }, "allowCallDeclineEnabled": { "type": "boolean", "example": true, "description": "Set how a person's device behaves when a call is declined. When set to true, a call decline request is extended to all the endpoints on the device. When set to false, a call decline request only declines the current endpoint." }, "memberType": { "$ref": "#/components/schemas/MemberType", "description": "Indicates if member is of type `PEOPLE` or `PLACE`." }, "location": { "$ref": "#/components/schemas/location", "description": "Location object having a unique identifier for the location and its name." } } }, "SearchMemberResponse": { "type": "object", "properties": { "members": { "type": "array", "items": { "$ref": "#/components/schemas/SearchMemberObject" }, "description": "List of members available for the device." } } }, "SelectionType": { "type": "string", "enum": [ "REGIONAL", "CUSTOM" ], "description": " * `REGIONAL` - Indicates the regional selection type for audio codec priority.\n * `CUSTOM` - Indicates the custom selection type for audio codec priority.\n" }, "SnmpObject": { "type": "object", "required": [ "enabled", "trustedIP", "getCommunity", "setCommunity", "snmpV3Enabled" ], "properties": { "enabled": { "type": "boolean", "description": "Denotes whether the Simple Network Management Protocol of an ATA is enabled." }, "trustedIP": { "type": "string", "example": "10.0.0.45", "description": "Trusted IPv4 address and subnet mask in this order: 0.0.0.0/0.0.0.0." }, "getCommunity": { "type": "string", "example": "public", "description": "Read-only community string that allows/denies access to other device's statistics. Default value is `public`." }, "setCommunity": { "type": "string", "example": "private", "description": "Read-write community string that protects the device against unauthorized changes. Must never be set to `public`." }, "snmpV3Enabled": { "type": "boolean", "description": "Denotes whether the SNMPv3 security is enabled." } } }, "SoftKeyLayoutObject": { "type": "object", "required": [ "softKeyMenu", "psk", "softKeyMenuDefaults", "pskDefaults" ], "properties": { "softKeyMenu": { "$ref": "#/components/schemas/SoftKeyMenuObject", "description": "Customize SoftKey menu settings." }, "psk": { "$ref": "#/components/schemas/PskObject", "description": "Customize PSK." }, "softKeyMenuDefaults": { "$ref": "#/components/schemas/SoftKeyMenuObject", "description": "Default SoftKey menu settings." }, "pskDefaults": { "$ref": "#/components/schemas/PskObject", "description": "Default PSK." } } }, "SoftKeyMenuObject": { "type": "object", "required": [ "idleKeyList", "offHookKeyList", "dialingInputKeyList", "progressingKeyList", "connectedKeyList", "connectedVideoKeyList", "startTransferKeyList", "startConferenceKeyList", "conferencingKeyList", "releasingKeyList", "holdKeyList", "ringingKeyList", "sharedActiveKeyList", "sharedHeldKeyList" ], "properties": { "idleKeyList": { "type": "string", "example": "guestin|;guestout|;acd_login|;acd_logout|;astate|;redial|;newcall|;cfwd|;recents|;dnd|;unpark|;psk1|;gpickup|;pickup|;dir|4;miss|5;selfview|;messages", "description": "Specify the idle key list." }, "offHookKeyList": { "type": "string", "example": "endcall|1;redial|2;dir|3;lcr|4;unpark|5;pickup|6;gpickup|7", "description": "Specify the off hook key list." }, "dialingInputKeyList": { "type": "string", "example": "dial|1;cancel|2;delchar|3;left|5;right|6", "description": "Specify the dialing input key list." }, "progressingKeyList": { "type": "string", "example": "endcall|2", "description": "Specify the progressing key list." }, "connectedKeyList": { "type": "string", "example": "hold;endcall;xfer;conf;xferLx;confLx;bxfer;phold;redial;dir;park;crdstart;crdstop;crdpause;crdresume", "description": "Specify the connected key list." }, "connectedVideoKeyList": { "type": "string", "example": "hold;endcall;xfer;conf;xferLx;confLx;bxfer;phold;redial;dir;park;crdstart;crdstop;crdpause;crdresume", "description": "Specify the connected video key list." }, "startTransferKeyList": { "type": "string", "example": "endcall|2;xfer|3", "description": "Start the transfer key list." }, "startConferenceKeyList": { "type": "string", "example": "endcall|2;conf|3", "description": "Start the conference key list." }, "conferencingKeyList": { "type": "string", "example": "endcall;join;crdstart;crdstop;crdpause;crdresume", "description": "Specify the conferencing key list." }, "releasingKeyList": { "type": "string", "example": "endcall|2", "description": "Specify the releasing key list." }, "holdKeyList": { "type": "string", "example": "resume|1;endcall|2;newcall|3;redial|4;dir|5", "description": "Specify the hold key list." }, "ringingKeyList": { "type": "string", "example": "answer|1;ignore|2", "description": "Specify the ringing key list." }, "sharedActiveKeyList": { "type": "string", "example": "newcall|1;psk1|2;dir|3;back|4", "description": "Specify the shared active key list." }, "sharedHeldKeyList": { "type": "string", "example": "resume|1;dir|4", "description": "Specify the shared held key list." } } }, "StartJobResponse": { "type": "object", "required": [ "name", "id", "jobType", "trackingId", "sourceUserId", "sourceCustomerId", "targetCustomerId", "instanceId", "latestExecutionStatus", "operationType", "sourceLocationId", "targetLocationId", "counts" ], "properties": { "name": { "type": "string", "description": "Job name." }, "id": { "type": "string", "description": "Unique identifier of the job." }, "jobType": { "type": "string", "description": "Job type." }, "trackingId": { "type": "string", "description": "Unique identifier to track the flow of HTTP requests." }, "sourceUserId": { "type": "string", "description": "Unique identifier to identify which user has run the job." }, "sourceCustomerId": { "type": "string", "description": "Unique identifier to identify the customer who has run the job." }, "targetCustomerId": { "type": "string", "description": "Unique identifier to identify the customer for which the job was run." }, "instanceId": { "type": "number", "description": "Unique identifier to identify the instance of the job." }, "jobExecutionStatus": { "type": "array", "items": { "$ref": "#/components/schemas/JobExecutionStatusObject1" }, "description": "Displays the most recent step's execution status. Contains execution statuses of all the steps involved in the execution of the job." }, "latestExecutionStatus": { "type": "string", "description": "Indicates the most recent status (STARTING, STARTED, COMPLETED, FAILED) of the job at the time of invocation." }, "latestExecutionExitCode": { "type": "string", "enum": [ "UNKNOWN", "COMPLETED", "FAILED", "STOPPED", "COMPLETED_WITH_ERRORS" ], "description": "Most recent exit code of the job at the time of invocation.\n * `UNKNOWN` - Job is in progress.\n * `COMPLETED` - Job has completed successfully.\n * `FAILED` - Job has failed.\n * `STOPPED` - Job has been stopped.\n * `COMPLETED_WITH_ERRORS` - Job has completed with errors.\n" }, "operationType": { "type": "string", "description": "Indicates operation type that was carried out." }, "sourceLocationId": { "type": "string", "description": "Unique location identifier for which the job was run." }, "targetLocationId": { "type": "string", "description": "Unique location identifier for which the numbers have been moved." }, "counts": { "$ref": "#/components/schemas/CountObject", "description": "Job statistics." } } }, "UsbPortsObject": { "type": "object", "required": [ "enabled", "sideUsbEnabled", "rearUsbEnabled" ], "properties": { "enabled": { "type": "boolean", "description": "New Control to Enable/Disable the side USB port." }, "sideUsbEnabled": { "type": "boolean", "example": true, "description": "Enable/disable use of the side USB port on the MPP device. Enabled by default." }, "rearUsbEnabled": { "type": "boolean", "example": true, "description": "Enable/disable use of the rear USB port on the MPP device." } } }, "ValidateMACRequest": { "type": "object", "required": [ "macs" ], "properties": { "macs": { "type": "array", "items": { "type": "string", "example": "ab125678cdef,00005E0053B4" }, "description": "MAC addresses to be validated." } } }, "VlanObject": { "type": "object", "required": [ "enabled", "value" ], "properties": { "enabled": { "type": "boolean", "example": true, "description": "Denotes whether the VLAN object of an ATA is enabled." }, "value": { "type": "number", "example": 1, "description": "The value of the VLAN Object of an ATA object." } } }, "VlanObjectDevice": { "type": "object", "required": [ "enabled", "value" ], "properties": { "enabled": { "type": "boolean", "example": true, "description": "Denotes whether the VLAN object of an ATA is enabled." }, "value": { "type": "number", "example": 1, "description": "The value of the VLAN Object of an ATA object." } } }, "VolumeSettingsObject": { "type": "object", "required": [ "ringerVolume", "speakerVolume", "handsetVolume", "headsetVolume", "eHookEnabled", "allowEndUserOverrideEnabled" ], "properties": { "ringerVolume": { "type": "number", "example": 9, "description": "Specify a ringer volume level through a numeric value between 0 and 15." }, "speakerVolume": { "type": "number", "example": 11, "description": "Specify a speaker volume level through a numeric value between 0 and 15." }, "handsetVolume": { "type": "number", "example": 10, "description": "Specify a handset volume level through a numeric value between 0 and 15." }, "headsetVolume": { "type": "number", "example": 10, "description": "Specify a headset volume level through a numeric value between 0 and 15." }, "eHookEnabled": { "type": "boolean", "example": true, "description": "Enable/disable the wireless headset hookswitch control." }, "allowEndUserOverrideEnabled": { "type": "boolean", "example": true, "description": "Enable/disable to preserve the existing values on the phone and not the values defined for the device settings." } } }, "WebAccessObject": { "type": "object", "required": [ "enabled", "password" ], "properties": { "enabled": { "type": "boolean", "description": "Ability to enable or disable the web browser access for the 840/860." }, "password": { "type": "string", "example": "password", "description": "Ability to set a Web Server Password." } } }, "WifiAudioCodecPriorityObject": { "type": "object", "required": [ "selection", "primary", "secondary", "tertiary" ], "properties": { "selection": { "$ref": "#/components/schemas/SelectionType", "description": "Indicates the selection of the Audio Codec Priority Object for an WiFi object." }, "primary": { "type": "string", "example": "OPUS", "description": "Indicates the primary Audio Codec for an WiFi object." }, "secondary": { "type": "string", "example": "G722", "description": "Indicates the secondary Audio Codec for an WiFi object." }, "tertiary": { "type": "string", "example": "G711u", "description": "Indicates the tertiary Audio Codec for an WiFi object." } } }, "WifiAudioCodecPriorityObjectDevice": { "type": "object", "required": [ "selection", "primary", "secondary", "tertiary" ], "properties": { "selection": { "type": "string", "example": "CUSTOM", "description": "Indicates the selection of the Audio Codec Priority Object for an WiFi object." }, "primary": { "type": "string", "example": "OPUS", "description": "Indicates the primary Audio Codec for an WiFi object." }, "secondary": { "type": "string", "example": "G722", "description": "Indicates the secondary Audio Codec for an WiFi object." }, "tertiary": { "type": "string", "example": "G711u", "description": "Indicates the tertiary Audio Codec for an WiFi object." } } }, "WifiNetworkObject": { "type": "object", "required": [ "enabled", "authenticationMethod", "ssidName", "userId" ], "properties": { "enabled": { "type": "boolean", "description": "Indicates whether the wifi network is enabled." }, "authenticationMethod": { "$ref": "#/components/schemas/AuthenticationMethodObject", "description": "Authentication method of wifi network." }, "ssidName": { "type": "string", "example": "my_wifi_network", "description": "SSID name of the wifi network." }, "userId": { "type": "string", "example": "test-user", "description": "User Id of the wifi network." } } }, "WifiNetworkObjectDevice": { "type": "object", "required": [ "enabled", "authenticationMethod", "ssidName", "userId" ], "properties": { "enabled": { "type": "boolean", "description": "Indicates whether the wifi network is enabled." }, "authenticationMethod": { "$ref": "#/components/schemas/AuthenticationMethodObject", "description": "Authentication method of the WiFi network." }, "ssidName": { "type": "string", "example": "my_wifi_network", "description": "SSID name of the wifi network." }, "userId": { "type": "string", "example": "test-user", "description": "User ID for the WiFi network." } } }, "ataObject": { "type": "object", "required": [ "audioCodecPriority", "ataDtmfMode", "ataDtmfMethod", "cdpEnabled", "lldpEnabled", "qosEnabled", "vlan", "webAccessEnabled", "nightlyResyncEnabled", "snmp" ], "properties": { "audioCodecPriority": { "$ref": "#/components/schemas/AudioCodecPriorityObject", "description": "Choose up to three predefined codec priority options available for your region." }, "ataDtmfMode": { "$ref": "#/components/schemas/AtaDtmfModeObject", "description": "DTMF Detection Tx Mode selection for Cisco ATA devices." }, "ataDtmfMethod": { "$ref": "#/components/schemas/AtaDtmfMethodObject", "description": "Method for transmitting DTMF signals to the far end." }, "cdpEnabled": { "type": "boolean", "example": true, "description": "Enable/disable Cisco Discovery Protocol for local devices." }, "lldpEnabled": { "type": "boolean", "example": true, "description": "Enable/disable Link Layer Discovery Protocol for local devices." }, "qosEnabled": { "type": "boolean", "example": true, "description": "Enable/disable quality of service tagging of packets from the local device to the Webex Calling platform." }, "vlan": { "$ref": "#/components/schemas/VlanObject", "description": "Specify a numeric Virtual LAN ID for devices." }, "webAccessEnabled": { "type": "boolean", "example": true, "description": "Enable/disable user level web access to the local device." }, "nightlyResyncEnabled": { "type": "boolean", "example": true, "description": "Enable/disable the automatic nightly configuration resync of the MPP device." }, "snmp": { "$ref": "#/components/schemas/SnmpObject", "description": "Specify values needed to enable use of the SNMP service from the phone." } } }, "ataObjectDevice": { "type": "object", "required": [ "audioCodecPriority", "ataDtmfMode", "ataDtmfMethod", "cdpEnabled", "lldpEnabled", "qosEnabled", "vlan", "webAccessEnabled", "nightlyResyncEnabled", "snmp" ], "properties": { "audioCodecPriority": { "$ref": "#/components/schemas/AudioCodecPriorityObjectDevice", "description": "Choose up to three predefined codec priority options available for your region." }, "ataDtmfMode": { "$ref": "#/components/schemas/AtaDtmfModeObject", "description": "DTMF Detection Tx Mode selection for Cisco ATA devices." }, "ataDtmfMethod": { "$ref": "#/components/schemas/AtaDtmfMethodObject", "description": "Method for transmitting DTMF signals to the far end." }, "cdpEnabled": { "type": "boolean", "example": true, "description": "Enable/disable Cisco Discovery Protocol for local devices." }, "lldpEnabled": { "type": "boolean", "example": true, "description": "Enable/disable Link Layer Discovery Protocol for local devices." }, "qosEnabled": { "type": "boolean", "example": true, "description": "Enable/disable quality of service tagging of packets from the local device to the Webex Calling platform." }, "vlan": { "$ref": "#/components/schemas/VlanObjectDevice", "description": "Specify a numeric Virtual LAN ID for devices." }, "webAccessEnabled": { "type": "boolean", "example": true, "description": "Enable/disable user level web access to the local device." }, "nightlyResyncEnabled": { "type": "boolean", "example": true, "description": "Enable/disable the automatic nightly configuration resync of the MPP device." }, "snmp": { "$ref": "#/components/schemas/SnmpObject", "description": "Specify values needed to enable use of the SNMP service from the phone." } } }, "dectObject": { "type": "object", "required": [ "audioCodecPriority", "cdpEnabled", "dect6825HandsetEmergencyNumber", "lldpEnabled", "multicast", "qosEnabled", "vlan", "webAccessEnabled", "nightlyResyncEnabled" ], "properties": { "audioCodecPriority": { "$ref": "#/components/schemas/DectAudioCodecPriorityObject", "description": "Choose up to three predefined codec priority options available for your region." }, "cdpEnabled": { "type": "boolean", "example": true, "description": "Enable/disable Cisco Discovery Protocol for local devices." }, "dect6825HandsetEmergencyNumber": { "type": "string", "description": "Specify the destination number to be dialled from the DECT Handset top button when pressed." }, "lldpEnabled": { "type": "boolean", "example": true, "description": "Enable/disable Link Layer Discovery Protocol for local devices." }, "multicast": { "type": "string", "description": "Specify up to 3 multicast group URLs each with a unique listening port." }, "qosEnabled": { "type": "boolean", "example": true, "description": "Enable/disable quality of service tagging of packets from the local device to the Webex Calling platform." }, "vlan": { "$ref": "#/components/schemas/DectVlanObject", "description": "Specify a numeric Virtual LAN ID for devices." }, "webAccessEnabled": { "type": "boolean", "example": true, "description": "Enable/disable user level web access to the local device." }, "nightlyResyncEnabled": { "type": "boolean", "example": true, "description": "Enable/disable phone's default behavior regarding the nightly maintenance synchronization with the Webex Calling platform." } } }, "deviceList": { "type": "object", "required": [ "devices", "maxDeviceCount", "maxOwnedDeviceCount" ], "properties": { "devices": { "type": "array", "items": { "$ref": "#/components/schemas/devices" }, "description": "Array of devices available to person." }, "maxDeviceCount": { "type": "number", "description": "Maximum number of devices a person can be assigned to." }, "maxOwnedDeviceCount": { "type": "number", "description": "Maximum number of devices a person can own." } } }, "deviceOwner": { "type": "object", "required": [ "id", "type", "firstName", "lastName" ], "properties": { "id": { "type": "string", "description": "Unique identifier of a person or a workspace." }, "type": { "$ref": "#/components/schemas/MemberType", "description": "Enumeration that indicates if the member is of type `PEOPLE` or `PLACE`." }, "firstName": { "type": "string", "description": "First name of device owner." }, "lastName": { "type": "string", "description": "Last name of device owner." } } }, "devices": { "type": "object", "required": [ "id", "model", "primaryOwner", "type", "hoteling", "owner", "activationState" ], "properties": { "id": { "type": "string", "description": "Unique identifier for a device." }, "description": { "type": "array", "items": { "type": "string" }, "description": "Comma separated array of tags used to describe device." }, "model": { "type": "string", "description": "Identifier for device model." }, "modelType": { "$ref": "#/components/schemas/DeviceType", "description": "Identifier for device model type." }, "mac": { "type": "string", "description": "MAC address of device." }, "ipAddress": { "type": "string", "description": "IP address of device." }, "primaryOwner": { "type": "boolean", "description": "Indicates whether the person or the workspace is the owner of the device, and points to a primary Line/Port of the device." }, "type": { "$ref": "#/components/schemas/DeviceLineType", "description": "Indicates if the line is acting as a primary line or a shared line for this device." }, "hoteling": { "$ref": "#/components/schemas/HotelingRequest", "description": "Hoteling login settings, which are available when the device is the owner's primary device and device type is PRIMARY. Hoteling login settings are set at the owner level." }, "owner": { "$ref": "#/components/schemas/deviceOwner", "description": "Owner of device." }, "activationState": { "$ref": "#/components/schemas/ActivationStates", "description": "Activation state of device." } } }, "DeviceType": { "type": "string", "enum": [ "MPP", "ATA", "GENERIC_SIP", "ESIM", "ROOM_OS", "MOBILE", "DESK_PHONE" ], "description": " * `MPP` - Cisco Multiplatform Phone\n * `ATA` - Analog Telephone Adapters\n * `GENERIC_SIP` - GENERIC Session Initiation Protocol\n * `ESIM` - Esim Supported Webex Go\n * `ROOM_OS` - Cisco Webex Room OS and the Room Series device\n * `MOBILE` - Mobile\n * `DESK_PHONE` - Desk Phone\n" }, "jobIdResponseObject": { "type": "object", "required": [ "name", "id", "jobType", "trackingId", "sourceUserId", "sourceCustomerId", "targetCustomerId", "instanceId", "latestExecutionStatus", "operationType", "sourceLocationId", "targetLocationId", "sourceLocationName", "targetLocationName", "counts" ], "properties": { "name": { "type": "string", "description": "Job name." }, "id": { "type": "string", "description": "Unique identifier of the job." }, "jobType": { "type": "string", "description": "Job type." }, "trackingId": { "type": "string", "description": "Unique identifier to track the flow of HTTP requests." }, "sourceUserId": { "type": "string", "description": "Unique identifier to identify which user has run the job." }, "sourceCustomerId": { "type": "string", "description": "Unique identifier to identify the customer who has run the job." }, "targetCustomerId": { "type": "string", "description": "Unique identifier to identify the customer for which the job was run." }, "instanceId": { "type": "number", "description": "Unique identifier to identify the instance of the job." }, "jobExecutionStatus": { "type": "array", "items": { "$ref": "#/components/schemas/JobExecutionStatusObject" }, "description": "Displays the most recent step's execution status. Contains execution statuses of all the steps involved in the execution of the job." }, "latestExecutionStatus": { "type": "string", "description": "Indicates the most recent status (STARTING, STARTED, COMPLETED, FAILED) of the job at the time of invocation." }, "latestExecutionExitCode": { "type": "string", "enum": [ "UNKNOWN", "COMPLETED", "FAILED", "STOPPED", "COMPLETED_WITH_ERRORS" ], "description": "Most recent exit code of the job at the time of invocation.\n * `UNKNOWN` - Job is in progress.\n * `COMPLETED` - Job has completed successfully.\n * `FAILED` - Job has failed.\n * `STOPPED` - Job has been stopped.\n * `COMPLETED_WITH_ERRORS` - Job has completed with errors.\n" }, "operationType": { "type": "string", "description": "Indicates the operation type that was carried out." }, "sourceLocationId": { "type": "string", "description": "Unique location identifier for which the job was run." }, "targetLocationId": { "type": "string", "description": "Unique location identifier for which the numbers have been moved." }, "sourceLocationName": { "type": "string", "description": "The location name for which the job was run." }, "targetLocationName": { "type": "string", "description": "The location name for which the numbers have been moved." }, "counts": { "$ref": "#/components/schemas/CountObject", "description": "Job statistics." } } }, "location": { "type": "object", "required": [ "id", "name" ], "properties": { "id": { "type": "string", "example": "Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzJiNDkyZmZkLTRjNGItNGVmNS04YzAzLWE1MDYyYzM4NDA5Mw", "description": "Location identifier associated with the members." }, "name": { "type": "string", "example": "MainOffice", "description": "Location name associated with the member." } } }, "mppObject": { "type": "object", "required": [ "pnacEnabled", "audioCodecPriority", "backlightTimer", "background", "cdpEnabled", "defaultLoggingLevel", "dndServicesEnabled", "acd", "shortInterdigitTimer", "longInterdigitTimer", "lineKeyLabelFormat", "lineKeyLEDPattern", "lldpEnabled", "mppUserWebAccessEnabled", "multicast", "enhancedMulticast", "offHookTimer", "phoneLanguage", "poeMode", "qosEnabled", "screenTimeout", "usbPortsEnabled", "vlan", "wifiNetwork", "callHistory", "contacts", "webexMeetingsEnabled", "volumeSettings", "cfExpandedSoftKey", "httpProxy", "bluetooth", "passThroughPortEnabled", "userPasswordOverrideEnabled", "activeCallFocusEnabled", "peerFirmwareEnabled", "noiseCancellation", "voiceFeedbackAccessibilityEnabled", "dialAssistEnabled", "callsPerLine", "nightlyResyncEnabled", "missedCallNotificationEnabled", "softKeyLayout", "backgroundImage8875", "backlightTimer68XX78XX", "allowMonitorLinesEnabled" ], "properties": { "pnacEnabled": { "type": "boolean", "example": true, "description": "Indicates whether the PNAC of MPP object is enabled or not." }, "audioCodecPriority": { "$ref": "#/components/schemas/MppAudioCodecPriorityObject", "description": "Choose up to three predefined codec priority options available for your region." }, "backlightTimer": { "$ref": "#/components/schemas/BacklightTimerObject", "description": "Choose the length of time (in minutes) for the phone's backlight to remain on." }, "background": { "type": "object", "properties": { "image": { "$ref": "#/components/schemas/BackgroundImage" }, "customUrl": { "type": "string" } } }, "displayNameFormat": { "$ref": "#/components/schemas/DisplayNameSelection", "description": "The display name that appears on the phone screen." }, "cdpEnabled": { "type": "boolean", "description": "Allows you to enable/disable CDP for local devices." }, "defaultLoggingLevel": { "$ref": "#/components/schemas/DefaultLoggingLevelObject", "description": "Choose the desired logging level for an MPP devices." }, "dndServicesEnabled": { "type": "boolean", "example": true, "description": "Enable/disable Do-Not-Disturb capabilities for Multi-Platform Phones." }, "acd": { "$ref": "#/components/schemas/AcdObject", "description": "Holds the Acd object value." }, "shortInterdigitTimer": { "type": "number", "example": 14, "description": "Indicates the short inter digit timer value." }, "longInterdigitTimer": { "type": "number", "example": 16, "description": "Indicates the long inter digit timer value.." }, "lineKeyLabelFormat": { "$ref": "#/components/schemas/LineKeyLabelSelection", "description": "Line key labels define the format of what's shown next to line keys." }, "lineKeyLEDPattern": { "$ref": "#/components/schemas/LineKeyLEDPattern", "description": "LED patterns define lighting schemes for the line keys on the MPP devices. Note that this parameter is not supported on the MPP 8875" }, "lldpEnabled": { "type": "boolean", "description": "Enable/disable Link Layer Discovery Protocol for local devices." }, "mppUserWebAccessEnabled": { "type": "boolean", "example": true, "description": "Enable/disable user-level access to the web interface of Multi-Platform Phones." }, "multicast": { "type": "array", "items": { "type": "string", "example": "[\"192.86.108.226:22\"]" }, "description": "Select up to 10 Multicast Group URLs (each with a unique Listening Port)." }, "enhancedMulticast": { "$ref": "#/components/schemas/EnhancedMulticastObject", "description": "Specify the enhanced multicast settings for the MPP device." }, "offHookTimer": { "type": "number", "example": 30, "description": "Specify the amount of time (in seconds) that a phone can remain off-hook." }, "phoneLanguage": { "$ref": "#/components/schemas/PhoneLanguage", "description": "Select the language for your MPP phone. Setting this overrides the default language setting in place for your provisioned location." }, "poeMode": { "$ref": "#/components/schemas/PoeMode", "description": "Enable/disable the Power-Over-Ethernet mode for Multi-Platform Phones." }, "qosEnabled": { "type": "boolean", "example": true, "description": "Allows you to enable/disable tagging of packets from the local device to the Webex Calling platform." }, "screenTimeout": { "$ref": "#/components/schemas/ScreenTimeoutObject", "description": "Specify the amount of inactive time needed (in seconds) before the phone's screen saver activates." }, "usbPortsEnabled": { "type": "boolean", "example": true, "description": "Enable/disable the use of the USB ports on Multi-Platform phones." }, "vlan": { "$ref": "#/components/schemas/MppVlanObject", "description": "Specify a numeric Virtual LAN ID for devices." }, "wifiNetwork": { "$ref": "#/components/schemas/WifiNetworkObject", "description": "Specify the Wi-Fi SSID and password for wireless-enabled MPP phones." }, "callHistory": { "$ref": "#/components/schemas/CallHistoryMethod", "description": "Specify the call history information to use. Only applies to user devices." }, "contacts": { "$ref": "#/components/schemas/DirectoryMethod", "description": "Specify the directory services to use." }, "webexMeetingsEnabled": { "type": "boolean", "example": true, "description": "Enable/disable the availability of the webex meetings functionality from the phone." }, "volumeSettings": { "$ref": "#/components/schemas/VolumeSettingsObject", "description": "Specify all volume level values on the phone." }, "cfExpandedSoftKey": { "$ref": "#/components/schemas/CallForwardExpandedSoftKey", "description": "Specify the call forward expanded soft key behavior." }, "httpProxy": { "$ref": "#/components/schemas/HttpProxyObject", "description": "Specify HTTP Proxy values." }, "bluetooth": { "$ref": "#/components/schemas/BluetoothObject", "description": "Enable/disable the visibility of the bluetooth menu on the MPP device." }, "passThroughPortEnabled": { "type": "boolean", "example": true, "description": "Enable/disable the use of the PC passthrough ethernet port on supported phone models." }, "userPasswordOverrideEnabled": { "type": "boolean", "example": true, "description": "Enable/disable the ability for an end user to set a local password on the phone to restrict local access to the device." }, "activeCallFocusEnabled": { "type": "boolean", "example": true, "description": "Enable/disable the default screen behavior when inbound calls are received." }, "peerFirmwareEnabled": { "type": "boolean", "example": true, "description": "Enable/disable peer firmware sharing." }, "noiseCancellation": { "$ref": "#/components/schemas/NoiseCancellationObject", "description": "Enable/disable local noise cancellation on active calls from the device." }, "voiceFeedbackAccessibilityEnabled": { "type": "boolean", "example": true, "description": "Enable/disable visibility of the Accessibility Voice Feedback menu on the MPP device." }, "dialAssistEnabled": { "type": "boolean", "example": true, "description": "Enable/disable availability of dial assist feature on the phone." }, "callsPerLine": { "type": "number", "example": 9, "description": "Specify the number of calls per unique line appearance on the phone." }, "nightlyResyncEnabled": { "type": "boolean", "example": true, "description": "Enable/disable automatic nightly configuration resync of the MPP device." }, "missedCallNotificationEnabled": { "type": "boolean", "example": true, "description": "Enable/disable the visual indication of missed calls." }, "softKeyLayout": { "$ref": "#/components/schemas/SoftKeyLayoutObject", "description": "Specify the softkey layout per phone menu state." }, "backgroundImage8875": { "$ref": "#/components/schemas/BackgroundImageColor", "description": "Specify the image option for the MPP 8875 phone background." }, "backlightTimer68XX78XX": { "$ref": "#/components/schemas/BacklightTimer68XX", "description": "Specify the use of the backlight feature on 6800 nad 7800 series devices." }, "allowMonitorLinesEnabled": { "type": "boolean", "description": "Enable/disable monitoring for MPP non-primary device." }, "iceEnabled": { "type": "boolean", "example": true, "description": "Enable/disable SIP media streams to go directly between phones on the same local network." } } }, "mppObjectDevice": { "type": "object", "required": [ "pnacEnabled", "audioCodecPriority", "backlightTimer", "background", "cdpEnabled", "defaultLoggingLevel", "dndServicesEnabled", "acd", "shortInterdigitTimer", "longInterdigitTimer", "lineKeyLabelFormat", "lineKeyLEDPattern", "lldpEnabled", "mppUserWebAccessEnabled", "multicast", "enhancedMulticast", "offHookTimer", "phoneLanguage", "poeMode", "qosEnabled", "screenTimeout", "usbPortsEnabled", "usbPorts", "vlan", "wifiNetwork", "callHistory", "contacts", "webexMeetingsEnabled", "volumeSettings", "cfExpandedSoftKey", "httpProxy", "bluetooth", "passThroughPortEnabled", "userPasswordOverrideEnabled", "activeCallFocusEnabled", "peerFirmwareEnabled", "noiseCancellation", "voiceFeedbackAccessibilityEnabled", "dialAssistEnabled", "callsPerLine", "nightlyResyncEnabled", "missedCallNotificationEnabled", "softKeyLayout", "backgroundImage8875", "backlightTimer68XX78XX", "allowMonitorLinesEnabled" ], "properties": { "pnacEnabled": { "type": "boolean", "example": true, "description": "Indicates whether the PNAC of MPP object is enabled or not." }, "audioCodecPriority": { "$ref": "#/components/schemas/MppAudioCodecPriorityObjectDevice", "description": "Choose up to three predefined codec priority options available for your region." }, "backlightTimer": { "$ref": "#/components/schemas/BacklightTimerObjectDevice", "description": "Choose the length of time (in minutes) for the phone's backlight to remain on." }, "background": { "type": "object", "properties": { "image": { "$ref": "#/components/schemas/BackgroundImage" }, "customUrl": { "type": "string" } } }, "displayNameFormat": { "$ref": "#/components/schemas/DisplayNameSelection", "description": "The display name that appears on the phone screen." }, "cdpEnabled": { "type": "boolean", "description": "Allows you to enable/disable CDP for local devices." }, "defaultLoggingLevel": { "$ref": "#/components/schemas/DefaultLoggingLevelObject", "description": "Choose the desired logging level for an MPP devices." }, "dndServicesEnabled": { "type": "boolean", "example": true, "description": "Enable/disable Do-Not-Disturb capabilities for Multi-Platform Phones." }, "acd": { "$ref": "#/components/schemas/AcdObjectDevice", "description": "Holds the Acd object value." }, "shortInterdigitTimer": { "type": "number", "example": 14, "description": "Indicates the short inter digit timer value." }, "longInterdigitTimer": { "type": "number", "example": 16, "description": "Indicates the long inter digit timer value.." }, "lineKeyLabelFormat": { "$ref": "#/components/schemas/LineKeyLabelSelection", "description": "Line key labels define the format of what's shown next to line keys." }, "lineKeyLEDPattern": { "$ref": "#/components/schemas/LineKeyLEDPattern", "description": "LED patterns define lighting schemes for the line keys on the MPP devices. Note that this parameter is not supported on the MPP 8875" }, "lldpEnabled": { "type": "boolean", "description": "Enable/disable Link Layer Discovery Protocol for local devices." }, "mppUserWebAccessEnabled": { "type": "boolean", "example": true, "description": "Enable/disable user-level access to the web interface of Multi-Platform Phones." }, "multicast": { "type": "array", "items": { "type": "string", "example": "[\"192.86.108.226:22\"]" }, "description": "Select up to 10 Multicast Group URLs (each with a unique Listening Port)." }, "enhancedMulticast": { "$ref": "#/components/schemas/EnhancedMulticastObject", "description": "Specify the enhanced multicast settings for the MPP device." }, "offHookTimer": { "type": "number", "example": 30, "description": "Specify the amount of time (in seconds) that a phone can remain off-hook." }, "phoneLanguage": { "$ref": "#/components/schemas/PhoneLanguage", "description": "Select the language for your MPP phone. Setting this overrides the default language setting in place for your provisioned location." }, "poeMode": { "$ref": "#/components/schemas/PoeMode", "description": "Enable/disable the Power-Over-Ethernet mode for Multi-Platform Phones." }, "qosEnabled": { "type": "boolean", "example": true, "description": "Allows you to enable/disable tagging of packets from the local device to the Webex Calling platform." }, "screenTimeout": { "$ref": "#/components/schemas/ScreenTimeoutObject", "description": "Specify the amount of inactive time needed (in seconds) before the phone's screen saver activates." }, "usbPortsEnabled": { "type": "boolean", "example": true, "description": "Enable/disable the use of the USB ports on Multi-Platform phones." }, "usbPorts": { "$ref": "#/components/schemas/UsbPortsObject", "description": "By default the Side USB port is enabled to support KEMs and other peripheral devices. Use the option to disable use of this port." }, "vlan": { "$ref": "#/components/schemas/MppVlanObjectDevice", "description": "Specify a numeric Virtual LAN ID for devices." }, "wifiNetwork": { "$ref": "#/components/schemas/WifiNetworkObjectDevice", "description": "Specify the Wi-Fi SSID and password for wireless-enabled MPP phones." }, "callHistory": { "$ref": "#/components/schemas/CallHistoryMethod", "description": "Specify the call history information to use. Only applies to user devices." }, "contacts": { "$ref": "#/components/schemas/DirectoryMethod", "description": "Specify the directory services to use." }, "webexMeetingsEnabled": { "type": "boolean", "example": true, "description": "Enable/disable the availability of the webex meetings functionality from the phone." }, "volumeSettings": { "$ref": "#/components/schemas/VolumeSettingsObject", "description": "Specify all volume level values on the phone." }, "cfExpandedSoftKey": { "$ref": "#/components/schemas/CallForwardExpandedSoftKey", "description": "Specify the call forward expanded soft key behavior." }, "httpProxy": { "$ref": "#/components/schemas/HttpProxyObjectDevice", "description": "Specify HTTP Proxy values." }, "bluetooth": { "$ref": "#/components/schemas/BluetoothObjectDevice", "description": "Enable/disable the visibility of the bluetooth menu on the MPP device." }, "passThroughPortEnabled": { "type": "boolean", "example": true, "description": "Enable/disable the use of the PC passthrough ethernet port on supported phone models." }, "userPasswordOverrideEnabled": { "type": "boolean", "example": true, "description": "Enable/disable the ability for an end user to set a local password on the phone to restrict local access to the device." }, "activeCallFocusEnabled": { "type": "boolean", "example": true, "description": "Enable/disable the default screen behavior when inbound calls are received." }, "peerFirmwareEnabled": { "type": "boolean", "example": true, "description": "Enable/disable peer firmware sharing." }, "noiseCancellation": { "$ref": "#/components/schemas/NoiseCancellationObject", "description": "Enable/disable local noise cancellation on active calls from the device." }, "voiceFeedbackAccessibilityEnabled": { "type": "boolean", "example": true, "description": "Enable/disable visibility of the Accessibility Voice Feedback menu on the MPP device." }, "dialAssistEnabled": { "type": "boolean", "example": true, "description": "Enable/disable availability of dial assist feature on the phone." }, "callsPerLine": { "type": "number", "example": 9, "description": "Specify the number of calls per unique line appearance on the phone." }, "nightlyResyncEnabled": { "type": "boolean", "example": true, "description": "Enable/disable automatic nightly configuration resync of the MPP device." }, "missedCallNotificationEnabled": { "type": "boolean", "example": true, "description": "Enable/disable the visual indication of missed calls." }, "softKeyLayout": { "$ref": "#/components/schemas/SoftKeyLayoutObject", "description": "Specify the softkey layout per phone menu state." }, "backgroundImage8875": { "$ref": "#/components/schemas/BackgroundImageColor", "description": "Specify the image option for the MPP 8875 phone background." }, "backlightTimer68XX78XX": { "$ref": "#/components/schemas/BacklightTimer68XXDevice", "description": "Specify the use of the backlight feature on 6800 nad 7800 series devices." }, "allowMonitorLinesEnabled": { "type": "boolean", "description": "Enable/disable monitoring for MPP non-primary device." }, "iceEnabled": { "type": "boolean", "example": true, "description": "Enable/disable SIP media streams to go directly between phones on the same local network." } } }, "placeDeviceList": { "type": "object", "required": [ "devices", "maxDeviceCount", "maxOwnedDeviceCount" ], "properties": { "devices": { "type": "array", "items": { "$ref": "#/components/schemas/placeDevices" }, "description": "Array of devices associated with a workspace." }, "maxDeviceCount": { "type": "number", "description": "Maximum number of devices a workspace can be assigned to." }, "maxOwnedDeviceCount": { "type": "number", "description": "Maximum number of devices a workspace can own." } } }, "placeDevices": { "type": "object", "required": [ "id", "model", "primaryOwner", "type", "hoteling", "owner", "activationState" ], "properties": { "id": { "type": "string", "description": "Unique identifier for a device." }, "description": { "type": "array", "items": { "type": "string" }, "description": "Comma separated array of tags used to describe device." }, "model": { "type": "string", "description": "Identifier for device model." }, "mac": { "type": "string", "description": "MAC address of device." }, "ipAddress": { "type": "string", "description": "IP address of device." }, "primaryOwner": { "type": "boolean", "description": "Indicates whether the person or the workspace is the owner of the device and points to a primary Line/Port of the device." }, "type": { "$ref": "#/components/schemas/LineType", "description": "Indicates if the line is acting as a primary line or a shared line for this device." }, "hoteling": { "$ref": "#/components/schemas/Hoteling", "description": "Indicates Hoteling details of a device." }, "owner": { "$ref": "#/components/schemas/deviceOwner", "description": "Owner of the device." }, "activationState": { "$ref": "#/components/schemas/DeviceActivationStates", "description": "Activation state of a device." } } }, "wifiObject": { "type": "object", "required": [ "audioCodecPriority", "ldap", "webAccess", "phoneSecurityPwd" ], "properties": { "audioCodecPriority": { "$ref": "#/components/schemas/WifiAudioCodecPriorityObject", "description": "Choose up to three predefined codec priority options available for your region." }, "ldap": { "$ref": "#/components/schemas/LdapObject", "description": "Set the values needed to enable use of the LDAP service on the phone." }, "webAccess": { "$ref": "#/components/schemas/WebAccessObject", "description": "Set the availability of the local end user web access for an 840/860 WiFi phone." }, "phoneSecurityPwd": { "type": "string", "example": "phoneSecurityPwd", "description": "Set the local security password on an 840/860 WiFi phone." } } }, "wifiObjectDevice": { "type": "object", "required": [ "audioCodecPriority", "ldap", "webAccess", "phoneSecurityPwd" ], "properties": { "audioCodecPriority": { "$ref": "#/components/schemas/WifiAudioCodecPriorityObjectDevice", "description": "Choose up to three predefined codec priority options available for your region." }, "ldap": { "$ref": "#/components/schemas/LdapObjectDevice", "description": "Set the values needed to enable use of the LDAP service on the phone." }, "webAccess": { "$ref": "#/components/schemas/WebAccessObject", "description": "Set the availability of the local end user web access for an 840/860 WiFi phone." }, "phoneSecurityPwd": { "type": "string", "example": "phoneSecurityPwd", "description": "Set the local security password on an 840/860 WiFi phone." } } }, "GetLineKeyTemplateResponse": { "type": "object", "required": [ "id", "templateName", "deviceModel", "modelDisplayName", "userReorderEnabled", "lineKeys" ], "properties": { "id": { "type": "string", "example": "Y2lzY29zcGFyazovL3VzL0RFVklDRV9MSU5FX0tFWV9URU1QTEFURS81NzVhMWY3Zi03MjRkLTRmZGUtODk4NC1mNjNhNDljMzYxZmQ", "description": "Unique identifier for the Line Key Template." }, "templateName": { "type": "string", "example": "Basic Template", "description": "Name of the Line Key Template." }, "deviceModel": { "type": "string", "example": "'DMS Cisco 6821'", "description": "The Device Model for which the Line Key Template is applicable." }, "modelDisplayName": { "type": "string", "example": "Cisco 6821", "description": "The friendly display name used to represent the device model in Control Hub." }, "userReorderEnabled": { "type": "boolean", "description": "Indicates whether user can reorder the line keys." }, "lineKeys": { "type": "array", "items": { "$ref": "#/components/schemas/ProgrammableLineKeys" }, "description": "Contains a mapping of Line Keys and their corresponding actions." } } }, "LineKeyType": { "type": "string", "enum": [ "PRIMARY_LINE", "SHARED_LINE", "MONITOR", "CALL_PARK_EXTENSION", "SPEED_DIAL", "OPEN", "CLOSED", "MODE_MANAGEMENT" ], "description": " * `PRIMARY_LINE` - PRIMARY_LINE is the user's primary extension. This is the default assignment for Line Key Index 1 and cannot be modified.\n * `SHARED_LINE` - Shows the appearance of other users on the owner's phone.\n * `MONITOR` - Enables User and Call Park monitoring.\n * `CALL_PARK_EXTENSION` - Enables the configure layout feature in Control Hub to set call park extension implicitly.\n * `SPEED_DIAL` - Allows users to reach a telephone number, extension or a SIP URI.\n * `OPEN` - An open key will automatically take the configuration of a monitor button starting with the first open key. These buttons are also usable by the user to configure speed dial numbers on these keys.\n * `CLOSED` - Button not usable but reserved for future features.\n * `MODE_MANAGEMENT` - Allows users to manage call forwarding for features via schedule-based routing.\n" }, "ApplyLineKeyTemplateJobList": { "type": "object", "required": [ "items" ], "properties": { "items": { "type": "array", "items": { "$ref": "#/components/schemas/ApplyLineKeyTemplateJobDetails" }, "description": "List of Apply Line Key Template jobs." } } }, "ApplyLineKeyTemplateJobDetails": { "type": "object", "required": [ "name", "id", "trackingId", "sourceUserId", "sourceCustomerId", "targetCustomerId", "instanceId", "latestExecutionStatus", "percentageComplete", "updatedCount", "advisoryCount" ], "properties": { "name": { "type": "string", "description": "Job name." }, "id": { "type": "string", "description": "Unique identifier of the job." }, "trackingId": { "type": "string", "description": "Unique identifier to track the flow of HTTP requests." }, "sourceUserId": { "type": "string", "description": "Unique identifier to identify which user has run the job." }, "sourceCustomerId": { "type": "string", "description": "Unique identifier to identify the customer who has run the job." }, "targetCustomerId": { "type": "string", "description": "Unique identifier to identify the customer for which the job was run." }, "instanceId": { "type": "number", "description": "Unique identifier to identify the instance of the job." }, "jobExecutionStatus": { "type": "array", "items": { "$ref": "#/components/schemas/JobExecutionStatusObject" }, "description": "Displays the most recent step's execution status. Contains execution statuses of all the steps involved in the execution of the job." }, "latestExecutionStatus": { "type": "string", "description": "Indicates the most recent status (`STARTING`, `STARTED`, `COMPLETED`, `FAILED`) of the job at the time of invocation." }, "latestExecutionExitCode": { "type": "string", "enum": [ "UNKNOWN", "COMPLETED", "FAILED", "STOPPED", "COMPLETED_WITH_ERRORS" ], "description": "Most recent exit code of the job at the time of invocation.\n * `UNKNOWN` - Job is in progress.\n * `COMPLETED` - Job has completed successfully.\n * `FAILED` - Job has failed.\n * `STOPPED` - Job has been stopped.\n * `COMPLETED_WITH_ERRORS` - Job has completed with errors.\n" }, "percentageComplete": { "type": "integer", "description": "Indicates the progress of the job." }, "updatedCount": { "type": "integer", "description": "Number of job steps completed." }, "advisoryCount": { "type": "integer", "description": "Number of job steps completed with advisories." } } }, "ApplyLineKeyTemplateJobErrors": { "type": "object", "required": [ "trackingId" ], "properties": { "trackingId": { "type": "string", "description": "Unique identifier to track the HTTP requests." }, "error": { "$ref": "#/components/schemas/ErrorMessageObject", "description": "Description of errors in the job." } } }, "LineKeyTemplateAdvisoryTypes": { "type": "object", "properties": { "moreSharedAppearancesEnabled": { "type": "boolean", "example": true, "description": "Refine search to apply changes to devices that contain the warning \"More shared/virtual line appearances than shared/virtual lines requested\"." }, "fewSharedAppearancesEnabled": { "type": "boolean", "example": true, "description": "Refine search to apply changes to devices that contain the warning \"More shared/virtual lines requested than shared/virtual line appearances\"." }, "moreMonitorAppearancesEnabled": { "type": "boolean", "example": true, "description": "Refine search to apply changes to devices that contain the warning \"More monitored line appearances than monitored lines in the user's monitoring list\"." }, "moreCPEAppearancesEnabled": { "type": "boolean", "example": true, "description": "Refine search to apply changes to devices that contain the warning \"More call park extension line appearances than call park extensions in user's monitoring list\"." }, "moreModeManagementAppearancesEnabled": { "type": "boolean", "example": true, "description": "Refine search to apply changes to devices that contain the warning \"More mode management lines configured for the device\". The default value is false." } } }, "PostApplyLineKeyTemplateRequest": { "type": "object", "required": [ "action", "templateId" ], "properties": { "action": { "type": "string", "enum": [ "APPLY_TEMPLATE", "APPLY_DEFAULT_TEMPLATES" ], "description": "Line key Template action to perform.\n * `APPLY_TEMPLATE` - Used to apply LinekeyTemplate to devices.\n * `APPLY_DEFAULT_TEMPLATES` - Used to reset devices to its default Linekey Template configurations.\n" }, "templateId": { "type": "string", "example": "Y2lzY29zcGFyazovL1VTL0RFVklDRV9MSU5FX0tFWV9URU1QTEFURS9kNDUzM2MwYi1hZGRmLTRjODUtODk0YS1hZTVkOTAyYzAyMDM=", "description": "`templateId` is required for `APPLY_TEMPLATE` action." }, "locationIds": { "type": "array", "items": { "type": "string" }, "description": "Used to search for devices only in the given locations." }, "excludeDevicesWithCustomLayout": { "type": "boolean", "description": "Indicates whether to exclude devices with custom layout." }, "includeDeviceTags": { "type": "array", "items": { "type": "string" }, "description": "Include devices only with these tags." }, "excludeDeviceTags": { "type": "array", "items": { "type": "string" }, "description": "Exclude devices with these tags." }, "advisoryTypes": { "$ref": "#/components/schemas/LineKeyTemplateAdvisoryTypes", "description": "Refine search with advisories." } } }, "PostLineKeyTemplateRequest": { "type": "object", "required": [ "templateName", "deviceModel", "lineKeys" ], "properties": { "templateName": { "type": "string", "example": "template for 8845", "description": "Name of the Line Key Template." }, "deviceModel": { "type": "string", "example": "DMS Cisco 8845", "description": "The model of the device for which the Line Key Template is applicable. The corresponding device model display name sometimes called the product name, can also be used to specify the model." }, "userReorderEnabled": { "type": "boolean", "example": true, "description": "User Customization Enabled." }, "lineKeys": { "type": "array", "items": { "$ref": "#/components/schemas/ProgrammableLineKeys" }, "description": "Contains a mapping of Line Keys and their corresponding actions." } } }, "ProgrammableLineKeys": { "type": "object", "required": [ "lineKeyIndex", "lineKeyType", "sharedLineIndex" ], "properties": { "lineKeyIndex": { "type": "number", "example": 2, "description": "An index representing a Line Key. Index starts from 1 representing the first key on the left side of the phone." }, "lineKeyType": { "$ref": "#/components/schemas/LineKeyType", "description": "The action that would be performed when the Line Key is pressed." }, "lineKeyLabel": { "type": "string", "example": "Help Line", "description": "This is applicable only when the lineKeyType is `SPEED_DIAL`." }, "lineKeyValue": { "type": "string", "example": "5646", "description": "Applicable only when the `lineKeyType` is `SPEED_DIAL`. Value must be a valid telephone number, ext, or SIP URI (format: `user@host` using A-Z,a-z,0-9,-_ .+ for `user` and `host`)." }, "sharedLineIndex": { "type": "number", "example": 4, "description": "Shared line index is the line label number of the shared or virtual line assigned in the configured lines. Since you can add multiple appearances of the same shared or virtual line on a phone, entering the index number assigns the respective line to a line key. This is applicable only when the `lineKeyType` is SHARED_LINE. `sharedLineIndex` starts at 1 and increments by one for each shared line." } } }, "PutLineKeyTemplateRequest": { "type": "object", "required": [ "lineKeys" ], "properties": { "userReorderEnabled": { "type": "boolean", "example": true, "description": "Indicates whether the user can reorder the line keys." }, "lineKeys": { "type": "array", "items": { "$ref": "#/components/schemas/ProgrammableLineKeys" }, "description": "List of line keys that are being updated." } } }, "lineKeyTemplatesResponse": { "type": "object", "required": [ "id", "templateName", "deviceModel", "modelDisplayName" ], "properties": { "id": { "type": "string", "example": "Y2lzY29zcGFyazovL1VTL0RFVklDRV9MSU5FX0tFWV9URU1QTEFURS9kNDUzM2MwYi1hZGRmLTRjODUtODk0YS1hZTVkOTAyYzAyMDM=", "description": "Unique identifier for the Line Key Template." }, "templateName": { "type": "string", "example": "template for 8845", "description": "Name of the Line Key Template." }, "deviceModel": { "type": "string", "example": "DMS Cisco 8845", "description": "The Device Model for which the Line Key Template is applicable." }, "modelDisplayName": { "type": "string", "example": "Cisco 8845", "description": "The friendly display name used to represent the device model in Control Hub." } } }, "GetThirdPartyDeviceObject": { "type": "object", "required": [ "manufacturer", "managedBy", "id", "ip", "model", "upgradeChannelEnabled" ], "properties": { "manufacturer": { "type": "string", "example": "THIRD_PARTY", "description": "Manufacturer of the device." }, "managedBy": { "type": "string", "example": "CUSTOMER", "description": "Device manager(s)." }, "id": { "type": "string", "example": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMV9pbnQxMy9ERVZJQ0UvNTEwMUIwN0ItNEY4Ri00RUY3LUI1NjUtREIxOUM3QjcyM0Y3", "description": "A unique identifier for the device." }, "ip": { "type": "string", "example": "100.110.120.130", "description": "The current IP address of the device." }, "mac": { "type": "string", "example": "11223344AAFF", "description": "The unique address for the network adapter." }, "model": { "type": "string", "example": "DMS Cisco 8811", "description": "A model type of the device." }, "activationState": { "$ref": "#/components/schemas/ActivationStates", "description": "Activation state of the device. This field is only populated for a device added by a unique activation code generated by Control Hub for use with Webex." }, "description": { "type": "array", "items": { "type": "string", "example": "device description" }, "description": "Comma-separated array of tags used to describe the device." }, "upgradeChannelEnabled": { "type": "boolean", "example": true, "description": "Enabled / disabled status of the upgrade channel." }, "owner": { "type": "object", "required": [ "sipUserName" ], "properties": { "sipUserName": { "type": "string", "example": "392829", "description": "SIP authentication user name for the owner of the device." }, "linePort": { "type": "string", "example": "lg1_sias10_cpapi16004_LGU@64941297.int10.bcld.webex.com", "description": "Identifies a device endpoint in standalone mode or a SIP URI public identity in IMS mode." } } }, "proxy": { "type": "object", "properties": { "outboundProxy": { "type": "string", "example": "hs17.hosted-int.bcld.webex.com", "description": "Outgoing server which the phone should use for all SIP requests. Not set if the response has no body." } } } } }, "PutThirdPartyDevice": { "type": "object", "required": [ "sipPassword" ], "properties": { "sipPassword": { "type": "string", "example": "Test4Password123&", "description": "Password to be updated." } } }, "DeviceLayout": { "type": "object", "required": [ "layoutMode", "lineKeys" ], "properties": { "layoutMode": { "$ref": "#/components/schemas/LayoutMode", "description": "Defines the layout mode of the device, i.e. DEFAULT or CUSTOM." }, "userReorderEnabled": { "type": "boolean", "example": true, "description": "If `true`, user customization is enabled." }, "lineKeys": { "type": "array", "items": { "$ref": "#/components/schemas/ProgrammableLineKeys" }, "description": "Contains a mapping of Line Keys and their corresponding actions." }, "kemModuleType": { "$ref": "#/components/schemas/KemModuleType", "description": "Type of KEM module." }, "kemKeys": { "type": "array", "items": { "$ref": "#/components/schemas/KEMKeys" }, "description": "Contains a mapping of KEM Keys and their corresponding actions. For KEM keys not included in the request, they will be set to OPEN." } } }, "KEMKeys": { "type": "object", "required": [ "kemModuleIndex", "kemKeyIndex", "kemKeyType", "sharedLineIndex" ], "properties": { "kemModuleIndex": { "type": "number", "example": 1, "description": "An index representing a KEM Module. The Index starts from 1 representing the first KEM Module." }, "kemKeyIndex": { "type": "number", "example": 1, "description": "An index representing a KEM Key. The Index starts from 1 representing the first key on the left side of the phone." }, "kemKeyType": { "$ref": "#/components/schemas/LineKeyType", "description": "The action that would be performed when the KEM Key is pressed." }, "kemKeyLabel": { "type": "string", "example": "Office", "description": "Applicable only when the kemKeyType is `SPEED_DIAL`." }, "kemKeyValue": { "type": "string", "example": "213457", "description": "Applicable only when the `lineKeyType` is `SPEED_DIAL`. Value must be a valid telephone number, ext, or SIP URI (format: `user@host` using A-Z,a-z,0-9,-_ .+ for `user` and `host`)." }, "sharedLineIndex": { "type": "number", "example": 4, "description": "Shared line index is the line label number of the shared or virtual line assigned in the configured lines. Since you can add multiple appearances of the same shared or virtual line on a phone, entering the index number assigns the respective line to a line key. This is applicable only when the `lineKeyType` is SHARED_LINE. `sharedLineIndex` starts at 1 and increments by one for each shared line." } } }, "LayoutMode": { "type": "string", "enum": [ "DEFAULT", "CUSTOM" ], "description": " * `DEFAULT` - Default layout mode when a new device is added.\n * `CUSTOM` - Enables a device to have its custom layout.\n" }, "RebuildPhonesPostRequest": { "type": "object", "required": [ "locationId" ], "properties": { "locationId": { "type": "string", "description": "Unique identifier of the location." } } }, "RebuildPhonesList": { "type": "object", "required": [ "items" ], "properties": { "items": { "type": "array", "items": { "$ref": "#/components/schemas/RebuildPhonesJob" }, "description": "List of rebuild phones jobs." } } }, "RebuildPhonesJob": { "type": "object", "required": [ "name", "id", "trackingId", "sourceUserId", "sourceCustomerId", "targetCustomerId", "instanceId", "latestExecutionStatus", "target", "percentageComplete" ], "properties": { "name": { "type": "string", "example": "rebuildphones", "description": "Name of the job which in this case, is `rebuildphones`." }, "id": { "type": "string", "example": "Y2lzY29zcGFyazovL3VzL0pPQl9JRC8wNjZkOTQzNC1kODEyLTQzODItODVhMC00MjBlOTFlODg3ZTY", "description": "Unique identifier of the job." }, "trackingId": { "type": "string", "example": "ROUTERGW_1d458245-ee34-48c8-8ed6-92ea16ed48aa", "description": "Unique identifier to track the flow of HTTP requests." }, "sourceUserId": { "type": "string", "example": "Y2lzY29zcGFyazovL3VzL1BFT1BMRS81MDRhZmQ1YS0zODRiLTQ0NjYtYTJlNC05Y2ExZjUwMDRlYWQ", "description": "Unique identifier of the user who has run the job." }, "sourceCustomerId": { "type": "string", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi9lYTRiZTEyNS00Y2ZjLTQ5OTItOGMwNi00Y2U4Mzc2ZDU4MmE", "description": "Unique identifier of the customer who has run the job." }, "targetCustomerId": { "type": "string", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi9lYTRiZTEyNS00Y2ZjLTQ5OTItOGMwNi00Y2U4Mzc2ZDU4MmE", "description": "Unique identifier of the customer for which the job was run." }, "instanceId": { "type": "number", "example": 428989, "description": "Unique identifier to identify the instance of the job." }, "jobExecutionStatus": { "type": "array", "items": { "$ref": "#/components/schemas/JobExecutionStatusObject" }, "description": "Displays the most recent step's execution status. Contains execution statuses of all the steps involved in the execution of the job." }, "latestExecutionStatus": { "$ref": "#/components/schemas/LatestExecutionStatus", "description": "Indicates the most recent status of the job at the time of invocation." }, "latestExecutionExitCode": { "type": "string", "enum": [ "UNKNOWN", "COMPLETED", "FAILED", "STOPPED", "COMPLETED_WITH_ERRORS" ], "description": "Most recent exit code of the job at the time of invocation.\n * `UNKNOWN` - Job is in progress.\n * `COMPLETED` - Job has completed successfully.\n * `FAILED` - Job has failed.\n * `STOPPED` - Job has been stopped.\n * `COMPLETED_WITH_ERRORS` - Job has completed with errors.\n" }, "target": { "type": "string", "example": "LOCATION", "description": "Indicates the target entity, i.e. LOCATION." }, "locationId": { "type": "string", "example": "Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzQ0Y2UwNDBhLTEzNmMtNDc3NS1hMjIzLTY5OTczYmEyYWNhYw", "description": "Unique identifier of a location." }, "percentageComplete": { "type": "integer", "example": 10, "description": "Indicates the progress of the job." }, "deviceCount": { "type": "number", "example": 10, "description": "Count of number of devices rebuilt." } } }, "EnhancedMulticastObject": { "type": "object", "required": [ "multicastList" ], "properties": { "xmlAppUrl": { "type": "string", "example": "http://127.0.0.1:8080/", "description": "Specify the URL for the XML application." }, "multicastList": { "type": "array", "items": { "$ref": "#/components/schemas/MulticastObject" }, "description": "Specify up to 10 multicast group URLs each with a unique listening port, an XML application URL, and a timeout." } } }, "MulticastObject": { "type": "object", "required": [ "hostAndPort", "hasXmlAppUrl" ], "properties": { "hostAndPort": { "type": "string", "example": "224.0.0.0:22", "description": "Specify the multicast group URL and listening port." }, "hasXmlAppUrl": { "type": "boolean", "example": true, "description": "Specify whether the multicast group URL has an XML application URL." }, "xmlAppTimeout": { "type": "number", "example": 10, "description": "Specify the timeout for the XML application." } } }, "listBackgroundImagesObject": { "type": "object", "required": [ "backgroundImageUrl", "fileName" ], "properties": { "backgroundImageUrl": { "type": "string", "example": "\"/dms/Cisco_Phone_Background/background001\"", "description": "The URL of the image file." }, "fileName": { "type": "string", "example": "CompanyLogoBlue", "description": "The name of the image file." } } }, "deleteImageResponseObject": { "type": "object", "required": [ "fileName", "result" ], "properties": { "fileName": { "type": "string", "example": "CompanyLogoBlue", "description": "The name of the image file." }, "result": { "type": "object", "required": [ "status" ], "properties": { "status": { "type": "number", "example": 400, "description": "The status of the deletion." }, "error": { "type": "object", "required": [ "message", "errorCode" ], "properties": { "message": { "type": "string", "example": "The image could not be deleted.", "description": "The error message." }, "errorCode": { "type": "number", "example": 4305, "description": "The error code." } }, "description": "The error message if the deletion failed." } }, "description": "The result of the deletion." } } }, "deleteImageResponseSuccessObject": { "type": "object", "required": [ "fileName", "result" ], "properties": { "fileName": { "type": "string", "example": "CompanyLogoBlue", "description": "The name of the image file." }, "result": { "type": "object", "required": [ "status" ], "properties": { "status": { "type": "number", "example": 200, "description": "The status of the deletion." } }, "description": "The result of the deletion." } } }, "deleteImageRequestObject": { "type": "object", "required": [ "fileName" ], "properties": { "fileName": { "type": "string", "example": "CompanyLogoBlue", "description": "The name of the image file to be deleted." }, "forceDelete": { "type": "boolean", "example": true, "description": "Flag to force delete the image. When `forceDelete` = true, if any device, location, or org level custom background URL is configured with the `backgroundImageURL` containing the filename being deleted, the background image is set to `None`." } } }, "userDeviceCount": { "type": "object", "required": [ "totalDeviceCount", "applicationsCount" ], "properties": { "totalDeviceCount": { "type": "number", "example": 3, "description": "The total count of devices associated with the user as a sum of:\n\n- Count of total primary physical devices.\n\n- Count of Webex-Team system device endpoints.\n\n- Count of 1 for any or all applications present." }, "applicationsCount": { "type": "number", "example": 4, "description": "The total count of applications associated with the user." } } }, "DeviceDynamicSettingsValidationSchemaGet": { "type": "object", "example": { "tags": [ { "familyOrModelDisplayName": "Poly", "tag": "%G711U_ORDER%", "friendlyName": "voice.codecPref.G711Mu", "tooltip": "Tag tooltip.", "level": [ "location", "device" ], "validationRule": { "type": "int", "min": 0, "max": 10, "increment": 1 } } ] }, "properties": { "tags": { "type": "array", "items": { "$ref": "#/components/schemas/DeviceTag" }, "description": "Array of device settings tags with their validation rules." } } }, "DeviceDynamicSettingsSettingsGroupsGet": { "type": "object", "example": { "settingsGroups": [ { "path": "Voice.Codec Preferences", "friendlyName": "voice.codecPref.G711Mu", "tab": "Poly", "familyOrModelDisplayName": "Poly", "tags": [ { "tagBlock": [ "%G711U_ORDER%" ] } ] } ], "settingsTabs": [ "Poly", "MPP" ] }, "properties": { "settingsGroups": { "type": "array", "items": { "$ref": "#/components/schemas/DeviceSettingsGroup" }, "description": "Array of settings groups defining structure and association of tags." }, "settingsTabs": { "type": "array", "items": { "type": "string" }, "description": "Array of settings tabs names. Can be filtered using the `includeSettingsType` parameter." } } }, "DeviceTag": { "type": "object", "properties": { "familyOrModelDisplayName": { "type": "string", "description": "The family or model name of the device to which these settings apply.", "example": "Poly" }, "tag": { "type": "string", "description": "The unique identifier for the setting.", "example": "%G711U_ORDER%" }, "friendlyName": { "type": "string", "description": "A user-friendly name for the setting. It helps to correlate the tag with the UI in settings groups.", "example": "voice.codecPref.G711Mu" }, "tooltip": { "type": "string", "description": "Explanatory text for the setting.", "example": "Tag tooltip." }, "alert": { "type": "string", "description": "Alert message related to this setting, if applicable.", "example": "Alert text." }, "level": { "type": "array", "items": { "type": "string" }, "description": "The levels at which this setting can be configured. When fetching tags or updating tags, the tag should be allowed at the level the request is made for.", "example": [ "organization", "location", "device" ] }, "validationRule": { "$ref": "#/components/schemas/ValidationRule" } } }, "DeviceSettingsGroup": { "type": "object", "properties": { "path": { "type": "string", "description": "Path of the settings group. Creates an easily navigable settings hierarchy.", "example": "Voice.Codec Preferences" }, "friendlyName": { "type": "string", "description": "Friendly name of the settings group.", "example": "voice.codecPref.G711Mu" }, "tab": { "type": "string", "description": "Tab name associated with the settings group.", "example": "Poly" }, "familyOrModelDisplayName": { "type": "string", "description": "Family or model display name associated with the settings group.", "example": "Poly" }, "tags": { "type": "array", "items": { "$ref": "#/components/schemas/DeviceSettingsGroupTag" }, "description": "List of `tagBlock` objects associated with the settings group." } } }, "DeviceSettingsGroupTag": { "type": "object", "properties": { "tagBlock": { "type": "array", "items": { "type": "string" }, "description": "Array of tags associated with the settings group.", "example": [ "%G711U_ORDER%" ] } } }, "ValidationRule": { "type": "object", "description": "Validation rules and constraints for device setting values.", "properties": { "type": { "type": "string", "description": "The data type of the setting. Possible values are `string`, `integer`, `boolean`, `enum` , `password` or `network`.", "example": "\"int\"" }, "values": { "type": "array", "items": { "type": "string" }, "description": "Possible values for `enum` or `boolean` types.", "example": [ "0", "1", "2", "NumberOnly" ] }, "min": { "type": "integer", "description": "Minimum value for numeric types.", "example": 0 }, "max": { "type": "integer", "description": "Maximum value for numeric types.", "example": 10 }, "increment": { "type": "integer", "description": "Increment value for numeric types.", "example": 1 }, "regex": { "type": "string", "description": "Regular expression pattern for string validation.", "example": "[A-Za-z0-9]+" }, "maxLength": { "type": "integer", "description": "Maximum length for string values.", "example": 255 }, "validationHint": { "type": "string", "description": "Hint to display to users about validation requirements.", "example": "5-60" } } }, "CustomerDeviceDynamicSettingsListPostRequest": { "type": "object", "properties": { "tags": { "type": "array", "items": { "type": "string", "minLength": 1, "maxLength": 64 }, "description": "Optional array of device tag identifiers to request settings for. Each identifier must have a length between 1 and 64 characters.", "minItems": 0 } } }, "CustomerDeviceDynamicSettingsListPostResponse": { "type": "object", "example": { "tags": [ { "familyOrModelDisplayName": "Poly", "tag": "%DO_MENU_ITEM_BACKGROUND%", "value": "#RRGGBB", "parentValue": "#FFFFFF", "parentLevel": "ORGANIZATION" } ], "lastUpdateTime": 1651396800000, "updateInProgress": false }, "properties": { "tags": { "type": "array", "items": { "$ref": "#/components/schemas/CustomerDevicePostTag" }, "description": "Array of device setting values matching the requested tags." }, "lastUpdateTime": { "type": "integer", "format": "int64", "description": "Timestamp of the last update to these settings." }, "updateInProgress": { "type": "boolean", "description": "Flag indicating if an update to these settings is currently in progress." } } }, "CustomerDevicePostTag": { "type": "object", "properties": { "familyOrModelDisplayName": { "type": "string", "description": "The `familyOrModelDisplayName` of the device.", "example": "Poly" }, "tag": { "type": "string", "description": "The unique identifier for the setting.", "example": "%G711U_ORDER%" }, "value": { "type": "string", "description": "The current value of the setting at `ORGANIZATION` level. If the tag value is not set at the `ORGANIZATION` level, this field will not be included in the response.", "example": "4" }, "parentValue": { "type": "string", "description": "The value inherited from the immediate parent level above `ORGANIZATION`. It can be `SYSTEM_DEFAULT`, `REGIONAL_DEFAULT`, or `ORGANIZATION`, depending on which level the setting is actually configured at. If there is no parent level for this tag, this field will not be included in the response.", "example": "3" }, "parentLevel": { "$ref": "#/components/schemas/DynamicDeviceSettingsCustomerParentLevel" } } }, "DynamicDeviceSettingsCustomerParentLevel": { "type": "string", "enum": [ "SYSTEM_DEFAULT", "REGIONAL_DEFAULT", "ORGANIZATION" ], "description": "The level from which the tag's parent value is inherited. If there is no parent level for this tag, this field will not be included in the response." }, "LocationDeviceDynamicSettingsListPostRequest": { "type": "object", "properties": { "tags": { "type": "array", "items": { "type": "string", "minLength": 1, "maxLength": 64 }, "description": "Optional array of device tag identifiers to request settings for. Each identifier must have a length between 1 and 64 characters.", "minItems": 0 } } }, "LocationDeviceDynamicSettingsListPostResponse": { "type": "object", "example": { "tags": [ { "familyOrModelDisplayName": "Poly", "tag": "%G711U_ORDER%", "value": "4", "parentValue": "3", "parentLevel": "ORGANIZATION" } ], "lastUpdateTime": 1651396800000, "updateInProgress": false }, "properties": { "tags": { "type": "array", "items": { "$ref": "#/components/schemas/LocationDevicePostResponseTag" }, "description": "Array of device setting values matching the requested tags." }, "lastUpdateTime": { "type": "integer", "format": "int64", "description": "Timestamp of the last update to these settings." }, "updateInProgress": { "type": "boolean", "description": "Flag indicating if an update to these settings is currently in progress." } } }, "LocationDevicePostResponseTag": { "type": "object", "properties": { "familyOrModelDisplayName": { "type": "string", "description": "The `familyOrModelDisplayName` of the device.", "example": "Poly" }, "tag": { "type": "string", "description": "The unique identifier for the setting.", "example": "%G711U_ORDER%" }, "value": { "type": "string", "description": "The current value of the setting at `LOCATION` level. If the tag value is not set at the `LOCATION` level, this field will not be included in the response.", "example": "4" }, "parentValue": { "type": "string", "description": "The value inherited from the immediate parent level above `LOCATION`. It can be `SYSTEM_DEFAULT`, `REGIONAL_DEFAULT`, `ORGANIZATION`, or `LOCATION`, depending on which level the setting is actually configured at. If there is no parent level for this tag, this field will not be included in the response.", "example": "3" }, "parentLevel": { "$ref": "#/components/schemas/LocationParentLevel" } } }, "LocationParentLevel": { "type": "string", "enum": [ "SYSTEM_DEFAULT", "REGIONAL_DEFAULT", "ORGANIZATION", "LOCATION" ], "description": "The level from which the tag's parent value is inherited. If there is no parent level for this tag, this field will not be included in the response." }, "DeviceDynamicSettingsListPostRequest": { "type": "object", "properties": { "tags": { "type": "array", "items": { "type": "string" }, "description": "Optional array of tag identifiers representing specific settings to fetch. If omitted or provided as an empty array, all settings for the device will be returned.", "minItems": 0 } } }, "DeviceDynamicSettingsListPostResponse": { "type": "object", "required": [ "tags" ], "example": { "tags": [ { "familyOrModelDisplayName": "Poly", "tag": "%G711U_ORDER%", "value": "4", "parentValue": "3", "parentLevel": "ORGANIZATION" } ], "lastUpdateTime": 1651396800000 }, "properties": { "tags": { "type": "array", "items": { "$ref": "#/components/schemas/DevicePostResponseTag" }, "description": "Array of device setting values matching the requested tags." }, "lastUpdateTime": { "type": "integer", "format": "int64", "description": "Timestamp of the last update to these settings." } } }, "DeviceDynamicSettingsPutRequest": { "type": "object", "properties": { "tags": { "type": "array", "items": { "$ref": "#/components/schemas/DevicePutItem" }, "description": "Optional array of `tag` identifiers representing specific settings to update. If omitted or provided as an empty array, the request will have no effect.", "minItems": 0 } } }, "DevicePostResponseTag": { "type": "object", "required": [ "familyOrModelDisplayName", "tag" ], "properties": { "familyOrModelDisplayName": { "type": "string", "description": "The display name of the device family or model associated with the returned tag.", "example": "Poly" }, "tag": { "type": "string", "description": "The unique identifier for the device setting.", "example": "%G711U_ORDER%" }, "value": { "type": "string", "description": "The current value of the setting at device level. If the tag value is not set at the device level, this field will not be included in the response.", "example": "4" }, "parentValue": { "type": "string", "description": "The setting value at the next available `parentLevel`. It is used if `value` is not set and is omitted when no parent level exists for the tag.", "example": "3" }, "parentLevel": { "$ref": "#/components/schemas/DeviceParentLevel" } } }, "DeviceParentLevel": { "type": "string", "enum": [ "SYSTEM_DEFAULT", "REGIONAL_DEFAULT", "ORGANIZATION", "LOCATION" ], "description": "The level from which the tag's parent value is inherited. If there is no parent level for this tag, this field will not be included in the response." }, "DevicePutItem": { "type": "object", "required": [ "tag", "action" ], "properties": { "tag": { "type": "string", "description": "The unique identifier for the setting to be updated.", "example": "%G711U_ORDER%", "minLength": 1, "maxLength": 64 }, "action": { "$ref": "#/components/schemas/Action" }, "value": { "type": "string", "description": "The new value to set for the setting. This field is required when `action` is `SET` and ignored otherwise.", "example": "4", "minLength": 1, "maxLength": 256 } } }, "Action": { "type": "string", "enum": [ "SET", "CLEAR" ], "description": "The action to perform on the setting. When action is `SET`, `tag` is updated to specified value. When action is `CLEAR`, the `tag` value at device level is removed, and the device will inherit the value from the parent level, if it exists.", "example": "SET" }, "PostDynamicDeviceSettingsJobResponse": { "type": "object", "required": [ "name", "id", "trackingId", "sourceUserId", "sourceCustomerId", "targetCustomerId", "instanceId", "jobExecutionStatus", "latestExecutionStatus", "latestExecutionExitCode", "target", "percentageComplete" ], "example": { "name": "dynamicdevicesettings", "id": "Y2lzY29zcGFyazovL3VzL0pPQl9JRC8wNjZkOTQzNC1kODEyLTQzODItODVhMC00MjBlOTFlODg3ZTY", "trackingId": "ROUTERGW_1d458245-ee34-48c8-8ed6-92ea16ed48aa", "sourceUserId": "Y2lzY29zcGFyazovL3VzL1BFT1BMRS81MDRhZmQ1YS0zODRiLTQ0NjYtYTJlNC05Y2ExZjUwMDRlYWQ", "sourceCustomerId": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi9lYTRiZTEyNS00Y2ZjLTQ5OTItOGMwNi00Y2U4Mzc2ZDU4MmE", "targetCustomerId": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi9lYTRiZTEyNS00Y2ZjLTQ5OTItOGMwNi00Y2U4Mzc2ZDU4MmE", "instanceId": 428989, "jobExecutionStatus": [ { "id": 0, "startTime": "2025-05-13T10:59:44.106Z", "lastUpdated": "2025-05-13T10:59:44.106Z", "statusMessage": "STARTED", "exitCode": "UNKNOWN", "createdTime": "2025-05-13T10:50:01.352Z", "timeElapsed": "PT11.476S" } ], "latestExecutionStatus": "STARTED", "latestExecutionExitCode": "UNKNOWN", "target": "CUSTOMER", "locationId": "", "percentageComplete": 100 }, "properties": { "name": { "type": "string", "example": "dynamicdevicesettings", "description": "Name of the job which in this case, is `dynamicdevicesettings`." }, "id": { "type": "string", "example": "Y2lzY29zcGFyazovL3VzL0pPQl9JRC8wNjZkOTQzNC1kODEyLTQzODItODVhMC00MjBlOTFlODg3ZTY", "description": "Unique identifier of the job." }, "trackingId": { "type": "string", "example": "ROUTERGW_1d458245-ee34-48c8-8ed6-92ea16ed48aa", "description": "Unique identifier to track the flow of HTTP requests." }, "sourceUserId": { "type": "string", "example": "Y2lzY29zcGFyazovL3VzL1BFT1BMRS81MDRhZmQ1YS0zODRiLTQ0NjYtYTJlNC05Y2ExZjUwMDRlYWQ", "description": "Unique identifier of the user who has run the job." }, "sourceCustomerId": { "type": "string", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi9lYTRiZTEyNS00Y2ZjLTQ5OTItOGMwNi00Y2U4Mzc2ZDU4MmE", "description": "Unique identifier of the customer who has run the job." }, "targetCustomerId": { "type": "string", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi9lYTRiZTEyNS00Y2ZjLTQ5OTItOGMwNi00Y2U4Mzc2ZDU4MmE", "description": "Unique identifier of the customer for which the job was run." }, "instanceId": { "type": "number", "example": 428989, "description": "Unique identifier to identify the instance of the job." }, "jobExecutionStatus": { "type": "array", "items": { "$ref": "#/components/schemas/JobExecutionStatusObject" }, "description": "Displays the most recent step's execution status. Contains execution statuses of all the steps involved in the execution of the job." }, "latestExecutionStatus": { "$ref": "#/components/schemas/LatestExecutionStatus" }, "latestExecutionExitCode": { "type": "string", "enum": [ "UNKNOWN", "COMPLETED", "FAILED", "STOPPED", "COMPLETED_WITH_ERRORS" ], "description": "Most recent exit code of the job at the time of invocation.\n * `UNKNOWN` - Job is in progress.\n * `COMPLETED` - Job has completed successfully.\n * `FAILED` - Job has failed.\n * `STOPPED` - Job has been stopped.\n * `COMPLETED_WITH_ERRORS` - Job has completed with errors.\n" }, "target": { "type": "string", "enum": [ "CUSTOMER", "LOCATION" ], "example": "LOCATION", "description": "Indicates the target entity." }, "locationId": { "type": "string", "example": "Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzQ0Y2UwNDBhLTEzNmMtNDc3NS1hMjIzLTY5OTczYmEyYWNhYw", "description": "Unique identifier of a location." }, "locationName": { "type": "string", "example": "Brampton", "description": "Name of the location. Included only when `target` is `LOCATION`." }, "percentageComplete": { "type": "integer", "example": 10, "description": "Indicates the progress of the job." } } }, "LatestExecutionStatus": { "type": "string", "enum": [ "STARTING", "STARTED", "COMPLETED", "FAILED" ], "description": " * `STARTING` - Indicates the job has started.\n * `STARTED` - Indicates the job is in progress.\n * `COMPLETED` - Indicates the job has completed.\n * `FAILED` - Indicates the job has failed.\n" }, "JobExecutionStatusObject": { "type": "object", "required": [ "id" ], "properties": { "id": { "type": "number", "example": 436272, "description": "Unique identifier that identifies each instance of the job." }, "startTime": { "type": "string", "example": "2025-05-13T10:59:44.106Z", "description": "Step execution start time in UTC format." }, "endTime": { "type": "string", "example": "2025-05-13T10:59:44.692Z", "description": "Step execution end time in UTC format." }, "lastUpdated": { "type": "string", "example": "2025-05-13T10:59:44.854Z", "description": "Last updated time (in UTC format) post one of the step execution completion." }, "statusMessage": { "type": "string", "example": "STARTING", "description": "Displays status for overall steps that are part of the job." }, "exitCode": { "type": "string", "example": "UNKNOWN", "description": "Exit Code for a job." }, "createdTime": { "type": "string", "example": "2024-03-13T14:57:04.678Z", "description": "Job creation time in UTC format." }, "timeElapsed": { "type": "string", "example": "PT0S", "description": "Time lapsed since the job execution started." }, "stepExecutionStatuses": { "type": "array", "items": { "$ref": "#/components/schemas/stepExecutionStatusesObject" }, "description": "Status of each step within a job." } } }, "JobExecutionStatusObject1": { "type": "object", "required": [ "id" ], "properties": { "id": { "type": "number", "description": "Unique identifier that identifies each instance of the job." }, "lastUpdated": { "type": "string", "description": "Last updated time (in UTC format) post one of the step execution completion." }, "statusMessage": { "type": "string", "description": "Displays status for overall steps that are part of the job." }, "exitCode": { "type": "string", "description": "Exit Code for a job." }, "createdTime": { "type": "string", "description": "Job creation time in UTC format." }, "timeElapsed": { "type": "string", "description": "Time lapsed since the job execution started." } } }, "stepExecutionStatusesObject": { "type": "object", "required": [ "id" ], "properties": { "id": { "type": "number", "example": 1998857, "description": "Unique identifier that identifies each step in a job." }, "startTime": { "type": "string", "example": "2024-03-13T03:58:36.886Z", "description": "Step execution start time in UTC format." }, "endTime": { "type": "string", "example": "2024-03-13T03:58:48.471Z", "description": "Step execution end time in UTC format." }, "lastUpdated": { "type": "string", "example": "2024-03-13T03:58:48.472Z", "description": "Last updated time for a step in UTC format." }, "statusMessage": { "type": "string", "example": "COMPLETED", "description": "Displays the status of a step." }, "exitCode": { "type": "string", "example": "COMPLETED", "description": "Exit Code for a step." }, "name": { "type": "string", "example": "dynamicdevicesettingsUpdate", "description": "Name of different steps the job goes through." }, "timeElapsed": { "type": "string", "example": "PT11.585S", "description": "Time lapsed since the step execution started." } } }, "PostDynamicSettingsUpdateStartJobRequest": { "type": "object", "required": [ "tags" ], "properties": { "locationId": { "type": "string", "example": "Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OL2E4Mjg5NzIyLTFiODAtNDFiNy05Njc4LTBlNzdhZThjMTA5OA", "description": "If present, the requested settings will be updated to devices under this location." }, "tags": { "type": "array", "items": { "$ref": "#/components/schemas/DynamicSettingsUpdateJobDevicePostItem" }, "description": "Array of tag identifiers for settings to be updated. Each setting is identified by a `familyOrModelDisplayName` and `tag`. Supports updating multiple settings across different device families in a single request.", "minItems": 1 } } }, "DynamicSettingsUpdateJobDevicePostItem": { "type": "object", "required": [ "familyOrModelDisplayName", "tag", "action" ], "properties": { "familyOrModelDisplayName": { "type": "string", "description": "The `familyOrModelDisplayName` of the device to which the tag applies. This value must exist in the validation schema.", "example": "Poly", "minLength": 1, "maxLength": 40 }, "tag": { "type": "string", "description": "The unique identifier for the setting to be updated.", "example": "%G711U_ORDER%", "minLength": 1, "maxLength": 64 }, "action": { "$ref": "#/components/schemas/Action" }, "value": { "type": "string", "description": "The new value to set for the setting. This field is required when `action` is `SET` and ignored otherwise.", "example": "4", "minLength": 1, "maxLength": 256 } } }, "DynamicDeviceSettingsJobListResponse": { "type": "object", "required": [ "items" ], "example": { "items": [ { "name": "dynamicdevicesettings", "id": "Y2lzY29zcGFyazovL3VzL0pPQl9JRC8wZTJjNmI5NC1hNDdlLTQxZGUtODE5ZS04YTcwNTZjMTc5MDk", "trackingId": "NA_a9ef6908-60cf-40e6-b56f-461abffd6fa3", "sourceUserId": "Y2lzY29zcGFyazovL3VzL1BFT1BMRS85OThhMThhYi1kZjY5LTQ5MWYtYmViZi03MzUxMGE3ODI5N2I", "sourceCustomerId": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi9hNDVkNmNkYS1hZTVhLTQwYzMtYTdhZC01NjUwZmRkZGQ1M2M", "targetCustomerId": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi9hNDVkNmNkYS1hZTVhLTQwYzMtYTdhZC01NjUwZmRkZGQ1M2M", "instanceId": 0, "jobExecutionStatus": [], "latestExecutionStatus": "COMPLETED", "latestExecutionExitCode": "COMPLETED", "target": "LOCATION", "locationId": "Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzgwZmUxMzdkLTg5NDgtNDlhYS1iODdiLTk4MGMxN2I2YzdiYg", "percentageComplete": 100 } ] }, "properties": { "items": { "type": "array", "items": { "$ref": "#/components/schemas/PostDynamicDeviceSettingsJobResponse" }, "description": "Lists all jobs for the customer of type `dynamicdevicesettings` in order of most recent one to oldest one irrespective of its status." } } }, "ErrorResponseObject": { "type": "object", "example": { "items": [ { "itemNumber": 0, "error": { "key": "error.key", "message": [ { "description": "Error description", "code": "1001", "locationId": "Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzMzZjBlZDFiLWQ1YjctNGI4Mi1iMzIzLTg4ZTFmODMzNGNmMw" } ] }, "trackingId": "ROUTER_62F66055-8D70-01BB-0137-AC10A8310137" } ] }, "properties": { "items": { "type": "array", "items": { "$ref": "#/components/schemas/ItemObject" }, "description": "Array of error items for failed operations.", "example": [ { "itemNumber": 0, "trackingId": "ROUTER_62F66055-8D70-01BB-0137-AC10A8310137" } ] } } }, "ItemObject": { "type": "object", "properties": { "itemNumber": { "type": "number", "description": "Index of error number." }, "trackingId": { "type": "string", "description": "Unique identifier to track the HTTP requests." }, "error": { "$ref": "#/components/schemas/ErrorObject" } } }, "ErrorObject": { "type": "object", "description": "Error details object containing error information.", "properties": { "key": { "type": "string", "description": "HTTP error code." }, "message": { "type": "array", "items": { "$ref": "#/components/schemas/ErrorMessageObject" }, "description": "Message string with further error information." } } }, "ErrorMessageObject": { "type": "object", "properties": { "description": { "type": "string", "description": "Error message." }, "code": { "type": "string", "description": "Internal error code." }, "locationId": { "type": "string", "description": "Error messages describing the location ID in which the error occurs." } } }, "supportedDevicesObject": { "type": "object", "required": [ "devices", "upgradeChannelList" ], "example": { "upgradeChannelList": [ "STABLE", "STABLE_DELAY", "PREVIEW", "BETA", "TESTING" ], "devices": [ { "model": "2N Customer Managed", "displayName": "2N Customer Managed", "type": "GENERIC_SIP", "manufacturer": "THIRD_PARTY", "managedBy": "CUSTOMER", "supportedFor": [ "PEOPLE", "PLACE" ], "onboardingMethod": [ "MAC_ADDRESS" ], "allowConfigureLayoutEnabled": false, "numberOfLinePorts": 20, "kemSupportEnabled": true, "kemModuleCount": 1, "kemLinesSupportEnabled": false, "kemModuleType": [ "KEM_20_KEYS" ], "upgradeChannelEnabled": false, "additionalPrimaryLineAppearancesEnabled": false, "basicEmergencyNomadicEnabled": false, "customizedBehaviorsEnabled": false, "allowConfigurePortsEnabled": false, "customizableLineLabelEnabled": false, "supportsLinePortReorderingEnabled": false, "portNumberSupportEnabled": false, "t38Enabled": false, "callDeclinedEnabled": false, "touchScreenPhone": false, "numberOfLineKeyButtons": 0, "deviceSettingsConfiguration": "NONE", "allowHotelingHostEnabled": false, "supportsLogCollection": "NONE", "supportsApplyChangesEnabled": false, "allowConfigureLinesEnabled": true, "allowConfigurePhoneSettingsEnabled": false, "supportsHotlineEnabled": false }, { "model": "DMS Polycom EE400", "displayName": "Polycom EE400", "familyDisplayName": "Poly", "type": "GENERIC_SIP", "manufacturer": "THIRD_PARTY", "managedBy": "CISCO", "supportedFor": [ "PEOPLE", "PLACE" ], "onboardingMethod": [ "MAC_ADDRESS" ], "allowConfigureLayoutEnabled": false, "numberOfLinePorts": 14, "kemSupportEnabled": false, "kemLinesSupportEnabled": false, "upgradeChannelEnabled": false, "additionalPrimaryLineAppearancesEnabled": true, "basicEmergencyNomadicEnabled": false, "customizedBehaviorsEnabled": true, "allowConfigurePortsEnabled": false, "customizableLineLabelEnabled": false, "supportsLinePortReorderingEnabled": true, "portNumberSupportEnabled": false, "t38Enabled": false, "callDeclinedEnabled": true, "touchScreenPhone": false, "numberOfLineKeyButtons": 0, "deviceSettingsConfiguration": "WEBEX_CALLING_DYNAMIC_DEVICE_CONFIGURATION", "allowHotelingHostEnabled": true, "supportsLogCollection": "NONE", "supportsApplyChangesEnabled": true, "allowConfigureLinesEnabled": true, "allowConfigurePhoneSettingsEnabled": true, "supportsHotlineEnabled": true } ] }, "properties": { "upgradeChannelList": { "type": "array", "items": { "$ref": "#/components/schemas/UpgradeChannelObject" }, "description": "List of available upgrade channels.\n * `STABLE` - These are standard stable releases.\n * `STABLE_DELAY` - These are delayed stable releases.\n * `PREVIEW` - These are Preview/pre-release versions.\n * `BETA` - These are Beta testing versions.\n * `TESTING` - These are testing versions.\n" }, "devices": { "type": "array", "items": { "$ref": "#/components/schemas/DeviceObject" }, "description": "List of supported devices." } } }, "UpgradeChannelObject": { "type": "string", "enum": [ "STABLE", "STABLE_DELAY", "PREVIEW", "BETA", "TESTING" ] }, "DeviceObject": { "type": "object", "required": [ "model", "displayName", "type", "manufacturer", "managedBy", "supportedFor", "onboardingMethod", "allowConfigureLayoutEnabled", "numberOfLinePorts", "kemSupportEnabled", "kemLinesSupportEnabled", "upgradeChannelEnabled", "additionalPrimaryLineAppearancesEnabled", "basicEmergencyNomadicEnabled", "customizedBehaviorsEnabled", "allowConfigurePortsEnabled", "customizableLineLabelEnabled", "supportsLinePortReorderingEnabled", "portNumberSupportEnabled", "t38Enabled", "callDeclinedEnabled", "touchScreenPhone", "numberOfLineKeyButtons", "allowHotelingHostEnabled", "supportsApplyChangesEnabled", "allowConfigureLinesEnabled", "allowConfigurePhoneSettingsEnabled", "supportsHotlineEnabled" ], "properties": { "model": { "type": "string", "example": "2N Customer Managed", "description": "Model name of the device." }, "displayName": { "type": "string", "example": "2N Customer Managed", "description": "Display name of the device." }, "familyDisplayName": { "type": "string", "example": "Poly", "description": "The display name of the device family." }, "type": { "$ref": "#/components/schemas/TypeObject" }, "manufacturer": { "$ref": "#/components/schemas/ManufacturerObject" }, "managedBy": { "$ref": "#/components/schemas/ManagedByObject" }, "supportedFor": { "type": "array", "items": { "$ref": "#/components/schemas/SupportedForObject" }, "description": "List of places the device is supported for." }, "onboardingMethod": { "type": "array", "items": { "$ref": "#/components/schemas/OnboardingMethodObject" }, "description": "Onboarding method." }, "allowConfigureLayoutEnabled": { "type": "boolean", "description": "Enables / Disables layout configuration for devices." }, "numberOfLinePorts": { "type": "number", "description": "Number of port lines." }, "kemSupportEnabled": { "type": "boolean", "example": true, "description": "Indicates whether Kem support is enabled or not." }, "kemModuleCount": { "type": "number", "description": "Module count." }, "kemLinesSupportEnabled": { "type": "boolean", "description": "Enables / disables Kem lines support." }, "kemModuleType": { "type": "array", "items": { "$ref": "#/components/schemas/KemModuleType" }, "description": "Key expansion module type of the device." }, "upgradeChannelEnabled": { "type": "boolean", "description": "Enables / Disables the upgrade channel." }, "defaultUpgradeChannel": { "type": "string", "description": "The default upgrade channel." }, "additionalPrimaryLineAppearancesEnabled": { "type": "boolean", "description": "Enables / disables the additional primary line appearances." }, "basicEmergencyNomadicEnabled": { "type": "boolean", "description": "Enables / disables Basic emergency nomadic." }, "customizedBehaviorsEnabled": { "type": "boolean", "description": "Enables / disables customized behavior support on devices." }, "allowConfigurePortsEnabled": { "type": "boolean", "description": "Enables / disables configuring port support on device." }, "customizableLineLabelEnabled": { "type": "boolean", "description": "Enables / disables customizable line label." }, "supportsLinePortReorderingEnabled": { "type": "boolean", "description": "Enables / disables support line port reordering." }, "portNumberSupportEnabled": { "type": "boolean", "description": "Enables / disables port number support." }, "t38Enabled": { "type": "boolean", "description": "Enables / disables T.38." }, "callDeclinedEnabled": { "type": "boolean", "description": "Enables / disables call declined." }, "touchScreenPhone": { "type": "boolean", "description": "Supports touch screen on device." }, "numberOfLineKeyButtons": { "type": "number", "description": "Number of line key buttons for a device." }, "deviceSettingsConfiguration": { "$ref": "#/components/schemas/DeviceSettingsConfigurationObject" }, "allowHotelingHostEnabled": { "type": "boolean", "description": "Enables / disables hoteling host." }, "supportsLogCollection": { "$ref": "#/components/schemas/SupportsLogCollectionObject" }, "supportsApplyChangesEnabled": { "type": "boolean", "description": "Enables / disables apply changes." }, "allowConfigureLinesEnabled": { "type": "boolean", "description": "Enables / disables configure lines." }, "allowConfigurePhoneSettingsEnabled": { "type": "boolean", "description": "Enables / disables configure phone settings." }, "supportsHotlineEnabled": { "type": "boolean", "description": "Enables / disables hotline support." }, "maxNumberOfLineAppearances": { "type": "number", "description": "Maximum number of line appearances available on the device." } } }, "TypeObject": { "type": "string", "enum": [ "MPP", "ATA", "GENERIC_SIP", "ESIM", "DESK_PHONE" ], "description": " * `MPP` - Cisco Multiplatform Phone\n * `ATA` - Analog Telephone Adapters\n * `GENERIC_SIP` - GENERIC Session Initiation Protocol\n * `ESIM` - Esim Supported Webex Go\n * `DESK_PHONE` - Desk Phone\n" }, "ManagedByObject": { "type": "string", "enum": [ "CISCO", "CUSTOMER" ], "description": " * `CISCO` - Devices managed by Cisco.\n * `CUSTOMER` - Devices managed by a customer that are approved by a Cisco account manager to be enabled for provisioning in the control hub.\n" }, "ManufacturerObject": { "type": "string", "enum": [ "CISCO", "THIRD_PARTY" ], "description": " * `CISCO` - Devices manufactured by Cisco.\n * `THIRD_PARTY` - Devices manufactured by a third-party that are approved by a Cisco account manager to be enabled for provisioning in the control hub.\n" }, "SupportedForObject": { "type": "string", "enum": [ "PEOPLE", "PLACE" ] }, "OnboardingMethodObject": { "type": "string", "enum": [ "MAC_ADDRESS", "ACTIVATION_CODE", "NONE" ] }, "SupportsLogCollectionObject": { "type": "string", "enum": [ "NONE", "CISCO_PRT", "CISCO_ROOMOS" ], "description": " * `NONE` - Devices which does not support log collection.\n * `CISCO_PRT` - Devices which supports Cisco PRT log collection.\n * `CISCO_ROOMOS` - Devices which supports Cisco RoomOS log collection.\n" }, "DeviceSettingsConfigurationObject": { "type": "string", "enum": [ "WEBEX_CALLING_DEVICE_CONFIGURATION", "WEBEX_DEVICE_CONFIGURATION", "WEBEX_CALLING_DYNAMIC_DEVICE_CONFIGURATION", "NONE" ], "description": " * `WEBEX_CALLING_DEVICE_CONFIGURATION` - Devices which supports Webex Calling Device Settings Configuration.\n * `WEBEX_DEVICE_CONFIGURATION` - Devices which supports Webex Device Settings Configuration.\n * `WEBEX_CALLING_DYNAMIC_DEVICE_CONFIGURATION` - Devices which supports Webex Calling dynamic Settings Configuration.\n * `NONE` - Devices does not support any configuration.\n" }, "KemModuleType": { "type": "string", "enum": [ "KEM_14_KEYS", "KEM_18_KEYS", "KEM_20_KEYS" ], "description": " * `KEM_14_KEYS` - Extension module has 14 line keys that can be configured.\n * `KEM_18_KEYS` - Extension module has 18 line keys that can be configured.\n * `KEM_20_KEYS` - Extension module has 20 line keys that can be configured.\n" }, "ActivationCode": { "type": "object", "properties": { "code": { "type": "string", "example": "5414011256173816", "description": "The activation code." }, "expiryTime": { "type": "string", "example": "2017-11-16T23:38:03.215Z", "description": "The date and time the activation code expires." } } }, "Device": { "type": "object", "required": [ "created" ], "properties": { "id": { "type": "string", "example": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMV9pbnQxMy9ERVZJQ0UvNTEwMUIwN0ItNEY4Ri00RUY3LUI1NjUtREIxOUM3QjcyM0Y3", "description": "A unique identifier for the device." }, "displayName": { "type": "string", "example": "SFO12-3-PanHandle", "description": "A friendly name for the device." }, "placeId": { "type": "string", "example": "Y2lzY29zcGFyazovL3VzL1BFT1BMRS83MTZlOWQxYy1jYTQ0LTRmZWQtOGZjYS05ZGY0YjRmNDE3ZjU", "description": "The `placeId` field has been deprecated. Please use `workspaceId` instead." }, "workspaceId": { "type": "string", "example": "Y2lzY29zcGFyazovL3VzL1BFT1BMRS83MTZlOWQxYy1jYTQ0LTRmZWQtOGZjYS05ZGY0YjRmNDE3ZjU", "description": "The workspace associated with the device." }, "personId": { "type": "string", "example": "Y2lzY29zcGFyazovL3VzL1BFT1BMRS83MTZlOWQxYy1jYTQ0LTRmZWQtOGZjYS05ZGY0YjRmNDE3ZjU", "description": "The person associated with the device." }, "orgId": { "type": "string", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "description": "The organization associated with the device." }, "capabilities": { "type": "array", "items": { "$ref": "#/components/schemas/DeviceCapabilities" }, "description": "The capabilities of the device.", "example": [ "xapi" ] }, "permissions": { "type": "array", "items": { "$ref": "#/components/schemas/DevicePermissions" }, "description": "The permissions the user has for this device. For example, `xapi` means this user is entitled to using the `xapi` against this device.", "example": [ "xapi:readonly", "xapi:all" ] }, "connectionStatus": { "$ref": "#/components/schemas/DeviceConnectionStatus" }, "product": { "type": "string", "example": "Cisco Webex DX80", "description": "The product name. A display friendly version of the device's `model`." }, "type": { "type": "string", "example": "roomdesk", "description": "The product type." }, "tags": { "type": "array", "items": { "type": "string", "example": "First Tag, Second Tag" }, "description": "Tags assigned to the device.", "example": [ "First Tag", "Second Tag" ] }, "ip": { "type": "string", "example": "100.110.120.130", "description": "The current IP address of the device." }, "activeInterface": { "$ref": "#/components/schemas/NetworkConnectivityType" }, "mac": { "type": "string", "example": "11:22:33:44:AA:FF", "description": "The unique address for the network adapter." }, "primarySipUrl": { "type": "string", "example": "sample_device@sample_workspacename.orgname.org", "description": "The primary SIP address to dial this device." }, "sipUrls": { "example": [ "sample_device@sample_workspacename.orgname.org", "another_device@sample_workspacename.orgname.org" ], "type": "array", "items": { "type": "string", "example": "sample_device@sample_workspacename.orgname.org, another_device@sample_workspacename.orgname.org" }, "description": "All SIP addresses to dial this device." }, "serial": { "type": "string", "example": "FOC1923NVVN", "description": "Serial number for the device." }, "software": { "type": "string", "example": "RoomOS 2018-06-01 608dcdbb6e1", "description": "The operating system name data and version tag." }, "upgradeChannel": { "type": "string", "example": "beta", "description": "The upgrade channel the device is assigned to." }, "created": { "type": "string", "example": "2016-04-21T17:00:00.000Z", "description": "The date and time that the device was registered, in ISO8601 format." }, "locationId": { "type": "string", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "description": "The location associated with the device." }, "workspaceLocationId": { "type": "string", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "description": "The workspace location associated with the device. Deprecated, prefer `locationId`." }, "errorCodes": { "example": [ "sipprofileregistration" ], "type": "array", "items": { "type": "string", "example": "sipprofileregistration" }, "description": "Error codes coming from the device." }, "firstSeen": { "type": "string", "example": "2021-02-24T09:08:38.822Z", "description": "Timestamp of the first time device sent a status post." }, "lastSeen": { "type": "string", "example": "2023-08-15T14:04:00.444Z", "description": "Timestamp of the last time device sent a status post." }, "managedBy": { "$ref": "#/components/schemas/ManagedBy" }, "devicePlatform": { "$ref": "#/components/schemas/DevicePlatform" }, "plannedMaintenance": { "type": "object", "description": "The planned maintenance for the device.", "properties": { "mode": { "type": "string", "enum": [ "off", "on", "upcoming" ], "description": "The planned maintenance mode for the device" } } } } }, "DeviceCollectionResponse": { "type": "object", "properties": { "items": { "type": "array", "items": { "$ref": "#/components/schemas/Device" } } } }, "NetworkConnectivityType": { "type": "string", "enum": [ "wired" ], "description": "The current network connectivity for the device.", "example": "wired" }, "DeviceConnectionStatus": { "type": "string", "enum": [ "connected", "disconnected", "connected_with_issues", "offline_expired", "activating", "unknown", "offline_deep_sleep" ], "description": "The connection status of the device.", "example": "connected" }, "DevicePermissions": { "type": "string", "enum": [ "xapi:readonly", "xapi:all" ] }, "DeviceCapabilities": { "type": "string", "enum": [ "xapi" ] }, "ManagedBy": { "type": "string", "enum": [ "CISCO", "CUSTOMER", "PARTNER" ], "description": "Entity managing the device configuration.", "example": "CISCO" }, "DevicePlatform": { "type": "string", "enum": [ "cisco", "microsoftTeamsRoom" ], "description": "Device platform", "example": "cisco" }, "MaintenanceMode": { "type": "string", "enum": [ "off", "on", "upcoming" ], "example": "off", "description": "The maintenance mode of the device." }, "Event": { "type": "object", "required": [ "id", "resource", "type", "actorId", "orgId", "created", "data" ], "properties": { "id": { "type": "string", "example": "Y2lzY29zcGFyazovL3VzL0VWRU5UL2JiY2ViMWFkLTQzZjEtM2I1OC05MTQ3LWYxNGJiMGM0ZDE1NAo", "description": "The unique identifier for the event." }, "resource": { "$ref": "#/components/schemas/EventResourceEnum", "description": "The type of resource in the event." }, "type": { "$ref": "#/components/schemas/EventTypeEnum", "description": "The action which took place in the event." }, "appId": { "type": "string", "example": "null", "description": "The ID of the application for the event." }, "actorId": { "type": "string", "example": "Y2lzY29zcGFyazovL3VzL1BFT1BMRS9mNWIzNjE4Ny1jOGRkLTQ3MjctOGIyZi1mOWM0NDdmMjkwNDY", "description": "The ID of the person who performed the action." }, "orgId": { "type": "string", "example": "OTZhYmMyYWEtM2RjYy0xMWU1LWExNTItZmUzNDgxOWNkYzlh", "description": "The ID of the organization for the event." }, "created": { "type": "string", "example": "2016-05-16T21:34:59.324Z", "description": "The date and time of the event." }, "data": { "type": "object", "properties": { "id": { "type": "string", "example": "Y2lzY29zcGFyazovL3VzL01FU1NBR0UvOTJkYjNiZTAtNDNiZC0xMWU2LThhZTktZGQ1YjNkZmM1NjVk" }, "roomId": { "type": "string", "example": "Y2lzY29zcGFyazovL3VzL1JPT00vYmJjZWIxYWQtNDNmMS0zYjU4LTkxNDctZjE0YmIwYzRkMTU0" }, "roomType": { "type": "string", "example": "group" }, "orgId": { "type": "string", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi9jZTg2MWZiYS02ZTJmLTQ5ZjktOWE4NC1iMzU0MDA4ZmFjOWU" }, "text": { "type": "string", "example": "PROJECT UPDATE - A new project plan has been published on Box: http://box.com/s/lf5vj. The PM for this project is Mike C. and the Engineering Manager is Jane W." }, "personId": { "type": "string", "example": "Y2lzY29zcGFyazovL3VzL1BFT1BMRS9mNWIzNjE4Ny1jOGRkLTQ3MjctOGIyZi1mOWM0NDdmMjkwNDY" }, "personEmail": { "type": "string", "example": "matt@example.com" }, "meetingId": { "type": "string", "example": "16ce696f75844d24b2d4fab04b4419af_I_183979003076423608" }, "creatorId": { "type": "string", "example": "Y2lzY29zcGFyazovL3VzL1BFT1BMRS82YWE2ZGE5OS0xYzdlLTQ4MWItODY3YS03MWY2NTIwNDk0MzM" }, "host": { "type": "object", "properties": {}, "description": "The meeting's host data." }, "attendees": { "type": "array", "items": {}, "description": "Common Identity (CI) authenticated meeting attendees." }, "transcriptionEnabled": { "type": "string", "example": "yes", "description": "Indicates whether or not the Voice Assistant was enabled during the meeting. If `true` a transcript should be available a couple minutes after the meeting ended at the [meetingTranscripts resource](/docs/api/v1/meeting-transcripts)." }, "recordingEnabled": { "type": "string", "example": "yes", "description": "Indicates if recording was enabled for all or parts of the meeting. If `true` a recording should be available shortly after the meeting ended at the [recordings resource](/docs/api/v1/recordings)." }, "hasPostMeetingsChat": { "type": "string", "example": "yes", "description": "Indicates if chat messages were exchanged during the meeting in the meetings client (not the unified client). If `true` these messages can be accessed by a compliance officer at the [postMeetingsChat](/docs/api/v1/meetings-chat) resource. Meetings chat collection must be custom enabled." }, "corelationId": { "type": "string", "example": "fdda8613-d34b-424c-8c6a-44ff2e19379c", "description": "Telephony; The corelation id." }, "callType": { "type": "string", "example": "SIP_ENTERPRISE", "description": "Telephony; call types (examples `VIDEO_DIALIN`,`VIDEO_DIALOUT`,`CASCADE`,`HYBRID_CASCADE`,`PSTN_SIP`,`PSTN_DIALIN`,`PSTN_DIALOUT`,`PSTN_ONLY_DIALIN`,`PSTN_ONLY_DIALOUT`,`H323`,`H323_IP`,`SIP_ENTERPRISE`,`SIP_MOBILE`,`SIP_NATIONAL`,`SIP_INTERNATIONAL`,`SIP_EMERGENCY`,`SIP_OPERATOR`,`SIP_SHORTCODE`,`SIP_TOLLFREE`,`SIP_PREMIUM`,`SIP_URI`,`SIP_INBOUND`,`UNKNOWN`,`ZTM`,`SIP_MEETING`)." }, "userId": { "type": "string", "example": "Y2lzY29zcGFyazovL3VzL1BFT1BMRS8zZjEwMTU1NC04ZGJjLTQyMmUtOGEzZC1kYTk1YTI3NWZlNzU", "description": "Telephony; user id of the CDR owner." }, "userType": { "type": "string", "example": "User", "description": "Telephony; The type of user (`User`,`Anchor`,`AutomatedAttendantBasic`,`AutomatedAttendantStandard`,`AutomatedAttendantVideo`,`BroadworksAnywhere`,`CallCenterBasic`,`CallCenterPremium`,`CallCenterStandard`,`CollaborateBridge`,`ContactCenterAdaptor`,`FindMeFollowMe`,`FlexibleSeatingHost`,`GroupCall`,`GroupPaging`,`HuntGroup`,`LocalGateway`,`MeetMeConference`,`Place`,`RoutePoint`,`SystemVoicePortal`,`VoiceMailGroup`,`VoiceMailRetrieval`,`VoiceXML`,`VirtualLine`,`Unknown`)." }, "callDirection": { "type": "string", "example": "ORIGINTATING", "description": "Telephony; `ORIGINATING` or `TERMINATING`." }, "isCallAnswered": { "type": "string", "example": "true", "description": "Telephony; indicates if the call was answered." }, "callDurationSeconds": { "type": "string", "example": "192", "description": "Telephony; duration of call in seconds." }, "callStartTime": { "type": "string", "example": "2023-02-08T06:12:43.976Z", "description": "Telephony; ISO 8601." }, "callAnswerTime": { "type": "string", "example": "2023-02-08T06:12:47.012Z", "description": "Telephony; ISO 8601." }, "callTransferTime": { "type": "string", "example": "2023-02-08T06:15:19.112Z", "description": "Telephony; ISO 8601." }, "callingNumber": { "type": "string", "example": "910481234", "description": "Telephony; originating number." }, "callingLineId": { "type": "string", "example": "211", "description": "Telephony." }, "calledNumber": { "type": "string", "example": "4089671221", "description": "Telephony; destination number." }, "calledLineId": { "type": "string", "example": "219", "description": "Telephony" }, "dialedDigits": { "type": "string", "example": "123", "description": "Telephony" }, "callRedirectingNumber": { "type": "string", "description": "Telephony" }, "callRedirectedReason": { "type": "string", "description": "Telephony" }, "created": { "type": "string", "example": "2016-05-16T21:34:59.324Z" }, "type": { "type": "string", "example": "direct", "description": "Message type `direct` or `group` message." }, "breakoutSessionId": { "type": "string", "example": "d66a4a90-4f50-11ef-bc94-f5c71646dc71", "description": "The breakout session Id in cases where the action happened in a meeting's brakout session, for example a `meetingMessage`." }, "recipients": { "type": "array", "items": { "$ref": "#/components/schemas/Recipient" }, "description": "The recipients list for directed meetingMessages." } }, "description": "The event's data representation. This object will contain the event's `resource`, such as [memberships](/docs/api/v1/memberships/get-membership-details), [messages](/docs/api/v1/messages/get-message-details), [meetings](/docs/api/v1/meetings), [meetingMessages](/docs/api/v1/meetingMessages), [tabs](/docs/api/v1/room-tabs), [rooms](/docs/api/v1/space-classifications) or [attachmentActions](/docs/api/v1/attachment-actions) at the time the event took place." } } }, "EventCollectionResponse": { "type": "object", "properties": { "items": { "type": "array", "items": { "$ref": "#/components/schemas/Event" } } } }, "EventResourceEnum": { "type": "string", "enum": [ "attachmentActions", "businessTexts", "call_records", "convergedRecordings", "file_transcodings", "files", "meetingMessages", "meetings", "meetingTranscripts", "memberships", "messages", "rooms", "tabs" ], "description": " * `attachmentActions` - State changed on a card attachment\n * `businessTexts` - A user sent or received a SMS message\n * `call_records` - A Webex call was made to/from a user\n * `convergedRecordings` - A Webex call was recorded for a user\n * `file_transcodings` - State change on a file preview\n * `files` - State changed on a file download\n * `meetingMessages` - State changed on a meeting message, i.e. message exchanged as part of a meeting\n * `meetings` - State change on a meeting ( here combined with type = 'ended' )\n * `meetingTranscripts` - State change on a automatic transcript resource for Webex Assistant\n * `memberships` - State changed on a memberships resource\n * `messages` - State changed on a messages resource\n * `rooms` - State changed on a space classification\n * `tabs` - State changed on a room tabs in a space\n" }, "EventTypeEnum": { "type": "string", "enum": [ "created", "updated", "deleted", "ended" ], "description": " * `created` - The resource has been created\n * `updated` - A property on the resource has been updated\n * `deleted` - The resource has been deleted\n * `ended` - The meeting has ended\n" }, "Recipient": { "type": "object", "properties": { "personId": { "type": "string", "example": "Y2lzY29zcGFyazovL3VzL1BFT1BMRS9lOGYwOTIwOC00ZjUxLTExZWYtOTQ4My1iYTA3NjE2MzY4NmQ", "description": "The personId of the recipient" }, "personEmail": { "type": "string", "example": "johndoe@simplistic.com", "description": "The personEmail" }, "guestDisplayName": { "type": "string", "example": "John Wayne", "description": "Guests, who are unauthenticated users, have a guestDisplayName" }, "guestEmail": { "type": "string", "example": "jwayne@mailinator.com", "description": "Guests, who are unauthenticated users, have a guestEmail" } } }, "HotDeskSessionsResponse": { "type": "object", "properties": { "items": { "type": "array", "items": { "$ref": "#/components/schemas/HotDesk" } } } }, "HotDesk": { "type": "object", "properties": { "sessionId": { "type": "string", "example": "Y2lzY29...", "description": "A unique identifier for a hot desk session." }, "workspaceId": { "type": "string", "example": "YL34EmB...", "description": "The workspace where the hot desk session is active." }, "personId": { "type": "string", "example": "YL34EmA...", "description": "The id of the person who initiated the hot desk session." }, "bookingStartTime": { "type": "string", "example": "2024-08-29T12:00:00Z", "description": "The start time of the booking." }, "bookingEndTime": { "type": "string", "example": "2024-08-29T20:00:00Z", "description": "The end time of the booking." } } }, "Location": { "type": "object", "required": [ "address", "countryCode", "latitude", "longitude" ], "properties": { "id": { "type": "string", "example": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMV9pbnQxMy9XT1JLU1BBQ0VfTE9DQVRJT04vM2E2ZmYzNzMtNjhhNy00NGU0LTkxZDYtYTI3NDYwZTBhYzVjIzUxOWY2N2E1LTlkOTktNGM2My04YTA5LWI5MTcxY2M2NmJkMQ==", "description": "Unique identifier for the location." }, "locationId": { "type": "string", "example": "Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzA2OWEzMDY2LTgwNjMtNDI0Zi05YmE0LTBhZDdhMmYxMzNjNQ", "description": "The ID to use for this location in the [/locations API](/docs/api/v1/locations)" }, "displayName": { "type": "string", "example": "Cisco Barcelona", "description": "A friendly name for the location." }, "address": { "type": "string", "example": "Carrer de Pere IV, Barcelona, Spain", "description": "The location address." }, "countryCode": { "type": "string", "example": "ES", "description": "The location country code (ISO 3166-1)." }, "cityName": { "type": "string", "example": "Barcelona", "description": "The location city name." }, "latitude": { "type": "number", "example": 41.406615, "description": "The location latitude." }, "longitude": { "type": "number", "example": 2.200717, "description": "The location longitude." }, "notes": { "type": "string", "example": "A note about the location", "description": "Notes associated with the location." } } }, "PutCommonLocationObject": { "type": "object", "properties": { "name": { "type": "string", "example": "Denver", "description": "The name of the location. Supports up to 256 characters, but locations enabled for Webex Calling are limited to 80 characters maximum." }, "timeZone": { "type": "string", "example": "America/Chicago", "description": "Time zone associated with this location, refer to this link (https://developer.webex.com/docs/api/guides/webex-for-broadworks-developers-guide#webex-meetings-site-timezone) for format." }, "preferredLanguage": { "type": "string", "example": "en_us", "description": "Default email language." }, "address": { "type": "object", "properties": { "address1": { "type": "string", "example": "123 Some St.", "description": "Address 1" }, "address2": { "type": "string", "example": "Suite 456", "description": "Address 2" }, "city": { "type": "string", "example": "Supercity", "description": "City" }, "state": { "type": "string", "example": "Goodstate", "description": "State code" }, "postalCode": { "type": "string", "example": "12345", "description": "Postal Code" }, "country": { "type": "string", "example": "US", "description": "ISO-3166 2-Letter Country Code." } }, "description": "The address of the location." } } }, "PostCommonLocationObject": { "type": "object", "required": [ "name", "timeZone", "preferredLanguage", "announcementLanguage", "address" ], "properties": { "name": { "type": "string", "example": "Denver", "description": "The name of the location. Supports up to 256 characters, but locations enabled for Webex Calling are limited to 80 characters maximum." }, "timeZone": { "type": "string", "example": "America/Chicago", "description": "Time zone associated with this location, refer to this link (https://developer.webex.com/docs/api/guides/webex-for-broadworks-developers-guide#webex-meetings-site-timezone) for format." }, "preferredLanguage": { "type": "string", "example": "en_us", "description": "Default email language." }, "announcementLanguage": { "type": "string", "example": "fr_fr", "description": "Location's phone announcement language." }, "address": { "type": "object", "required": [ "address1", "city", "state", "postalCode", "country" ], "properties": { "address1": { "type": "string", "example": "123 Some St.", "description": "Address 1" }, "address2": { "type": "string", "example": "Suite 456", "description": "Address 2" }, "city": { "type": "string", "example": "Supercity", "description": "City" }, "state": { "type": "string", "example": "Goodstate", "description": "State code" }, "postalCode": { "type": "string", "example": "12345", "description": "Postal Code" }, "country": { "type": "string", "example": "US", "description": "ISO-3166 2-Letter Country Code." } }, "description": "The address of the location." }, "latitude": { "type": "string", "example": "12.935784", "description": "Latitude" }, "longitude": { "type": "string", "example": "77.697332", "description": "Longitude" }, "notes": { "type": "string", "example": "123 Some St. Denver Location", "description": "Notes" } } }, "LocationsCollectionResponse": { "type": "object", "properties": { "items": { "type": "array", "items": { "$ref": "#/components/schemas/Location" } } } }, "Floor": { "type": "object", "required": [ "floorNumber" ], "properties": { "id": { "type": "string", "example": "xxx==", "description": "Unique identifier for the floor." }, "locationId": { "type": "string", "example": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMV9pbnQxMy9XT1JLU1BBQ0VfTE9DQVRJT04vM2E2ZmYzNzMtNjhhNy00NGU0LTkxZDYtYTI3NDYwZTBhYzVjIzUxOWY2N2E1LTlkOTktNGM2My04YTA5LWI5MTcxY2M2NmJkMQ==", "description": "Unique identifier for the location." }, "floorNumber": { "type": "number", "example": -1, "description": "The floor number." }, "displayName": { "type": "string", "example": "The basement", "description": "The floor display name." } } }, "FloorUpdated": { "type": "object", "required": [ "floorNumber" ], "properties": { "id": { "type": "string", "example": "xxx==", "description": "Unique identifier for the floor." }, "locationId": { "type": "string", "example": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMV9pbnQxMy9XT1JLU1BBQ0VfTE9DQVRJT04vM2E2ZmYzNzMtNjhhNy00NGU0LTkxZDYtYTI3NDYwZTBhYzVjIzUxOWY2N2E1LTlkOTktNGM2My04YTA5LWI5MTcxY2M2NmJkMQ==", "description": "Unique identifier for the location." }, "floorNumber": { "type": "number", "example": 1, "description": "The floor number." }, "displayName": { "type": "string", "example": "My custom name", "description": "The floor display name." } } }, "FloorCreationRequest": { "type": "object", "required": [ "floorNumber" ], "properties": { "floorNumber": { "type": "number", "example": -1, "description": "The floor number." }, "displayName": { "type": "string", "example": "The basement", "description": "The floor display name." } } }, "FloorUpdateRequest": { "type": "object", "required": [ "floorNumber" ], "properties": { "floorNumber": { "type": "number", "example": 1, "description": "The floor number." }, "displayName": { "type": "string", "example": "My custom name", "description": "The floor display name." } } }, "FloorCollectionResponse": { "type": "object", "properties": { "items": { "type": "array", "items": { "$ref": "#/components/schemas/Floor" }, "description": "An array of floor objects." } } }, "MeetingQualitiesResponse": { "type": "object", "properties": { "items": { "type": "array", "items": { "$ref": "#/components/schemas/MediaSessionQuality" } } } }, "MediaSessionQuality": { "type": "object", "required": [ "meetingInstanceId" ], "properties": { "meetingInstanceId": { "type": "string", "example": "e5dba9613a9d455aa49f6ffdafb6e7db_I_191395283063545470", "description": "The meeting identifier for the specific meeting instance." }, "webexUserName": { "type": "string", "example": "John Andersen", "description": "The display name of the participant of this media session." }, "webexUserEmail": { "type": "string", "example": "john.andersen@example.com", "description": "The email address of the participant of this media session." }, "joinTime": { "type": "string", "example": "2020-04-10T17:00:00.000Z", "description": "The date and time when this participant joined the meeting." }, "leaveTime": { "type": "string", "example": "2020-04-10T17:02:00.000Z", "description": "The date and time when this participant left the meeting." }, "joinMeetingTime": { "type": "string", "example": "5.793", "description": "The join meeting time of the participant. " }, "clientType": { "type": "string", "example": "Teams_Mobile_Client (iOS)", "description": "The type of the client (and OS) used by this media session." }, "clientVersion": { "type": "string", "example": "40.5.0.210", "description": "The version of the client used by this media session." }, "osType": { "type": "string", "example": "mac", "description": "The operating system used for the client." }, "osVersion": { "type": "string", "example": "Version 10.14.6 (Build 18G3020)", "description": "The version of the operating system used for the client." }, "hardwareType": { "type": "string", "example": "mac book", "description": "The type of hardware used to attend the meeting" }, "speakerName": { "type": "string", "example": "MacBook Pro Speakers", "description": "A description of the speaker used in the meeting." }, "networkType": { "type": "string", "enum": [ "wifi", "cellular", "ethernet", "unknown" ], "description": "The type of network." }, "localIP": { "type": "string", "example": "10.24.72.54", "description": "The local IP address of the client." }, "publicIP": { "type": "string", "example": "10.24.72.54", "description": "The public IP address of the client." }, "maskedLocalIP": { "type": "string", "example": "10.24.72.54", "description": "The masked local IP address of the client." }, "maskedPublicIP": { "type": "string", "example": "10.24.72.54", "description": "The masked public IP address of the client." }, "camera": { "type": "string", "example": "FaceTime HD Camera", "description": "A description of the camera used in the meeting." }, "microphone": { "type": "string", "example": "External Microphone", "description": "A description of the microphone used in the meeting." }, "serverRegion": { "type": "string", "example": "San Jose, USA", "description": "The server region." }, "videoMeshCluster": { "type": "string", "example": "Mesh Cluster One", "description": "The video mesh cluster name." }, "videoMeshServer": { "type": "string", "example": "server.example.com", "description": "The video mesh server name." }, "participantId": { "type": "string", "example": "8635cbf0ca1a4573b27348e560679b25_I_158174534545967299_57", "description": "Identifies the participant." }, "participantSessionId": { "type": "string", "example": "3324C9D0-9EA7-45A2-B249-5B62A384AFEF", "description": "Identifies a specific session the participant has in a given meeting." }, "videoIn": { "type": "array", "items": { "$ref": "#/components/schemas/VideoIn" }, "description": "The collection of downstream (sent to the client) video quality data." }, "videoOut": { "type": "array", "items": { "$ref": "#/components/schemas/VideoOut" }, "description": "The collection of upstream (sent from the client) video quality data." }, "audioIn": { "type": "array", "items": { "$ref": "#/components/schemas/AudioIn" }, "description": "The collection of downstream (sent to the client) audio quality data." }, "audioOut": { "type": "array", "items": { "$ref": "#/components/schemas/AudioOut" }, "description": "The collection of upstream (sent from the client) audio quality data." }, "shareIn": { "type": "array", "items": { "$ref": "#/components/schemas/ShareIn" }, "description": "The collection of downstream (sent to the client) share quality data." }, "shareOut": { "type": "array", "items": { "$ref": "#/components/schemas/ShareOut" }, "description": "The collection of upstream (sent from the client) share quality data." }, "resources": { "type": "array", "items": { "$ref": "#/components/schemas/Resources" }, "description": "Device resources such as CPU and memory." } } }, "VideoIn": { "type": "object", "properties": { "samplingInterval": { "type": "number", "example": 60, "description": "The sampling interval, in seconds, of the downstream video quality data." }, "startTime": { "type": "string", "example": "2020-04-10T17:00:00.000Z", "description": "The date and time when this video session started." }, "endTime": { "type": "string", "example": "2020-04-10T18:00:00.000Z", "description": "The date and time when this video session ended." }, "packetLoss": { "type": "array", "items": { "type": "number" }, "description": "The percentage of video packet loss, as a float between 0.0 and 100.0, during each sampling interval." }, "latency": { "type": "array", "items": { "type": "number" }, "description": "The average latency, in milliseconds, during each sampling interval." }, "resolutionHeight": { "type": "array", "items": { "type": "number" }, "description": "The pixel height of the incoming video." }, "frameRate": { "type": "array", "items": { "type": "number", "example": 25.940001 }, "description": "The frames per second of the incoming video." }, "mediaBitRate": { "type": "array", "items": { "type": "number" }, "description": "The bit rate of the incoming video." }, "codec": { "type": "string", "example": "H.264 BP", "description": "The incoming video codec." }, "jitter": { "type": "array", "items": { "type": "number", "example": 170 }, "description": "The incoming video jitter." }, "transportType": { "type": "string", "enum": [ "UDP", "TCP" ], "description": "The network protocol used for video transmission." } } }, "VideoOut": { "type": "object", "properties": { "samplingInterval": { "type": "number", "example": 60, "description": "The sampling interval, in seconds, of the upstream video quality data." }, "startTime": { "type": "string", "example": "2020-04-10T17:00:00.000Z", "description": "The date and time when this video session started." }, "endTime": { "type": "string", "example": "2020-04-10T18:00:00.000Z", "description": "The date and time when this video session ended." }, "packetLoss": { "type": "array", "items": { "type": "number" }, "description": "The percentage of video packet loss, in float between 0.0 and 100.0, during each sampling interval." }, "latency": { "type": "array", "items": { "type": "number" }, "description": "The average latency, in milliseconds, during each sampling interval." }, "resolutionHeight": { "type": "array", "items": { "type": "number" }, "description": "The pixel height of the outgoing video." }, "frameRate": { "type": "array", "items": { "type": "number", "example": 25.940001 }, "description": "The frames per second of the outgoing video." }, "mediaBitRate": { "type": "array", "items": { "type": "number" }, "description": "The bit rate of the outgoing video." }, "codec": { "type": "string", "example": "H.264 BP", "description": "The outgoing video codec." }, "jitter": { "type": "array", "items": { "type": "number" }, "description": "The outgoing video jitter." }, "transportType": { "type": "string", "enum": [ "UDP", "TCP" ], "description": "The network protocol used for video transmission." } } }, "AudioIn": { "type": "object", "properties": { "samplingInterval": { "type": "number", "example": 60, "description": "The sampling interval, in seconds, of the downstream audio quality data." }, "startTime": { "type": "string", "example": "2020-04-10T17:00:00.000Z", "description": "The date and time when this audio session started." }, "endTime": { "type": "string", "example": "2020-04-10T18:00:00.000Z", "description": "The date and time when this audio session ended." }, "packetLoss": { "type": "array", "items": { "type": "number" }, "description": "The percentage of audio packet loss, as a float between 0.0 and 100.0, during each sampling interval." }, "latency": { "type": "array", "items": { "type": "number" }, "description": "The average latency, in milliseconds, during each sampling interval." }, "resolutionHeight": { "type": "array", "items": { "type": "number" }, "description": "Not applicable to audio." }, "frameRate": { "type": "array", "items": { "type": "number", "example": 25.940001 }, "description": "Not applicable to audio." }, "mediaBitRate": { "type": "array", "items": { "type": "number" }, "description": "The bitrate of the incoming audio." }, "codec": { "type": "string", "example": "Opus", "description": "The codec of the incoming audio." }, "jitter": { "type": "array", "items": { "type": "number" }, "description": "The incoming audio jitter." }, "transportType": { "type": "string", "enum": [ "UDP", "TCP" ], "description": "The network protocol used for video transmission." } } }, "AudioOut": { "type": "object", "properties": { "samplingInterval": { "type": "number", "example": 60, "description": "The sampling interval, in seconds, of the upstream audio quality data." }, "startTime": { "type": "string", "example": "2020-04-10T17:00:00.000Z", "description": "The date and time when this audio session started." }, "endTime": { "type": "string", "example": "2020-04-10T18:00:00.000Z", "description": "The date and time when this audio session ended." }, "packetLoss": { "type": "array", "items": { "type": "number" }, "description": "The percentage of audio packet loss, as a float between 0.0 and 100.0, during each sampling interval." }, "latency": { "type": "array", "items": { "type": "number" }, "description": "The average latency, in milliseconds, during each sampling interval." }, "resolutionHeight": { "type": "array", "items": { "type": "number" }, "description": "Not applicable to audio out." }, "frameRate": { "type": "array", "items": { "type": "number", "example": 25.940001 }, "description": "Not applicable to audio out." }, "mediaBitRate": { "type": "array", "items": { "type": "number" }, "description": "The bit rate of the outgoing audio." }, "codec": { "type": "string", "example": "Opus", "description": "The audio codec." }, "jitter": { "type": "array", "items": { "type": "number" }, "description": "The outgoing audio jitter." }, "transportType": { "type": "string", "enum": [ "UDP", "TCP" ], "description": "The network protocol used for video transmission." } } }, "ShareIn": { "type": "object", "properties": { "samplingInterval": { "type": "number", "example": 60, "description": "The sampling interval, in seconds, of the downstream content sharing data." }, "startTime": { "type": "string", "example": "2020-04-10T17:00:00.000Z", "description": "The date and time when this content sharing session started." }, "endTime": { "type": "string", "example": "2020-04-10T18:00:00.000Z", "description": "The date and time when this content sharing session ended." }, "packetLoss": { "type": "array", "items": { "type": "number" }, "description": "The percentage of content sharing packet loss, as a float between 0.0 and 100.0, during each sampling interval." }, "latency": { "type": "array", "items": { "type": "number" }, "description": "The average latency, in milliseconds, during each sampling interval." }, "resolutionHeight": { "type": "array", "items": { "type": "number" }, "description": "The height in pixels of the incoming share video." }, "frameRate": { "type": "array", "items": { "type": "number", "example": 25.940001 }, "description": "The frame rate of the incoming share video." }, "mediaBitRate": { "type": "array", "items": { "type": "number" }, "description": "The bit rate for the incoming share video." }, "codec": { "type": "string", "example": "H.264 BP", "description": "The codec for the incoming share video." }, "jitter": { "type": "array", "items": { "type": "number" }, "description": "The jitter for the incoming share video." }, "transportType": { "type": "string", "enum": [ "UDP", "TCP" ], "description": "The network protocol used for video transmission." } } }, "ShareOut": { "type": "object", "properties": { "samplingInterval": { "type": "number", "example": 60, "description": "The sampling interval, in seconds, of the upstream content sharing data." }, "startTime": { "type": "string", "example": "2020-04-10T17:00:00.000Z", "description": "The date and time when this content sharing session started." }, "endTime": { "type": "string", "example": "2020-04-10T18:00:00.000Z", "description": "The date and time when this content sharing session ended." }, "packetLoss": { "type": "array", "items": { "type": "number" }, "description": "The percentage of content sharing packet loss, in float between 0.0 and 100.0, during each sampling interval." }, "latency": { "type": "array", "items": { "type": "number" }, "description": "The average latency, in milliseconds, during each sampling interval." }, "resolutionHeight": { "type": "array", "items": { "type": "number" }, "description": "The height in pixels of the outgoing share video." }, "frameRate": { "type": "array", "items": { "type": "number", "example": 25.940001 }, "description": "The frame rate of the outgoing share video." }, "mediaBitRate": { "type": "array", "items": { "type": "number" }, "description": "The bit rate of the outgoing share video." }, "codec": { "type": "string", "example": "H.264 BP", "description": "The codec of the outgoing share video." }, "jitter": { "type": "array", "items": { "type": "number" }, "description": "The jitter for the outgoing share video." }, "transportType": { "type": "string", "enum": [ "UDP", "TCP" ], "description": "The network protocol used for video transmission." } } }, "Resources": { "type": "object", "properties": { "processAverageCPU": { "type": "array", "items": { "type": "number" }, "description": "The average percent CPU for the process." }, "processMaxCPU": { "type": "array", "items": { "type": "number" }, "description": "The max percent CPU for the process." }, "systemAverageCPU": { "type": "array", "items": { "type": "number" }, "description": "The average percent CPU for the system." }, "systemMaxCPU": { "type": "array", "items": { "type": "number" }, "description": "The max percent CPU for the system." } } }, "Report": { "type": "object", "properties": { "id": { "type": "string", "example": "Y2lzY29zcGFyazovL3VzL1BFT1BMRS9mYzhjMWFhMS00OTM5LTQ2NjEtODAwMy1hYWE0MzFmZWM0ZmE", "description": "Unique identifier for the report." }, "title": { "type": "string", "example": "Bots Activity", "description": "Name of the template to which this report belongs." }, "service": { "type": "string", "example": "Teams", "description": "The service to which the report belongs." }, "startDate": { "type": "string", "example": "2020-02-23", "description": "The data in this report belongs to dates greater than or equal to this." }, "endDate": { "type": "string", "example": "2020-03-24", "description": "The data in this report belongs to dates smaller than or equal to this." }, "siteList": { "type": "string", "example": "cisco.webex.com", "description": "The site to which this report belongs to. This only exists if the report belongs to service `Webex`." }, "created": { "type": "string", "example": "2020-03-24 17:13:39", "description": "Time of creation for this report." }, "createdBy": { "type": "string", "example": "Y2lzY29zcGFyazovL3VzL1BFT1BMRS9mYzhjMWFhMS00OTM5LTQ2NjEtODAwMy1hYWE0MzFmZWM0ZmE", "description": "The person who created the report." }, "scheduledFrom": { "type": "string", "example": "API", "description": "Whether this report was scheduled from API or Control Hub." }, "status": { "type": "string", "example": "done", "description": "Completion status of this report." }, "downloadURL": { "type": "string", "example": "https://downloadservicebts.webex.com/api?reportId=Y2lzY29zcGFyazovL3VzL1JFUE9SVC9hZDBkMjA1NzVkYTA0NWE0OGZhZDQ3ZDk3NGFiNDFmMg", "description": "The link from which the report can be downloaded." } } }, "ReportCollectionResponse": { "type": "object", "properties": { "Report Attributes": { "type": "array", "items": { "$ref": "#/components/schemas/Report" }, "description": "An array of report objects." } } }, "Template": { "type": "object", "properties": { "templateId": { "type": "string", "example": "130", "description": "Unique identifier representing a report." }, "title": { "type": "string", "example": "Calling Usage", "description": "Name of the template." }, "service": { "type": "string", "example": "Teams", "description": "The service to which the report belongs." }, "category": { "type": "string", "example": "Partner", "description": "Generated reports belong to which category." }, "maxDays": { "type": "number", "example": 31, "description": "Maximum date range for reports belonging to this template." }, "dataStartDate": { "type": "string", "example": "2024-01-01", "description": "Start date of the data in the reports belonging to this template." }, "dataEndDate": { "type": "string", "example": "2024-01-31", "description": "End date of the data in the reports belonging to this template." } } }, "TemplateCollectionResponse": { "type": "object", "properties": { "Template Collection": { "type": "array", "items": { "$ref": "#/components/schemas/Template" }, "description": "An array of template objects." } } }, "Person": { "type": "object", "properties": { "id": { "type": "string", "example": "Y2lzY29zcGFyazovL3VzL1BFT1BMRS9mNWIzNjE4Ny1jOGRkLTQ3MjctOGIyZi1mOWM0NDdmMjkwNDY", "description": "A unique identifier for the person." }, "emails": { "type": "array", "items": { "type": "string", "example": "john.andersen@example.com" }, "description": "The email addresses of the person." }, "phoneNumbers": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "work", "work_extension", "mobile", "fax" ], "description": "The type of phone number.\n * `work` - Work phone number of the person.\n * `work_extension` - Work extension of the person. For the Webex Calling person, the value will have a routing prefix along with the extension.\n * `mobile` - Mobile number of the person.\n * `fax` - FAX number of the person.\n" }, "value": { "type": "string", "example": "+1 408 526 7209", "description": "The phone number." }, "primary": { "type": "boolean", "example": true, "description": "Primary number for the person." } } }, "description": "Phone numbers for the person." }, "extension": { "type": "string", "example": "133", "description": "The Webex Calling extension for the person. Only applies to a person with a Webex Calling license." }, "locationId": { "type": "string", "example": "Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzYzNzE1", "description": "The ID of the location for this person retrieved from BroadCloud." }, "displayName": { "type": "string", "example": "John Andersen", "description": "The full name of the person." }, "nickName": { "type": "string", "example": "John", "description": "The nickname of the person if configured. If no nickname is configured for the person, this field will not be present." }, "firstName": { "type": "string", "example": "John", "description": "The first name of the person." }, "lastName": { "type": "string", "example": "Andersen", "description": "The last name of the person." }, "avatar": { "type": "string", "example": "https://1efa7a94ed21783e352-c62266528714497a17239ececf39e9e2.ssl.cf1.rackcdn.com/V1~54c844c89e678e5a7b16a306bc2897b9~wx29yGtlTpilEFlYzqPKag==~1600", "description": "The URL to the person's avatar in PNG format." }, "orgId": { "type": "string", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "description": "The ID of the organization to which this person belongs." }, "roles": { "type": "array", "items": { "type": "string", "example": "Y2lzY29zcGFyazovL3VzL1JPTEUvOTZhYmMyYWEtM2RjYy0xMWU1LWExNTItZmUzNDgxOWNkYzlh,Y2lzY29zcGFyazovL3VzL1JPTEUvOTZhYmMyYWEtM2RjYy0xMWU1LWIyNjMtMGY0NTkyYWRlZmFi" }, "description": "An array of role strings representing the roles to which this admin user belongs." }, "licenses": { "type": "array", "items": { "type": "string", "example": "Y2lzY29zcGFyazovL3VzL0xJQ0VOU0UvOTZhYmMyYWEtM2RjYy0xMWU1LWExNTItZmUzNDgxOWNkYzlh,Y2lzY29zcGFyazovL3VzL0xJQ0VOU0UvOTZhYmMyYWEtM2RjYy0xMWU1LWIyNjMtMGY0NTkyYWRlZmFi" }, "description": "An array of license strings allocated to this person." }, "department": { "type": "string", "example": "Sales", "description": "The business department the user belongs to." }, "manager": { "type": "string", "example": "John Duarte", "description": "A manager identifier." }, "managerId": { "type": "string", "example": "Y2lzY29zcGFyazovL3VzL1BFT1BMRS80ZGEzYTI0OC05YjBhLTQxMDgtODU0NC1iNTQwMzEyZTU2M2E", "description": "Person ID of the manager." }, "title": { "type": "string", "example": "GM", "description": "The person's title." }, "addresses": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "example": "work", "description": "The type of address." }, "country": { "type": "string", "example": "US", "description": "The user's country." }, "locality": { "type": "string", "example": "Milpitas", "description": "The user's locality, often city." }, "region": { "type": "string", "example": "California", "description": "The user's region, often state." }, "streetAddress": { "type": "string", "example": "1099 Bird Ave.", "description": "The user's street." }, "postalCode": { "type": "string", "example": "99212", "description": "The user's postal or zip code." } } }, "description": "A person's addresses." }, "created": { "type": "string", "example": "2015-10-18T14:26:16.000Z", "description": "The date and time the person was created." }, "lastModified": { "type": "string", "example": "2015-10-18T14:26:16.000Z", "description": "The date and time the person was last changed." }, "timezone": { "type": "string", "example": "America/Denver", "description": "The time zone of the person if configured. If no timezone is configured on the account, this field will not be present." }, "lastActivity": { "type": "string", "example": "2015-10-18T14:26:16.028Z", "description": "The date and time of the person's last activity within Webex. This will only be returned for people within your organization or an organization you manage. Presence information will not be shown if the authenticated user has [disabled status sharing](https://help.webex.com/nkzs6wl/)." }, "siteUrls": { "type": "array", "items": { "type": "string", "example": "mysite.webex.com#attendee" }, "description": "One or several site names where this user has a role (host or attendee)." }, "sipAddresses": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "personal-room", "enterprise", "cloud-calling" ], "description": "The type of SIP address.\n * `personal-room` - Personal room address.\n * `enterprise` - Enterprise address.\n * `cloud-calling` - Cloud calling address.\n" }, "value": { "type": "string", "example": "testuser5@mycompany.webex.com", "description": "The SIP address." }, "primary": { "type": "boolean", "description": "Primary SIP address of the person." } } }, "description": "The user's SIP addresses. Read-only." }, "xmppFederationJid": { "type": "string", "example": "user@example.com", "description": "Identifier for intra-domain federation with other XMPP based messenger systems." }, "status": { "type": "string", "enum": [ "active", "call", "DoNotDisturb", "inactive", "meeting", "OutOfOffice", "pending", "presenting", "unknown" ], "description": "The current presence status of the person. This will only be returned for people within your organization or an organization you manage. Presence information will not be shown if the authenticated user has [disabled status sharing](https://help.webex.com/nkzs6wl/). Presence status is different from Control Hub's \"Last Service Access Time\" which indicates the last time an oAuth token was issued for this user.\n * `active` - Active within the last 10 minutes.\n * `call` - The user is in a call.\n * `DoNotDisturb` - The user has manually set their status to \"Do Not Disturb\".\n * `inactive` - Last activity occurred more than 10 minutes ago.\n * `meeting` - The user is in a meeting.\n * `OutOfOffice` - The user or a Hybrid Calendar service has indicated that they are \"Out of Office\".\n * `pending` - The user has never logged in; a status cannot be determined.\n * `presenting` - The user is sharing content.\n * `unknown` - The user’s status could not be determined.\n" }, "invitePending": { "type": "string", "enum": [ "true", "false" ], "description": "Whether or not an invite is pending for the user to complete account activation. This property is only returned if the authenticated user is an admin user for the person's organization.\n * `true` - The person has been invited to Webex but has not created an account.\n * `false` - An invite is not pending for this person.\n" }, "loginEnabled": { "type": "string", "enum": [ "true", "false" ], "description": "Whether or not the user is allowed to use Webex. This property is only returned if the authenticated user is an admin user for the person's organization.\n * `true` - The person _can_ log into Webex.\n * `false` - The person _cannot_ log into Webex.\n" }, "type": { "type": "string", "enum": [ "person", "bot", "appuser" ], "description": "The type of person account, such as person or bot.\n * `person` - Account belongs to a person.\n * `bot` - Account is a bot user.\n * `appuser` - Account is a [guest user](/docs/guest-issuer).\n" } } }, "PersonCollectionResponse": { "type": "object", "properties": { "items": { "type": "array", "items": { "$ref": "#/components/schemas/Person" }, "description": "An array of person objects." }, "notFoundIds": { "type": "array", "items": { "type": "string" }, "description": "An array of person IDs that could not be found." } } }, "RecordingReportSummaryObject": { "type": "object", "properties": { "recordingId": { "type": "string", "example": "4f914b1dfe3c4d11a61730f18c0f5387", "description": "A unique identifier for the recording." }, "topic": { "type": "string", "example": "John's Meeting", "description": "The recording's topic." }, "timeRecorded": { "type": "string", "example": "2019-01-27T17:40:20Z", "description": "The date and time the recording started in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) compliant format. the time is the record button was clicked in the meeting." }, "siteUrl": { "type": "string", "example": "site4-example.webex.com", "description": "Site URL for the recording." }, "hostEmail": { "type": "string", "example": "john.andersen@example.com", "description": "Email address for the meeting host." }, "viewCount": { "type": "number", "example": 7, "description": "The number of times the recording was viewed." }, "downloadCount": { "type": "number", "example": 20, "description": "The number of times the recording was downloaded." } } }, "RecordingReportObject": { "type": "object", "properties": { "recordingId": { "type": "string", "example": "4f914b1dfe3c4d11a61730f18c0f5387", "description": "A unique identifier for the recording." }, "topic": { "type": "string", "example": "John's Meeting", "description": "The recording's topic." }, "name": { "type": "string", "example": "John Andersen", "description": "The name of the person who accessed the recording." }, "email": { "type": "string", "example": "john.andersen@example.com", "description": "The email address of the person who accessed the recording." }, "accessTime": { "type": "string", "example": "2019-01-27T17:40:20Z", "description": "The date and time the recording was accessed in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) compliant format." }, "viewed": { "type": "boolean", "example": true, "description": "Whether or not the recording was viewed by the person." }, "downloaded": { "type": "boolean", "example": true, "description": "Whether or not the recording was downloaded by the person." } } }, "RecordingAchriveSummaryObject": { "type": "object", "properties": { "archiveId": { "type": "string", "example": "7d7ea5f42b921eace05386ca24ad730e_R_1000634462", "description": "A unique identifier for the meeting archive summary." }, "serviceType": { "type": "string", "enum": [ "MeetingCenter", "EventCenter", "TrainingCenter", "SupportCenter" ], "description": "Recording achrive summary's service-type." }, "title": { "type": "string", "example": "John's Meeting", "description": "Meeting title." }, "createTime": { "type": "string", "example": "2019-01-27T17:43:24Z", "description": "The date and time in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) compliant format that when the archive was created by the system." } } }, "RecordingArchiveReportObject": { "type": "object", "properties": { "archiveId": { "type": "string", "example": "7d7ea5f42b921eace05386ca24ad730e_R_1000634462", "description": "A unique identifier for the meeting archive summary." }, "serviceType": { "type": "string", "enum": [ "MeetingCenter", "EventCenter", "TrainingCenter", "SupportCenter" ], "description": "Recording achrive report's service-type." }, "title": { "type": "string", "example": "John's Meeting", "description": "Meeting title." }, "start": { "type": "string", "example": "2019-03-18T11:26:30Z", "description": "Start time for meeting in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) compliant format." }, "end": { "type": "string", "example": "2019-03-18T12:26:30Z", "description": "End time for a meeting in ISO 8601 compliant format." }, "hostDisplayName": { "type": "string", "example": "John Andersen", "description": "Display name for the meeting host." }, "hostEmail": { "type": "string", "example": "john.andersen@example.com", "description": "Email address for the meeting host." }, "participants": { "type": "array", "items": { "$ref": "#/components/schemas/MeetingRecordingArchiveParticipant" }, "description": "The participants of the meeting archive." }, "chats": { "type": "array", "items": { "$ref": "#/components/schemas/MeetingRecordingArchiveChat" }, "description": "The chats of the meeting archive." }, "polls": { "type": "array", "items": { "$ref": "#/components/schemas/MeetingRecordingArchivePoll" }, "description": "The polls of the meeting archive." }, "qas": { "type": "array", "items": { "$ref": "#/components/schemas/MeetingRecordingArchiveQA" }, "description": "Meeting meeting archive's Q and A." }, "systemInfos": { "type": "array", "items": { "$ref": "#/components/schemas/MeetingRecordingArchiveSystemInfo" }, "description": "The system Information of the meeting archive, which can be only supported when serviceType is `SupportCenter`." } } }, "MeetingRecordingArchiveParticipant": { "type": "object", "properties": { "correlationId": { "type": "number", "example": 28208023, "description": "An internal ID that is associated with each join." }, "displayName": { "type": "string", "example": "John Andersen", "description": "Display name for the meeting participant." }, "joinedTime": { "type": "string", "example": "2022-07-20T07:01:31Z", "description": "The time the participant joined the meeting." }, "leftTime": { "type": "string", "example": "2022-07-20T07:01:31Z", "description": "The time the participant left the meeting." }, "email": { "type": "string", "example": "john.andersen@example.com", "description": "Email address for the meeting participant." } } }, "MeetingRecordingArchiveChat": { "type": "object", "properties": { "type": { "type": "string", "example": "private", "description": "Whether the type of the chat is private, public or group. Private chat is for the 1:1 chat. Public chat is for the message which is sent to all the people in the meeting. Group chat is for the message which is sent to a small group of people, like a message to the \"host and presenter\"." }, "senderName": { "type": "string", "example": "John Andersen", "description": "Display name for the sender of the chat snippet." }, "chatTime": { "type": "string", "example": "2021-07-06T09:22:34Z", "description": "Chat time for the chat snippet in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) compliant format." }, "target": { "type": "string", "example": "All Participants", "description": "Information of the receivers of the chat snippet." }, "text": { "type": "string", "example": "It's nice to meet you", "description": "The text of the chat snippet." } } }, "MeetingRecordingArchivePoll": { "type": "object", "properties": { "type": { "type": "string", "example": "single", "description": "The type of the question." }, "startTime": { "type": "string", "example": "2021-07-06T09:25:34Z", "description": "The date and time the poll started in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) compliant format." }, "endTime": { "type": "string", "example": "2021-07-06T09:28:34Z", "description": "The date and time the poll ended in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) compliant format." }, "content": { "type": "object", "properties": { "questionCount": { "type": "number", "example": 10, "description": "The total number of questions." }, "userCount": { "type": "number", "example": 10, "description": "The total number of users." }, "votedUserCount": { "type": "number", "example": 3, "description": "The number of voters among users." }, "questions": { "type": "array", "items": { "$ref": "#/components/schemas/MeetingRecordingArchivePollQuestion" }, "description": "Poll's questions." } }, "description": "The content of the meeting archive poll;" } } }, "MeetingRecordingArchivePollQuestion": { "type": "object", "properties": { "voteUsers": { "type": "array", "items": { "$ref": "#/components/schemas/MeetingRecordingArchiveUser" }, "description": "The voters among users." }, "question": { "type": "object", "properties": { "choiceCount": { "type": "number", "example": 3, "description": "The number of choices in the questions." }, "type": { "type": "string", "example": "single", "description": "The type of the question." }, "text": { "type": "string", "example": "Do you like this API?", "description": "The text of the question." } }, "description": "The poll's question." }, "answerSummary": { "type": "array", "items": { "$ref": "#/components/schemas/MeetingRecordingArchivePollAnswerSummary" }, "description": "The answer summary of the archive poll." }, "respondents": { "type": "array", "items": { "$ref": "#/components/schemas/MeetingRecordingArchivePollRespondent" }, "description": "The question's respondents." } } }, "MeetingRecordingArchiveUser": { "type": "object", "properties": { "correlationId": { "type": "number", "example": 28208023, "description": "An internal ID that is associated with each join." }, "displayName": { "type": "string", "example": "John Andersen", "description": "Display name for the meeting participant." }, "email": { "type": "string", "example": "john.andersen@example.com", "description": "Email address for the meeting participant." } } }, "MeetingRecordingArchivePollAnswerSummary": { "type": "object", "properties": { "totalRespondents": { "type": "number", "example": 10, "description": "The total number of people who selected this answer." }, "isCorrect": { "type": "boolean", "example": true, "description": "Whether the answer is correct." }, "text": { "type": "string", "example": "Yes, I do.", "description": "The text of the answer." }, "voteUsers": { "type": "array", "items": { "$ref": "#/components/schemas/MeetingRecordingArchiveUser" }, "description": "The voters among users." } } }, "MeetingRecordingArchivePollRespondent": { "type": "object", "properties": { "correlationId": { "type": "number", "example": 28208023, "description": "An internal ID that is associated with the respondent's each join." }, "displayName": { "type": "string", "example": "Alex Green", "description": "Display name for the poll respondent." }, "email": { "type": "string", "example": "alex.green@example.com", "description": "Email address for the poll respondent." }, "answers": { "type": "array", "items": { "type": "string" }, "description": "An array of answers to the question." } } }, "MeetingRecordingArchiveQA": { "type": "object", "properties": { "priority": { "type": "string", "example": "NA", "description": "The priority of the Q and A." }, "type": { "type": "string", "example": "private", "description": "Whether the type of the Q and A is private, public, or group. Private Q and A is for the 1:1 chat. Public Q and A are for the message which is sent to all the people in the meeting. Group Q and A are for the message which is sent to a small group of people, like a Q and A to \"host and presenter\"." }, "displayName": { "type": "string", "example": "john.andersen@example.com`", "description": "The email of the user who asked the question." }, "questionTime": { "type": "string", "example": "2021-07-06T09:22:34Z", "description": "The date and time the question was created in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) compliant format." }, "target": { "type": "string", "example": "All Participants", "description": "Information of the user who asked the question." }, "question": { "type": "string", "example": "Are you ok?", "description": "The question that was asked." }, "answers": { "type": "array", "items": { "$ref": "#/components/schemas/MeetingRecordingArchiveQAAnswer" }, "description": "Question's answers." } } }, "MeetingRecordingArchiveQAAnswer": { "type": "object", "properties": { "responseMode": { "type": "string", "example": "private", "description": "The answer's response mode." }, "displayName": { "type": "string", "example": "John Andersen", "description": "The name of the person who answered the question." }, "correlationId": { "type": "number", "example": 10947662, "description": "An internal ID that is associated with the answer's each join." }, "email": { "type": "string", "example": "alex.green@example.com", "description": "The email of the person who answered the question." }, "answerTime": { "type": "string", "example": "2021-07-06T09:52:34Z", "description": "The date and time the question answered in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) compliant format." }, "text": { "type": "string", "example": "Yes, I am.", "description": "The text of the answer." } } }, "MeetingRecordingArchiveSystemInfo": { "type": "object", "properties": { "displayName": { "type": "string", "example": "John Andersen", "description": "The name of the person who accessed the meeting archive." }, "catalogs": { "type": "array", "items": { "$ref": "#/components/schemas/SystemInfoCatalog" }, "description": "The catalogs of system information." } } }, "SystemInfoCatalog": { "type": "object", "properties": { "systemSummary": { "type": "string", "example": "User Name: John{*}Operating System: Mac OS X 12.6{*}User Home Directory: /Users/John{*}Date and Time: Tue Oct 18 10:38:17 CST 2022{*}", "description": "System summary." }, "browser": { "type": "string", "example": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36", "description": "The browser user agent of the person who acted." }, "hardware": { "type": "string", "example": "mac book", "description": "The type of hardware that the user used to attend the meeting." }, "installedSoftware": { "type": "string", "example": "webex", "description": "The software that the user used to attend the meeting." }, "runningSoftware": { "type": "string", "example": "webex", "description": "The software the user used that is running." }, "startupPrograms": { "type": "string", "example": "Macintosh HD", "description": "Startup Programs." }, "storage": { "type": "string", "example": "16 GB 2667 MHz DDR4", "description": "The storage information of the user's device." }, "video": { "type": "string", "example": "AirPlay", "description": "The video of the user's device." }, "network": { "type": "string", "example": "Wi-Fi", "description": "The network of the user's device." }, "operatingSystem": { "type": "string", "example": "Mac OS X 10.0", "description": "The operating system of the user's device." }, "environmentVariables": { "type": "string", "example": "/usr/local/bin:$PATH", "description": "The environment variables of the user's device." }, "processes": { "type": "string", "example": "2.6 GHz 6-Core Intel Core i7", "description": "The processes of the user's device." }, "logicalDrives": { "type": "string", "example": "webapp", "description": "The logical drives of the user's device." }, "devices": { "type": "string", "example": "device1", "description": "The device of the user." }, "services": { "type": "string", "example": "Firewall", "description": "The service of the user's device." }, "systemDrivers": { "type": "string", "example": "32drivers", "description": "The system driver of the user's device." }, "signedDrivers": { "type": "string", "example": "32drivers", "description": "The sign driver system of the user's device." }, "eventViewer": { "type": "string", "example": "Screen Sharing", "description": "The event viewer of the user's device." }, "bios": { "type": "string", "example": "AwardBIOS", "description": "The basic input and output system." } } }, "RecordingObject": { "type": "object", "required": [ "id", "meetingId", "topic", "createTime", "timeRecorded", "siteUrl", "downloadUrl", "playbackUrl", "password", "format", "serviceType", "durationSeconds", "sizeBytes", "shareToMe", "status" ], "properties": { "id": { "type": "string", "example": "4f914b1dfe3c4d11a61730f18c0f5387", "description": "A unique identifier for the recording." }, "meetingId": { "type": "string", "example": "f91b6edce9864428af084977b7c68291_I_166641849979635652", "description": "Unique identifier for the recording's ended meeting instance." }, "scheduledMeetingId": { "type": "string", "example": "f91b6edce9864428af084977b7c68291_I_166641849979635652", "description": "Unique identifier for the recording's scheduled meeting instance." }, "meetingSeriesId": { "type": "string", "example": "f91b6edce9864428af084977b7c68291", "description": "Unique identifier for the recording's meeting series." }, "topic": { "type": "string", "example": "John's Meeting", "description": "The recording's topic." }, "createTime": { "type": "string", "example": "2019-01-27T17:43:24Z", "description": "The date and time recording was created in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) compliant format. Please note that it's not the time the record button was clicked in meeting but the time the recording file was generated offline." }, "timeRecorded": { "type": "string", "example": "2019-01-27T17:40:20Z", "description": "The date and time recording started in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) compliant format. It indicates when the record button was clicked in the meeting." }, "siteUrl": { "type": "string", "example": "site4-example.webex.com", "description": "Site URL for the recording." }, "downloadUrl": { "type": "string", "example": "https://site4-example.webex.com/site4/lsr.php?RCID=60b864cc80aa5b44fc9769c8305b98b7", "description": "The download link for recording. This attribute is not available if **Prevent downloading** has been turned on for the recording being requested. The **Prevent downloading** option can be viewed and set by a site admin on [Control Hub](https://help.webex.com/en-us/article/sxdj4ab/Manage-Security-for-a-Cisco-Webex-Site-in-Cisco-Webex-Control-Hub)." }, "playbackUrl": { "type": "string", "example": "https://site4-example.webex.com/site4/ldr.php?RCID=7a8a476b29a32cd1e06dfa6c81970f19", "description": "The playback link for recording." }, "password": { "type": "string", "example": "********", "description": "The recording's password." }, "format": { "type": "string", "enum": [ "MP4", "ARF", "UPLOADED" ], "description": " * `MP4` - Recording file format is MP4.\n * `ARF` - Recording file format is ARF, a proprietary Webex recording format.\n * `UPLOADED` - The recording file is uploaded manually.\n" }, "serviceType": { "type": "string", "enum": [ "MeetingCenter", "EventCenter", "TrainingCenter", "SupportCenter" ], "description": "The service type for the recording.\n * `MeetingCenter` - The service type for the recording is meeting.\n * `EventCenter` - The service type for the recording is the event.\n * `TrainingCenter` - The service type for the recording is the training session.\n * `SupportCenter` - The service type for the recording is the support meeting.\n" }, "durationSeconds": { "type": "number", "example": 4472, "description": "The duration of the recording, in seconds." }, "sizeBytes": { "type": "number", "example": 248023188, "description": "The size of the recording file, in bytes." }, "shareToMe": { "type": "boolean", "description": "Whether or not the recording has been shared to the current user. This attribute is hidden if the user calling the API is a Compliance Officer and `hostEmail` is not specified." }, "integrationTags": { "type": "array", "items": { "type": "string" }, "description": "External keys of the parent meeting created by an integration application. They could be Zendesk ticket IDs, Jira IDs, Salesforce Opportunity IDs, etc. The integration application queries recordings by a key in its own domain." }, "status": { "type": "string", "enum": [ "available", "deleted", "purged" ], "description": " * `available` - Recording is available.\n * `deleted` - Recording has been moved into recycle bin.\n * `purged` - Recording has been purged from the recycle bin. Only applies if the user calling the API is a Compliance Officer and `meetingId` is specified.\n" } } }, "RecordingObjectForAdminAndCO": { "type": "object", "required": [ "id", "meetingId", "topic", "createTime", "timeRecorded", "hostDisplayName", "hostEmail", "siteUrl", "downloadUrl", "playbackUrl", "format", "serviceType", "durationSeconds", "sizeBytes", "status" ], "properties": { "id": { "type": "string", "example": "4f914b1dfe3c4d11a61730f18c0f5387", "description": "A unique identifier for the recording." }, "meetingId": { "type": "string", "example": "f91b6edce9864428af084977b7c68291_I_166641849979635652", "description": "Unique identifier for the recording's ended meeting instance." }, "scheduledMeetingId": { "type": "string", "example": "f91b6edce9864428af084977b7c68291_I_166641849979635652", "description": "Unique identifier for the recording's scheduled meeting instance." }, "meetingSeriesId": { "type": "string", "example": "f91b6edce9864428af084977b7c68291", "description": "Unique identifier for the recording's meeting series." }, "topic": { "type": "string", "example": "John's Meeting", "description": "The recording's topic." }, "createTime": { "type": "string", "example": "2019-01-27T17:43:24Z", "description": "The date and time recording was created in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) compliant format. Please note that it's not the time the record button was clicked in meeting but the time the recording file was generated offline." }, "timeRecorded": { "type": "string", "example": "2019-01-27T17:40:20Z", "description": "The date and time recording started in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) compliant format. It indicates when the record button was clicked in the meeting." }, "hostDisplayName": { "type": "string", "example": "John Andersen", "description": "Display name for the meeting host." }, "hostEmail": { "type": "string", "example": "john.andersen@example.com", "description": "Email address for the meeting host." }, "siteUrl": { "type": "string", "example": "site4-example.webex.com", "description": "Site URL for the recording." }, "downloadUrl": { "type": "string", "example": "https://site4-example.webex.com/site4/lsr.php?RCID=60b864cc80aa5b44fc9769c8305b98b7", "description": "The download link for recording. This attribute is not available if **Prevent downloading** has been turned on for the recording being requested. The **Prevent downloading** option can be viewed and set by a site admin on [Control Hub](https://help.webex.com/en-us/article/sxdj4ab/Manage-Security-for-a-Cisco-Webex-Site-in-Cisco-Webex-Control-Hub)." }, "playbackUrl": { "type": "string", "example": "https://site4-example.webex.com/site4/ldr.php?RCID=7a8a476b29a32cd1e06dfa6c81970f19", "description": "The playback link for recording." }, "format": { "type": "string", "enum": [ "MP4", "ARF", "UPLOADED" ], "description": " * `MP4` - Recording file format is MP4.\n * `ARF` - Recording file format is ARF, a proprietary Webex recording format.\n * `UPLOADED` - The recording file is uploaded manually.\n" }, "serviceType": { "type": "string", "enum": [ "MeetingCenter", "EventCenter", "TrainingCenter", "SupportCenter" ], "description": "The service type for the recording.\n * `MeetingCenter` - The service type for the recording is meeting.\n * `EventCenter` - The service type for the recording is the event.\n * `TrainingCenter` - The service type for the recording is the training session.\n * `SupportCenter` - The service type for the recording is the support meeting.\n" }, "durationSeconds": { "type": "number", "example": 4472, "description": "The duration of the recording, in seconds." }, "sizeBytes": { "type": "number", "example": 248023188, "description": "The size of the recording file, in bytes." }, "integrationTags": { "type": "array", "items": { "type": "string" }, "description": "External keys of the parent meeting created by an integration application. They could be Zendesk ticket IDs, Jira IDs, Salesforce Opportunity IDs, etc. The integration application queries recordings by a key in its own domain." }, "status": { "type": "string", "enum": [ "available", "deleted", "purged" ], "description": " * `available` - Recording is available.\n * `deleted` - Recording has been moved into recycle bin.\n * `purged` - Recording has been purged from the recycle bin. Please note that only a compliance officer can access recordings with a `purged` status.\n" } } }, "RecordingObjectWithDirectDownloadLinks": { "type": "object", "required": [ "id", "meetingId", "topic", "createTime", "timeRecorded", "siteUrl", "downloadUrl", "playbackUrl", "password", "format", "serviceType", "durationSeconds", "sizeBytes", "shareToMe", "status" ], "properties": { "id": { "type": "string", "example": "7ee40776779243b4b3da448d941b34dc", "description": "A unique identifier for recording." }, "meetingId": { "type": "string", "example": "f91b6edce9864428af084977b7c68291_I_166641849979635652", "description": "Unique identifier for the recording's ended meeting instance." }, "scheduledMeetingId": { "type": "string", "example": "f91b6edce9864428af084977b7c68291_I_166641849979635652", "description": "Unique identifier for the recording's scheduled meeting instance." }, "meetingSeriesId": { "type": "string", "example": "f91b6edce9864428af084977b7c68291", "description": "Unique identifier for the recording's meeting series." }, "topic": { "type": "string", "example": "John's Meeting", "description": "The recording's topic." }, "createTime": { "type": "string", "example": "2019-01-27T17:43:24Z", "description": "The date and time recording was created in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) compliant format. Please note that it's not the time the record button was clicked in meeting but the time the recording file was generated offline." }, "timeRecorded": { "type": "string", "example": "2019-01-27T17:40:20Z", "description": "The date and time recording started in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) compliant format. It indicates when the record button was clicked in the meeting." }, "siteUrl": { "type": "string", "example": "site4-example.webex.com", "description": "Site URL for the recording." }, "downloadUrl": { "type": "string", "example": "https://site4-example.webex.com/site4/lsr.php?RCID=60b864cc80aa5b44fc9769c8305b98b7", "description": "The download link for the recording. This attribute is not available if `prevent downloading` has been turned on for the recording being requested. The `prevent downloading` option can be viewed and set on page when editing a recording." }, "playbackUrl": { "type": "string", "example": "https://site4-example.webex.com/site4/ldr.php?RCID=7a8a476b29a32cd1e06dfa6c81970f19", "description": "The playback link for recording." }, "password": { "type": "string", "example": "********", "description": "The recording's password." }, "format": { "type": "string", "enum": [ "MP4", "ARF", "UPLOADED" ], "description": " * `MP4` - Recording file format is MP4.\n * `ARF` - Recording file format is ARF, a proprietary Webex recording format.\n * `UPLOADED` - The recording file is uploaded manually.\n" }, "serviceType": { "type": "string", "enum": [ "MeetingCenter", "EventCenter", "TrainingCenter", "SupportCenter" ], "description": " * `MeetingCenter` - The service type for the recording is meeting.\n * `EventCenter` - The service type for the recording is the event.\n * `TrainingCenter` - The service type for the recording is the training session.\n * `SupportCenter` - The service type for the recording is the support meeting.\n" }, "durationSeconds": { "type": "number", "example": 4472, "description": "The duration of the recording in seconds." }, "sizeBytes": { "type": "number", "example": 248023188, "description": "The size of the recording file in bytes." }, "shareToMe": { "type": "boolean", "description": "Whether or not the recording has been shared to the current user." }, "temporaryDirectDownloadLinks": { "type": "object", "properties": { "recordingDownloadLink": { "type": "string", "description": "The download link for recording MP4/ARF file without HTML page rendering in browser or HTTP redirect. Expires 3 hours after the API request." }, "audioDownloadLink": { "type": "string", "description": "The download link for recording audio file without HTML page rendering in browser or HTTP redirect. This attribute is not available if **Prevent Downloading** has been turned on for the recording being requested. Expires 3 hours after the API request." }, "transcriptDownloadLink": { "type": "string", "description": "The download link for recording transcript file without HTML page rendering in browser or HTTP redirect. This attribute is not available if **Prevent Downloading** has been turned on for the recording being requested. Expires 3 hours after the API request." }, "expiration": { "type": "string", "description": "The date and time when `recordingDownloadLink`, `audioDownloadLink`, and `transcriptDownloadLink` expire in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) compliant format." } }, "description": "The download links for MP4/ARF, audio, and transcript of the recording without HTML page rendering in browser or HTTP redirect. This attribute is not available if the user is not a [Compliance Officer](/docs/compliance#compliance) and **Prevent Downloading** has been turned on for the recording being requested. The Prevent Downloading option can be viewed and set on page when editing a recording. Note that there are various products in [Webex Suite](https://www.cisco.com/c/en/us/products/conferencing/product_comparison.html) such as \"Webex Meetings\", \"Webex Training\" and \"Webex Events\"." }, "integrationTags": { "type": "array", "items": { "type": "string" }, "description": "External keys of the parent meeting created by an integration application. The key can be Zendesk ticket IDs, Jira IDs, Salesforce Opportunity IDs, etc. The integration application queries recordings by a key in its own domain." }, "status": { "type": "string", "enum": [ "available", "deleted", "purged" ], "description": " * `available` - Recording is available.\n * `deleted` - Recording has been moved to the recycle bin.\n * `purged` - Recording has been purged from the recycle bin. Please note that only a compliance officer can access recordings with a `purged` status.\n" } } }, "DeleteRecordingObject": { "type": "object", "properties": { "reason": { "type": "string", "example": "audit", "description": "Reason for deleting a recording. Only required when a Compliance Officer is operating on another user's recording." }, "comment": { "type": "string", "example": "Maintain data privacy", "description": "Compliance Officer's explanation for deleting a recording. The comment can be a maximum of 255 characters long." } } }, "BulkSoftDeleteRecordingObject": { "type": "object", "required": [ "recordingIds" ], "properties": { "recordingIds": { "type": "array", "items": { "type": "string" }, "description": "Recording IDs for removing recordings into the recycle bin in batch. Please note that all the recording IDs should belong to the site of `siteUrl` or the user's preferred site if `siteUrl` is not specified." }, "siteUrl": { "type": "string", "example": "example.webex.com", "description": "URL of the Webex site from which the API deletes recordings. If not specified, the API deletes recordings from the user's preferred site. All available Webex sites and preferred sites of a user can be retrieved by the [Get Site List](/docs/api/v1/meeting-preferences/get-site-list) API." } } }, "BulkRestoreRecordingObject": { "type": "object", "properties": { "restoreAll": { "type": "boolean", "description": "If not specified or `false`, restores the recordings specified by `recordingIds`. If `true`, restores all recordings from the recycle bin." }, "recordingIds": { "type": "array", "items": { "type": "string" }, "description": "Recording IDs for recovering recordings from the recycle bin in batch. Note that all the recording IDs should belong to the site of `siteUrl` or the user's preferred site if `siteUrl` is not specified." }, "siteUrl": { "type": "string", "example": "example.webex.com", "description": "URL of the Webex site from which the API restores recordings. If not specified, the API restores recordings from a user's preferred site. All available Webex sites and preferred sites of a user can be retrieved by [Get Site List](/docs/api/v1/meeting-preferences/get-site-list) API." } } }, "BulkPurgeRecordingObject": { "type": "object", "properties": { "purgeAll": { "type": "boolean", "description": "If not specified or `false`, purges the recordings specified by `recordingIds`. If `true`, purges all recordings from the recycle bin." }, "recordingIds": { "type": "array", "items": { "type": "string" }, "description": "Recording IDs for purging recordings from the recycle bin in batch. Note that all the recording IDs should belong to the site of `siteUrl` or the user's preferred site if `siteUrl` is not specified." }, "siteUrl": { "type": "string", "example": "example.webex.com", "description": "URL of the Webex site from which the API purges recordings. If not specified, the API purges recordings from user's preferred site. All available Webex sites and preferred sites of the user can be retrieved by [Get Site List](/docs/api/v1/meeting-preferences/get-site-list) API." } } }, "ShareRecordingByIdObject": { "type": "object", "properties": { "hostEmail": { "type": "string", "example": "john.andersen@example.com", "description": "Email address for the meeting host. This attribute should only be set if the user or application calling the API has the admin-level scopes. When used, the admin may specify the email of a user in a site they manage to be the meeting host. The field is not editable and is only used to share or unshare a recording on behalf of the real meeting host." }, "addEmails": { "type": "array", "items": { "type": "string" }, "description": "Email addresses of users to share the recording with. The maximum size of the array is `100`." }, "removeEmails": { "type": "array", "items": { "type": "string" }, "description": "Email addresses of users to unshare the recording with. The maximum size of the array is `100`." }, "sendEmail": { "type": "boolean", "description": "Whether to send email notifications to the users being shared. The default is `true`." } } }, "ShareRecordingByLinkObject": { "type": "object", "properties": { "hostEmail": { "type": "string", "example": "john.andersen@example.com", "description": "Email address for the meeting host. This attribute should only be set if the user or application calling the API has the admin-level scopes. When used, the admin may specify the email of a user in a site they manage to be the meeting host. The field is not editable and is only used to share or unshare a recording link on behalf of the real meeting host." }, "webShareLink": { "type": "string", "example": "https://example.webex.com/recordingservice/sites/example/recording/playback/1234567890abcdef1234567890abcdef", "description": "The link for the recording to be shared or unshared." }, "addEmails": { "type": "array", "items": { "type": "string" }, "description": "Email addresses of users to share the recording link with. The maximum size of the array is `100`." }, "removeEmails": { "type": "array", "items": { "type": "string" }, "description": "Email addresses of users to unshare the recording link with. The maximum size of the array is `100`." }, "sendEmail": { "type": "boolean", "description": "Whether to send email notifications to the users being shared. The default is `true`." } } }, "Webhook": { "type": "object", "properties": { "id": { "type": "string", "example": "Y2lzY29zcGFyazovL3VzL1dFQkhPT0svOTZhYmMyYWEtM2RjYy0xMWU1LWExNTItZmUzNDgxOWNkYzlh", "description": "A unique identifier for the webhook." }, "name": { "type": "string", "example": "My Awesome Webhook", "description": "A user-friendly name for the webhook." }, "targetUrl": { "type": "string", "example": "https://example.com/mywebhook", "description": "URL that receives POST requests for each event." }, "resource": { "type": "string", "enum": [ "attachmentActions", "dataSources", "memberships", "messages", "rooms", "meetings", "recordings", "convergedRecordings", "meetingParticipants", "meetingTranscripts", "telephony_calls", "telephony_conference", "telephony_mwi", "uc_counters", "serviceApp", "adminBatchJobs" ], "description": "Resource type for the webhook. Creating a webhook requires 'read' scope on the resource the webhook is for.\n * `attachmentActions` - [Attachment Actions](/docs/api/v1/attachment-actions) resource.\n * `dataSources` - [data sources](/docs/api/v1/data-sources) resource.\n * `memberships` - [Memberships](/docs/api/v1/memberships) resource.\n * `messages` - [Messages](/docs/api/v1/messages) resource.\n * `rooms` - [Rooms](/docs/api/v1/rooms) resource.\n * `meetings` - [Meetings](/docs/api/v1/meetings) resource.\n * `recordings` - [Recordings](/docs/api/v1/recordings) resource.\n * `convergedRecordings` - [CallRecordings](/docs/api/v1/converged-recordings) resource.\n * `meetingParticipants` - [Meeting Participants](/docs/api/v1/meeting-participants) resource.\n * `meetingTranscripts` - [Meeting Transcripts](/docs/api/v1/meeting-transcripts) resource.\n * `telephony_calls` - [Webex Calling](/docs/webex-calling-overview) call resources.\n * `telephony_conference` - [Webex Calling](/docs/webex-calling-overview) conference controls resource.\n * `telephony_mwi` - [Webex Calling](/docs/webex-calling-overview) voicemail message waiting indicator resource.\n * `uc_counters` - Performance counter for a dedicated instance.\n * `serviceApp` - Service App authorization notification.\n * `adminBatchJobs` - Admin Batch Jobs notification.\n" }, "event": { "type": "string", "enum": [ "created", "updated", "deleted", "started", "ended", "joined", "left", "migrated", "authorized", "deauthorized", "statusChanged" ], "description": "Event type for the webhook.\n * `created` - An object was created.\n * `updated` - An object was updated.\n * `deleted` - An object was deleted.\n * `started` - A meeting was started.\n * `ended` - A meeting was ended.\n * `joined` - A participant joined.\n * `left` - A participant left.\n * `migrated` - A room was migrated to a different geography. The roomId has changed.\n * `authorized` - A Service App was authorized.\n * `deauthorized` - A Service App was deauthorized.\n * `statusChanged` - Status of admin batch job was changed.\n" }, "filter": { "type": "string", "example": "roomId=Y2lzY29zcGFyazovL3VzL1JPT00vYmJjZWIxYWQtNDNmMS0zYjU4LTkxNDctZjE0YmIwYzRkMTU0", "description": "Filter that defines the webhook scope." }, "secret": { "type": "string", "example": "86dacc007724d8ea666f88fc77d918dad9537a15", "description": "Secret used to generate payload signature." }, "status": { "type": "string", "enum": [ "active", "inactive" ], "description": "Status of the webhook. Use `active` to reactivate a disabled webhook.\n * `active` - Webhook is active.\n * `inactive` - Webhook is inactive.\n" }, "created": { "type": "string", "example": "2015-10-18T14:26:16+00:00", "description": "Date and time the webhook was created." }, "ownedBy": { "type": "string", "example": "org", "description": "Specify `org` when creating an org/admin level webhook. Supported for `meetings`, `recordings`, `convergedRecordings`, `meetingParticipants`, `meetingTranscripts`, `videoMeshAlerts`, `controlHubAlerts`, `rooms`, `messaging` and `adminBatchJobs` (for Compliance Officers and messages with file attachments only - see [inline file DLP](/docs/api/guides/webex-real-time-file-dlp-basics)) resources." } } }, "WebhookCollectionResponse": { "type": "object", "properties": { "items": { "type": "array", "items": { "$ref": "#/components/schemas/Webhook" } } } }, "WorkspaceLocationsCreationRequest": { "type": "object", "required": [ "displayName", "address", "countryCode", "latitude", "longitude" ], "properties": { "displayName": { "type": "string", "example": "Cisco Barcelona", "description": "A friendly name for the location." }, "address": { "type": "string", "example": "Carrer de Pere IV, Barcelona, Spain", "description": "The location address." }, "countryCode": { "type": "string", "example": "ES", "description": "The location country code (ISO 3166-1)." }, "cityName": { "type": "string", "example": "Barcelona", "description": "The location city name." }, "latitude": { "type": "number", "example": 41.406615, "description": "The location latitude." }, "longitude": { "type": "number", "example": 2.200717, "description": "The location longitude." }, "notes": { "type": "string", "example": "A note about the location", "description": "Notes associated with the location." } } }, "WorkspaceLocationsUpdateRequest": { "type": "object", "required": [ "displayName", "address", "countryCode", "latitude", "longitude" ], "properties": { "id": { "type": "string", "example": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMV9pbnQxMy9XT1JLU1BBQ0VfTE9DQVRJT04vM2E2ZmYzNzMtNjhhNy00NGU0LTkxZDYtYTI3NDYwZTBhYzVjIzUxOWY2N2E1LTlkOTktNGM2My04YTA5LWI5MTcxY2M2NmJkMQ==", "description": "Unique identifier for the location." }, "displayName": { "type": "string", "example": "Cisco Barcelona", "description": "A friendly name for the location." }, "address": { "type": "string", "example": "Carrer de Pere IV, Barcelona, Spain", "description": "The location address." }, "countryCode": { "type": "string", "example": "ES", "description": "The location country code (ISO 3166-1)." }, "cityName": { "type": "string", "example": "Barcelona", "description": "The location city name." }, "latitude": { "type": "number", "example": 41.406615, "description": "The location latitude." }, "longitude": { "type": "number", "example": 2.200717, "description": "The location longitude." }, "notes": { "type": "string", "example": "A note about the location", "description": "Notes associated with the location." } } }, "WorkspaceLocationsCollectionResponse": { "type": "object", "properties": { "items": { "type": "array", "items": { "$ref": "#/components/schemas/Location" }, "description": "An array of location objects." } } }, "WorkspaceLocationFloorsCreationRequest": { "type": "object", "required": [ "floorNumber" ], "properties": { "floorNumber": { "type": "number", "example": -1, "description": "The floor number." }, "displayName": { "type": "string", "example": "The basement", "description": "The floor display name." } } }, "WorkspaceLocationFloorsUpdateRequest": { "type": "object", "required": [ "floorNumber" ], "properties": { "floorNumber": { "type": "number", "example": 1, "description": "The floor number." }, "displayName": { "type": "string", "example": "My custom name", "description": "The floor display name." } } }, "WorkspaceLocationFloorsCollectionResponse": { "type": "object", "properties": { "items": { "type": "array", "items": { "$ref": "#/components/schemas/Floor" }, "description": "An array of floor objects." } } }, "WorkspaceMetricsResponse": { "type": "object", "required": [ "workspaceId", "metricName" ], "properties": { "workspaceId": { "type": "string", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE" }, "metricName": { "type": "string", "enum": [ "soundLevel", "ambientNoise", "temperature", "humidity", "tvoc", "peopleCount" ] }, "aggregation": { "type": "string", "enum": [ "none", "hourly", "daily" ] }, "from": { "type": "string", "example": "2020-10-21T13:33:37.789Z" }, "to": { "type": "string", "example": "2020-10-31T16:00:00.532Z" }, "unit": { "type": "string", "enum": [ "celsius", "fahrenheit" ], "description": "Output data unit (only present if `metricName` is `temperature`)." }, "sortBy": { "type": "string", "enum": [ "newestFirst", "oldestFirst" ] }, "items": { "type": "array", "items": {}, "description": "The structure of the elements will depend on whether or not aggregated data was requested" } } }, "DurationMetric": { "type": "object", "properties": { "start": { "type": "string", "example": "2021-10-21T12:00:00Z", "description": "Timestamp indicating the start of the aggregation bucket (ISO 8601)." }, "end": { "type": "string", "example": "2021-10-21T13:00:00Z", "description": "Timestamp indicating the end of the aggregation bucket (ISO 8601)." }, "duration": { "type": "number", "example": 13, "description": "The time duration (in a given state) in the bucket." } } }, "WorkspaceDurationMetricsResponse": { "type": "object", "required": [ "workspaceId" ], "properties": { "workspaceId": { "type": "string", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE" }, "aggregation": { "type": "string", "enum": [ "hourly", "daily" ] }, "measurement": { "type": "string", "enum": [ "timeUsed", "timeBooked" ] }, "from": { "type": "string", "example": "2020-10-21T13:33:37.789Z" }, "to": { "type": "string", "example": "2020-10-31T16:00:00.532Z" }, "unit": { "type": "string", "example": "minutes", "description": "The time unit." }, "items": { "type": "array", "items": { "$ref": "#/components/schemas/DurationMetric" } } } }, "WorkspaceIssue": { "type": "object", "properties": { "id": { "type": "string", "description": "Issue id." }, "createdAt": { "type": "string", "description": "Issue created timestamp." }, "title": { "type": "string", "description": "Issue title." }, "description": { "type": "string", "description": "Issue description." }, "recommendedAction": { "type": "string", "description": "Recommended action to mitigate issue." }, "level": { "type": "object", "properties": { "Members": { "type": "string", "enum": [ "error", "warning", "info" ] } }, "description": "Issue level." } } }, "Workspace": { "type": "object", "properties": { "id": { "type": "string", "example": "Y2lzY29zcGFyazovL3VzL1BMQUNFUy81MTAxQjA3Qi00RjhGLTRFRjctQjU2NS1EQjE5QzdCNzIzRjc", "description": "Unique identifier for the Workspace." }, "orgId": { "type": "string", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi8xZWI2NWZkZi05NjQzLTQxN2YtOTk3NC1hZDcyY2FlMGUxMGY", "description": "`OrgId` associated with the workspace." }, "locationId": { "type": "string", "example": "Y2lzY29...", "description": "Location associated with the workspace (ID to use for the [/locations API](/docs/api/v1/locations))." }, "workspaceLocationId": { "type": "string", "example": "YL34GrT...", "description": "Legacy workspace location ID associated with the workspace. Prefer `locationId`." }, "floorId": { "type": "string", "example": "Y2lzY29z...", "description": "Floor associated with the workspace." }, "displayName": { "type": "string", "example": "SFO-12 Capanina", "description": "A friendly name for the workspace." }, "capacity": { "type": "number", "example": 5, "description": "How many people the workspace is suitable for." }, "type": { "type": "string", "enum": [ "notSet", "focus", "huddle", "meetingRoom", "open", "desk", "other" ], "description": "The workspace type.\n * `notSet` - No workspace type set.\n * `focus` - High concentration.\n * `huddle` - Brainstorm/collaboration.\n * `meetingRoom` - Dedicated meeting space.\n * `open` - Unstructured agile.\n * `desk` - Individual.\n * `other` - Unspecified.\n" }, "sipAddress": { "type": "string", "example": "test_workspace_1@trialorg.room.ciscospark.com", "description": "`SipUrl` to call all the devices associated with the workspace." }, "created": { "type": "string", "example": "2016-04-21T17:00:00.000Z", "description": "The date and time that the workspace was registered, in ISO8601 format." }, "calling": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "freeCalling", "hybridCalling", "webexCalling", "webexEdgeForDevices", "thirdPartySipCalling", "none" ], "description": "Calling.\n * `freeCalling` - Free Calling.\n * `hybridCalling` - Hybrid Calling.\n * `webexCalling` - Webex Calling.\n * `webexEdgeForDevices` - Webex Edge For Devices.\n * `thirdPartySipCalling` - Third-party SIP URI.\n * `none` - No Calling.\n" }, "hybridCalling": { "type": "object", "properties": { "emailAddress": { "type": "string", "example": "workspace@example.com", "description": "End user email address in Cisco Unified CM." } }, "description": "The `hybridCalling` object only applies when calling type is `hybridCalling`." }, "webexCalling": { "type": "object", "properties": { "licenses": { "type": "array", "items": { "type": "string", "example": "Y2lzY29g4..." }, "description": "The Webex Calling license associated with this workspace." } }, "description": "The `webexCalling` object only applies when calling type is `webexCalling`." } }, "description": "Calling type." }, "calendar": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "none", "google", "microsoft" ], "description": " * `none` - No calendar.\n * `google` - Google Calendar.\n * `microsoft` - Microsoft Exchange or Office 365.\n" }, "emailAddress": { "type": "string", "example": "workspace@example.com", "description": "Workspace email address. Will not be set when the calendar type is `none`." } }, "description": "Calendar type. Calendar of type `none` does not include an `emailAddress` field." }, "notes": { "type": "string", "example": "this is a note", "description": "Notes associated to the workspace." }, "hotdeskingStatus": { "type": "string", "enum": [ "on", "off" ], "description": "Hot desking status of the workspace.\n * `on` - Workspace supports hotdesking.\n * `off` - Workspace does not support hotdesking.\n" }, "supportedDevices": { "type": "string", "enum": [ "collaborationDevices", "phones" ], "description": "The supported devices for the workspace. Default is `collaborationDevices`.\n * `collaborationDevices` - Workspace supports collaboration devices.\n * `phones` - Workspace supports MPP phones.\n" }, "deviceHostedMeetings": { "type": "object", "properties": { "enabled": { "type": "boolean", "example": true, "description": "`true` if enabled or `false` otherwise." }, "siteUrl": { "type": "string", "example": "'example.webex.com'", "description": "The Webex site for the device hosting meetings." } }, "description": "Device hosted meetings configuration." }, "devicePlatform": { "type": "string", "enum": [ "cisco", "microsoftTeamsRoom" ], "description": "The device platform.\n * `cisco` - Cisco.\n * `microsoftTeamsRoom` - Microsoft Teams Room.\n" }, "indoorNavigation": { "type": "object", "properties": { "url": { "type": "string", "description": "URL of a map locating the workspace." } }, "description": "Indoor navigation configuration." }, "health": { "type": "object", "properties": { "level": { "type": "string", "enum": [ "error", "warning", "info", "ok" ], "description": "Health level. The level is based on the list of issues associated with the workspace." }, "issues": { "type": "array", "items": { "$ref": "#/components/schemas/WorkspaceIssue" }, "description": "A list of workspace issues." } }, "description": "The health of the workspace." }, "devices": { "type": "array", "items": { "$ref": "#/components/schemas/Device" }, "description": "A list of devices associated with the workspace." }, "capabilities": { "type": "array", "items": { "$ref": "#/components/schemas/CapabilityMap" }, "description": "The map of workspace capabilities." }, "plannedMaintenance": { "type": "object", "description": "The planned maintenance for the workspace.", "properties": { "mode": { "type": "string", "enum": [ "off", "on", "upcoming" ], "description": "The planned maintenance mode for the workspace" }, "startTime": { "type": "string", "example": "2026-10-01T00:00:00.000Z", "description": "The start of the planned maintenance period." }, "endTime": { "type": "string", "example": "2026-10-02T00:00:00.000Z", "description": "The end of the planned maintenance period." } } } }, "example": { "id": "Y2lzY29zcGFyazovL3VzL1BMQUNFUy81MTAxQjA3Qi00RjhGLTRFRjctQjU2NS1EQjE5QzdCNzIzRjc", "orgId": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi8xZWI2NWZkZi05NjQzLTQxN2YtOTk3NC1hZDcyY2FlMGUxMGY", "locationId": "YL34GrT...", "workspaceLocationId": "YL34GrT...", "floorId": "Y2lzY29z...", "displayName": "SFO-12 Capanina", "capacity": 5, "sipAddress": "" } }, "WorkspaceCreationRequest": { "type": "object", "required": [ "displayName" ], "properties": { "displayName": { "type": "string", "example": "SFO-12 Capanina", "description": "A friendly name for the workspace." }, "orgId": { "type": "string", "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi8xZWI2NWZkZi05NjQzLTQxN2YtOTk3NC1hZDcyY2FlMGUxMGY", "description": "`OrgId` associated with the workspace. Only admin users of another organization (such as partners) may use this parameter." }, "locationId": { "type": "string", "example": "YL34GrT...", "description": "Location associated with the workspace. Must be provided when the `floorId` is set." }, "workspaceLocationId": { "type": "string", "example": "YL34GrT...", "description": "Legacy workspace location ID associated with the workspace. Prefer `locationId`." }, "floorId": { "type": "string", "example": "Y2lzY29z...", "description": "Floor associated with the workspace." }, "capacity": { "type": "number", "example": 5, "description": "How many people the workspace is suitable for. If set, must be 0 or higher." }, "type": { "type": "string", "enum": [ "notSet", "focus", "huddle", "meetingRoom", "open", "desk", "other" ], "description": "The type that best describes the workspace.\n * `notSet` - No workspace type set.\n * `focus` - High concentration.\n * `huddle` - Brainstorm/collaboration.\n * `meetingRoom` - Dedicated meeting space.\n * `open` - Unstructured agile.\n * `desk` - Individual.\n * `other` - Unspecified.\n" }, "sipAddress": { "type": "string", "description": "The `sipAddress` field can only be provided when calling type is `thirdPartySipCalling`." }, "calling": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "freeCalling", "hybridCalling", "webexCalling", "webexEdgeForDevices", "thirdPartySipCalling", "none" ], "description": "The calling type that is supported on the workspace.\n * `freeCalling` - Free Calling (Default).\n * `hybridCalling` - Hybrid Calling.\n * `webexCalling` - Webex Calling.\n * `webexEdgeForDevices` - Webex Edge For Devices.\n * `thirdPartySipCalling` - Third-party SIP URI.\n * `none` - No Calling.\n" }, "webexCalling": { "type": "object", "properties": { "phoneNumber": { "type": "string", "example": "+12145654032", "description": "End user phone number." }, "extension": { "type": "string", "example": "28278", "description": "End user extension." }, "locationId": { "type": "string", "example": "Y2lzY29g4...", "description": "Calling location ID." }, "licenses": { "type": "array", "items": { "type": "string", "example": "Y2lzY29g4...1,Y2lzY29g4...2,Y2lzY29g4...n" }, "description": "A list of Webex Calling License IDs. If multiple license IDs are provided, the oldest suitable one will be applied." } }, "description": "The `webexCalling` object only applies when calling type is `webexCalling`." } }, "description": "Calling." }, "calendar": { "type": "object", "properties": { "type": { "type": "string", "example": "microsoft" }, "emailAddress": { "type": "string", "example": "workspace@example.com", "description": "Workspace email address. Will not be set when the calendar type is `none`." }, "resourceGroupId": { "type": "string", "example": "Y2lzY29zcGFyazovL3VybjpURUFNOk5vcndheS9SRVNPVVJDRV9HUk9VUC9jOGFiMDJhNC01NjI5LTRiNTctOGUyNy03ZDZkZjJlN2YzNzA=", "description": "The `ResourceGroup` ID is associated with the workspace and is only applicable for on-premise MICROSOFT calendar." } }, "description": "Workspace calendar configuration requires a `type` (`microsoft`, `google`, or `none`), an `emailAddress`, and a `resourceGroupId`. The default is `none`." }, "notes": { "type": "string", "example": "this is a note", "description": "Notes associated to the workspace." }, "hotdeskingStatus": { "type": "string", "enum": [ "on", "off" ], "description": "Hot desking status of the workspace.\n * `on` - Workspace supports hotdesking.\n * `off` - Workspace does not support hotdesking.\n" }, "deviceHostedMeetings": { "type": "object", "properties": { "enabled": { "type": "boolean", "example": true, "description": "Set to `true` to enable or `false` to disable." }, "siteUrl": { "type": "string", "example": "'example.webex.com'", "description": "The Webex site for device hosting meetings." } }, "description": "To enable device hosted meetings, set a Webex `siteUrl` and the `enabled` flag to `true`." }, "supportedDevices": { "type": "string", "enum": [ "collaborationDevices", "phones" ], "description": "The supported devices for the workspace. Default is `collaborationDevices`.\n * `collaborationDevices` - Workspace supports collaboration devices.\n * `phones` - Workspace supports MPP phones.\n" }, "indoorNavigation": { "type": "object", "properties": { "url": { "type": "string", "description": "URL of a map locating the workspace." } }, "description": "Indoor navigation configuration." } } }, "WorkspaceUpdateRequest": { "type": "object", "properties": { "displayName": { "type": "string", "example": "SFO-12 Capanina", "description": "A friendly name for the workspace." }, "locationId": { "type": "string", "example": "YL34GrT...", "description": "Location associated with the workspace. Must be provided when the `floorId` is set." }, "workspaceLocationId": { "type": "string", "example": "YL34GrT...", "description": "Legacy workspace location ID associated with the workspace. Prefer `locationId`." }, "floorId": { "type": "string", "example": "Y2lzY29z...", "description": "Floor associated with the workspace." }, "capacity": { "type": "number", "example": 5, "description": "How many people the workspace is suitable for. If set, must be 0 or higher." }, "type": { "type": "string", "enum": [ "notSet", "focus", "huddle", "meetingRoom", "open", "desk", "other" ], "description": "The type that best describes the workspace.\n * `notSet` - No workspace type set.\n * `focus` - High concentration.\n * `huddle` - Brainstorm/collaboration.\n * `meetingRoom` - Dedicated meeting space.\n * `open` - Unstructured agile.\n * `desk` - Individual.\n * `other` - Unspecified.\n" }, "calendar": { "type": "object", "properties": { "type": { "type": "string", "example": "microsoft" }, "emailAddress": { "type": "string", "example": "workspace@example.com", "description": "Workspace email address. Will not be set when the calendar type is `none`." }, "resourceGroupId": { "type": "string", "example": "Y2lzY29zcGFyazovL3VybjpURUFNOk5vcndheS9SRVNPVVJDRV9HUk9VUC9jOGFiMDJhNC01NjI5LTRiNTctOGUyNy03ZDZkZjJlN2YzNzA=", "description": "The `ResourceGroup` ID is associated with the workspace and is only applicable for on-premise MICROSOFT calendar." } }, "description": "An empty or null `calendar` field will not cause any changes. Provide a `type` (`microsoft`, `google`, or `none`), an `emailAddress`, and a `resourceGroupId`. To remove a calendar, set the `type` to `none`; this does not require an `emailAddress` or `resourceGroupId`." }, "sipAddress": { "type": "string", "description": "The `sipAddress` field can only be provided when calling type is `thirdPartySipCalling`." }, "calling": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "freeCalling", "hybridCalling", "webexCalling", "webexEdgeForDevices", "thirdPartySipCalling", "none" ], "description": "The calling type that is supported on the workspace.\n * `freeCalling` - Free Calling (Default).\n * `hybridCalling` - Hybrid Calling.\n * `webexCalling` - Webex Calling.\n * `webexEdgeForDevices` - Webex Edge For Devices.\n * `thirdPartySipCalling` - Third-party SIP URI.\n * `none` - No Calling.\n" }, "webexCalling": { "type": "object", "properties": { "phoneNumber": { "type": "string", "example": "+12145654032", "description": "End user phone number." }, "extension": { "type": "string", "example": "28278", "description": "End user extension." }, "locationId": { "type": "string", "example": "Y2lzY29g4...", "description": "Calling location ID." }, "licenses": { "type": "array", "items": { "type": "string", "example": "Y2lzY29g4...1,Y2lzY29g4...2,Y2lzY29g4...n" }, "description": "A list of Webex Calling license IDs. If multiple license IDs are provided, the oldest suitable one will be applied." } }, "description": "The `webexCalling` object only applies when calling type is `webexCalling`." } }, "description": "Calling types supported on update are `freeCalling`, `thirdPartySipCalling`, `webexCalling` and `none`." }, "notes": { "type": "string", "example": "this is a note", "description": "Notes associated to the workspace." }, "hotdeskingStatus": { "type": "string", "enum": [ "on", "off" ], "description": "Hot desking status of the workspace.\n * `on` - Workspace supports hotdesking.\n * `off` - Workspace does not support hotdesking.\n" }, "deviceHostedMeetings": { "type": "object", "properties": { "enabled": { "type": "boolean", "example": true, "description": "Set to `true` to enable or `false` to disable." }, "siteUrl": { "type": "string", "example": "'example.webex.com'", "description": "The Webex site for device hosting meetings." } }, "description": "To enable device hosted meetings, set a Webex `siteUrl` and the `enabled` flag to `true`." }, "indoorNavigation": { "type": "object", "properties": { "url": { "type": "string", "description": "URL of a map locating the workspace. Passing `null` will remove the configuration." } }, "description": "Indoor navigation configuration." } } }, "WorkspaceCollectionResponse": { "type": "object", "properties": { "items": { "type": "array", "items": { "$ref": "#/components/schemas/Workspace" }, "description": "An array of workspace objects." } }, "example": { "items": [] } }, "CapabilityResponse": { "type": "object", "example": { "capabilities": { "occupancyDetection": { "supported": true, "configured": true }, "presenceDetection": { "supported": true, "configured": true }, "ambientNoise": { "supported": true, "configured": true }, "soundLevel": { "supported": true, "configured": true }, "temperature": { "supported": true, "configured": true }, "airQuality": { "supported": true, "configured": true }, "relativeHumidity": { "supported": true, "configured": true } } }, "properties": { "capabilities": { "$ref": "#/components/schemas/CapabilityMap" } } }, "CapabilityMap": { "type": "object", "description": "The map of workspace capabilities.", "example": { "occupancyDetection": { "supported": true, "configured": true }, "presenceDetection": { "supported": true, "configured": true }, "ambientNoise": { "supported": true, "configured": true }, "soundLevel": { "supported": true, "configured": true }, "temperature": { "supported": true, "configured": true }, "airQuality": { "supported": true, "configured": true }, "relativeHumidity": { "supported": true, "configured": true } }, "properties": { "occupancyDetection": { "$ref": "#/components/schemas/SupportAndConfiguredInfo" }, "presenceDetection": { "$ref": "#/components/schemas/SupportAndConfiguredInfo" }, "ambientNoise": { "$ref": "#/components/schemas/SupportAndConfiguredInfo" }, "soundLevel": { "$ref": "#/components/schemas/SupportAndConfiguredInfo" }, "temperature": { "$ref": "#/components/schemas/SupportAndConfiguredInfo" }, "airQuality": { "$ref": "#/components/schemas/SupportAndConfiguredInfo" }, "relativeHumidity": { "$ref": "#/components/schemas/SupportAndConfiguredInfo" } } }, "SupportAndConfiguredInfo": { "type": "object", "properties": { "supported": { "type": "boolean", "example": true, "description": "Is the workspace capability supported or not." }, "configured": { "type": "boolean", "example": true, "description": "Is the workspace capability configured or not." } }, "description": "Support and configured information for a workspace capability.", "example": { "supported": true, "configured": true } }, "DeviceConfigurationCollectionResponse": { "type": "object", "required": [ "deviceId" ], "properties": { "deviceId": { "type": "string", "example": "Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMl9hL0RFVklDRS9hNmYwYjhkMi01ZjdkLTQzZDItODAyNi0zM2JkNDg3NjYzMTg=", "description": "ID of the device that the configurations are for." }, "items": { "$ref": "#/components/schemas/DeviceConfiguration" } } }, "DeviceConfiguration": { "type": "object", "properties": { "configuration_key": { "type": "object", "properties": { "source": { "type": "string", "enum": [ "default", "configured" ], "description": "The source of the current value that is applied to the device.\n * `default` - Current value comes from the schema default.\n * `configured` - Current value comes from configuredValue.\n" }, "sources": { "type": "object", "properties": { "default": { "type": "object", "properties": { "editability": { "type": "object", "properties": { "isEditable": { "type": "boolean", "description": "Whether or not the value is editable on this source (always `false` for `default`)." }, "reason": { "type": "string", "example": "FACTORY_DEFAULT", "description": "The reason value is not editable on this source (always `FACTORY_DEFAULT` for `default`)." } } } } }, "configured": { "type": "object", "properties": { "editability": { "type": "object", "properties": { "isEditable": { "type": "boolean", "example": true, "description": "Whether or not the value is editable on this source." }, "reason": { "type": "string", "enum": [ "NOT_AUTHORIZED", "CONFIG_MANAGED_BY_DIFFERENT_AUTHORITY" ], "description": "The reason the value is not editable on this source.\n * `NOT_AUTHORIZED` - User is not authorized to edit any values.\n * `CONFIG_MANAGED_BY_DIFFERENT_AUTHORITY` - The configuration is managed by a different authority. For example `CUCM`.\n" } } } } } } }, "valueSpace": { "type": "object", "properties": {}, "description": "[JSON Schema](http://json-schema.org/) describing the data format of the configuration as specified by the device." } }, "description": "Key of the configuration." } } }, "WorkspacePersonalizationRequest": { "type": "object", "required": [ "email" ], "properties": { "email": { "type": "string", "example": "julie@example.com", "description": "The user that the device will become personalised for." } } }, "WorkspacePersonalizationTaskResponse": { "type": "object", "required": [ "success" ], "properties": { "success": { "type": "boolean", "description": "Describes if the personalization was successful." }, "errorDescription": { "type": "string", "example": "Device is offline", "description": "A description of the error will be provided if the personalization was not successful." } } } }, "securitySchemes": { "oauth2": { "flows": { "authorizationCode": { "authorizationUrl": "/", "scopes": {}, "tokenUrl": "/" } }, "type": "oauth2" }, "bearer-key": { "type": "http", "description": "e.g. Bearer YOUR_AUTHORIZATION_TOKEN", "scheme": "bearer", "bearerFormat": "JWT" } }, "parameters": {}, "responses": {}, "requestBodies": {} } }